.portal-register-button{background:var(--coral);color:var(--white);white-space:nowrap}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(330px,.72fr) minmax(620px,1.28fr);background:var(--white)}.auth-intro{position:sticky;top:0;height:100vh;padding:52px 5vw;display:flex;flex-direction:column;justify-content:space-between;color:var(--white);background:radial-gradient(circle at 20% 12%,rgba(43,169,157,.42),transparent 28%),linear-gradient(145deg,#0b2f2e,#0f625e);overflow:hidden}.auth-intro:after{content:"";position:absolute;width:420px;height:420px;right:-180px;bottom:-160px;border:1px solid rgba(255,255,255,.15);border-radius:48% 52% 46% 54%;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.025)}.auth-intro>*{position:relative;z-index:1}.light-brand .brand-mark{background:var(--cream);color:var(--ink)}.auth-intro h1,.login-card h1,.portal-welcome h1,.admin-heading h1{margin:0;font:400 clamp(48px,5vw,76px)/.98 Georgia,serif;letter-spacing:-.045em}.auth-intro>div>p:not(.eyebrow){max-width:480px;margin:28px 0 0;font:18px/1.65 Georgia,serif;opacity:.72}.auth-intro>small{font-size:10px;letter-spacing:.11em;text-transform:uppercase;opacity:.55}.auth-panel{padding:64px clamp(30px,7vw,110px)}.auth-panel-inner{max-width:790px;margin:0 auto}.auth-step{margin:0 0 14px;color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.auth-panel h2,.login-card h1{margin:0;font:400 42px/1.08 Georgia,serif;letter-spacing:-.035em}.auth-lead{margin:15px 0 34px;color:rgba(20,60,58,.63);line-height:1.6}.auth-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin:0 0 31px;padding:25px 0 0;border:0;border-top:1px solid var(--line)}.auth-form legend{float:left;width:100%;margin:0 0 20px;font:400 20px Georgia,serif}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field>span{font-size:11px;font-weight:750}.field input,.field select{width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;outline:none}.field input:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,119,113,.11)}.field small{font-size:10px;opacity:.55}.consent{display:flex;align-items:flex-start;gap:11px;margin:8px 0 24px;font-size:11px;line-height:1.55;color:rgba(20,60,58,.68)}.consent input{margin-top:2px;accent-color:var(--teal)}.submit-button{border:0;cursor:pointer}.submit-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.form-error{color:#a53832;font-size:12px;font-weight:700}.auth-switch{margin-top:28px;font-size:12px}.auth-switch a,.back-home{color:var(--teal);font-weight:800}.notice{margin:0 0 24px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--mint);font-size:12px;line-height:1.55}.notice.warning{background:#fff4d8;color:#76591d}.notice.success{background:var(--mint)}.success-card{padding:38px;border:1px solid var(--line);border-radius:24px;background:var(--mint)}.success-card>span,.empty-state>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff;font-size:22px}.success-card h3{margin:25px 0 10px;font:30px Georgia,serif}.success-card p{max-width:570px;line-height:1.65;opacity:.68}.success-card .button{margin-top:12px}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 80% 15%,rgba(43,169,157,.4),transparent 25%),var(--ink-deep)}.login-card{width:min(500px,100%);padding:clamp(34px,6vw,62px);border-radius:30px 30px 30px 7px;background:var(--white);box-shadow:0 30px 90px rgba(0,0,0,.28)}.login-card .auth-lead{margin-bottom:28px}.login-form{display:grid;gap:18px}.login-form .submit-button{width:100%;margin-top:4px}.back-home{display:inline-block;margin-top:25px;font-size:11px}.portal-page{min-height:100vh;background:var(--cream)}.portal-header{min-height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);background:rgba(255,253,247,.93);backdrop-filter:blur(12px)}.portal-header nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700}.portal-header button{padding:10px 14px;border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--ink);cursor:pointer}.portal-content{width:min(1180px,90%);margin:0 auto;padding:72px 0 100px}.portal-welcome>p:last-child,.admin-heading>div>p:last-child{max-width:560px;line-height:1.6;opacity:.63}.status-card{margin:46px 0 26px;padding:32px;display:flex;gap:20px;align-items:flex-start;border:1px solid var(--line);border-radius:24px;background:var(--white)}.status-dot{width:13px;height:13px;margin-top:7px;flex:0 0 auto;border-radius:50%;background:#d89c34;box-shadow:0 0 0 7px rgba(216,156,52,.13)}.status-card small{text-transform:uppercase;letter-spacing:.12em;opacity:.5}.status-card h2,.profile-card h2,.services-card h2,.approval-card h2,.empty-state h2{margin:8px 0;font:400 27px Georgia,serif}.status-card p{margin:0;opacity:.65}.status-approved .status-dot{background:var(--teal);box-shadow:0 0 0 7px rgba(15,119,113,.13)}.status-rejected .status-dot,.status-suspended .status-dot{background:#b64a43;box-shadow:0 0 0 7px rgba(182,74,67,.12)}.status-card blockquote{margin:18px 0 0;padding:12px 15px;border-left:3px solid var(--coral);background:#fff6ee;font-size:12px}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.profile-card,.services-card{padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.profile-card dl{margin:22px 0 0}.profile-card dl div{display:grid;grid-template-columns:110px 1fr;gap:15px;padding:14px 0;border-top:1px solid var(--line)}.profile-card dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.5}.profile-card dd{margin:0;font-size:12px;font-weight:700}.services-card ul{margin:23px 0 0;padding:0;list-style:none}.services-card li{padding:13px 0 13px 29px;border-top:1px solid var(--line);position:relative;opacity:.48}.services-card li:before{content:"○";position:absolute;left:0}.services-card li.enabled{opacity:1}.services-card li.enabled:before{content:"✓";color:var(--teal);font-weight:900}.portal-loading{min-height:50vh;display:grid;place-items:center;opacity:.62}.admin-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.pending-count{padding:12px 17px;border-radius:99px;background:var(--mint);color:var(--teal);font-size:11px;font-weight:800;white-space:nowrap}.approval-list{display:grid;gap:18px;margin-top:40px}.approval-card{padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--white)}.approval-person{display:flex;align-items:center;gap:15px}.approval-person>span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--teal);font:24px Georgia,serif}.approval-person h2{margin:0}.approval-person p{margin:5px 0 0;font-size:11px;opacity:.58}.approval-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.approval-card dl div{padding:14px;border:1px solid var(--line);border-radius:12px}.approval-card dt{font-size:9px;text-transform:uppercase;letter-spacing:.1em;opacity:.48}.approval-card dd{margin:7px 0 0;font-size:12px;font-weight:750}.approval-actions{display:flex;justify-content:flex-end;gap:10px}.reject-button{padding:0 18px;border:1px solid rgba(182,74,67,.25);border-radius:99px;background:#fff5f4;color:#a53832;font-weight:750;cursor:pointer}.approval-actions .button{border:0;cursor:pointer}.empty-state{margin-top:42px;padding:60px 30px;text-align:center;border:1px dashed var(--line);border-radius:24px;background:rgba(255,255,255,.5)}.empty-state>span{margin:0 auto}.empty-state p{opacity:.6}
@media(max-width:1050px){.auth-page{grid-template-columns:1fr}.auth-intro{position:relative;height:auto;min-height:520px}.portal-grid{grid-template-columns:1fr}.approval-card dl{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.auth-intro{min-height:450px;padding:34px 24px}.auth-panel{padding:48px 20px}.auth-form fieldset{grid-template-columns:1fr}.field.full{grid-column:auto}.portal-header{padding:14px 20px;align-items:flex-start}.portal-header .brand small{display:none}.portal-header nav{gap:8px;flex-wrap:wrap;justify-content:flex-end}.portal-header nav a{display:none}.portal-content{width:calc(100% - 40px);padding-top:52px}.admin-heading{align-items:flex-start;flex-direction:column}.approval-card{padding:20px}.approval-person{align-items:flex-start}.approval-person p{line-height:1.5}.approval-card dl{grid-template-columns:1fr}.approval-actions{flex-direction:column-reverse}.approval-actions button{min-height:46px}.profile-card dl div{grid-template-columns:1fr}.login-card{padding:34px 24px}.login-card h1{font-size:44px}}
.auth-form legend{float:none;grid-column:1/-1;margin-bottom:2px}
.classes-section{margin:28px 0 12px;padding:34px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.classes-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:28px}.classes-heading h2{margin:0;font:400 32px Georgia,serif}.classes-heading>p{max-width:430px;margin:0;font-size:12px;line-height:1.6;opacity:.62}.class-groups{display:grid;grid-template-columns:1fr 1fr;gap:22px}.class-group{padding:25px;border-radius:18px;background:var(--cream);border:1px solid var(--line)}.class-group h3{margin:0;font:400 25px Georgia,serif}.class-group>p{margin:9px 0 20px;font-size:11px;line-height:1.55;opacity:.62}.class-sessions{display:grid;gap:9px}.class-session{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.class-session.selected{border-color:rgba(15,119,113,.38);background:var(--mint)}.class-session strong,.class-session span{display:block}.class-session strong{font-size:12px}.class-session span{margin-top:3px;font-size:10px;opacity:.58}.class-session button{min-width:113px;padding:9px 11px;border:1px solid var(--line);border-radius:99px;background:var(--ink);color:var(--white);font-size:10px;font-weight:800;cursor:pointer}.class-session.selected button{background:transparent;color:var(--teal);border-color:rgba(15,119,113,.3)}.class-session button:disabled{cursor:wait;opacity:.55}
@media(max-width:800px){.classes-heading{align-items:flex-start;flex-direction:column;gap:12px}.class-groups{grid-template-columns:1fr}.classes-section{padding:24px 18px}}
.services-card a{color:inherit;font-weight:800}.pqrs-layout{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:28px;margin-top:42px;align-items:start}.pqrs-form-card,.pqrs-card,.pqrs-admin-card{border:1px solid var(--line);border-radius:24px;background:var(--white)}.pqrs-form-card{position:sticky;top:22px;padding:30px}.pqrs-form-card h2,.pqrs-list-heading h2{margin:0;font:400 30px Georgia,serif}.pqrs-form-card>p:not(.auth-step){margin:12px 0 25px;font-size:12px;line-height:1.6;opacity:.63}.pqrs-form{display:grid;gap:17px}.pqrs-form textarea,.pqrs-manage textarea{min-height:140px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;line-height:1.5;resize:vertical;outline:none}.pqrs-form textarea:focus,.pqrs-manage textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,119,113,.11)}.pqrs-form .submit-button,.pqrs-manage .submit-button{min-height:46px;border:0;cursor:pointer}.pqrs-list-heading{margin:0 0 17px}.pqrs-list-heading .auth-step{margin-bottom:8px}.pqrs-list{min-width:0}.pqrs-card{padding:25px;margin-bottom:15px}.pqrs-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.pqrs-card-top small{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.52}.pqrs-card-top h3,.pqrs-card-top h2{margin:7px 0 0;font:400 24px Georgia,serif}.pqrs-badge{padding:8px 11px;border-radius:99px;background:#edf0ef;font-size:9px;font-weight:900;white-space:nowrap}.pqrs-badge.status-received{background:#fff0d3;color:#7b5b18}.pqrs-badge.status-review{background:#e9f1fa;color:#315f8b}.pqrs-badge.status-in_progress{background:#e6f4f2;color:#0f6e68}.pqrs-badge.status-resolved{background:#dcf2df;color:#2f7039}.pqrs-badge.status-closed{background:#ecebea;color:#5e5a57}.pqrs-meta{display:flex;gap:9px;margin:14px 0}.pqrs-meta span{padding:5px 8px;border:1px solid var(--line);border-radius:99px;font-size:9px}.pqrs-card>p{font-size:12px;line-height:1.65;white-space:pre-wrap}.pqrs-card blockquote{display:grid;gap:7px;margin:18px 0;padding:16px;border-left:3px solid var(--teal);background:var(--mint);font-size:12px;line-height:1.6}.pqrs-card details,.pqrs-admin-card details{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.pqrs-card summary,.pqrs-admin-card summary{font-size:10px;font-weight:800;cursor:pointer}.pqrs-timeline{margin:20px 0 0;padding:0;list-style:none}.pqrs-timeline li{position:relative;display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:18px}.pqrs-timeline li>span{width:9px;height:9px;margin-top:4px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px var(--mint)}.pqrs-timeline li:not(:last-child):before{content:"";position:absolute;left:4px;top:16px;bottom:2px;width:1px;background:var(--line)}.pqrs-timeline strong,.pqrs-timeline small{display:block}.pqrs-timeline strong{font-size:11px}.pqrs-timeline small{margin-top:3px;font-size:9px;opacity:.5}.pqrs-timeline p{margin:6px 0 0;font-size:11px;line-height:1.5;white-space:pre-wrap}.empty-state.compact{margin-top:0;padding:45px 24px}.pqrs-admin-list{display:grid;gap:20px;margin-top:40px}.pqrs-admin-card{padding:28px}.pqrs-card-top>div>p{margin:6px 0 0;font-size:11px;opacity:.6}.pqrs-admin-body{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:25px;padding-top:24px;border-top:1px solid var(--line)}.pqrs-admin-body h3{margin:0 0 12px;font:400 20px Georgia,serif}.pqrs-admin-body>div:first-child>p{font-size:12px;line-height:1.7;white-space:pre-wrap}.pqrs-admin-body>div:first-child>small{font-size:9px;opacity:.52}.pqrs-manage{display:grid;gap:13px;padding:20px;border-radius:16px;background:var(--cream)}.pqrs-manage textarea{min-height:100px}.admin-inline-message{margin:0;font-size:10px;line-height:1.5;color:var(--teal)}
.pqrs-sender{display:grid;grid-template-columns:1.35fr 1fr 1.35fr 1fr;gap:10px;margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--mint)}.pqrs-sender>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:4px 10px}.pqrs-sender span{font-size:8px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;opacity:.5}.pqrs-sender strong,.pqrs-sender a{font-size:11px;font-weight:750;color:var(--ink);overflow-wrap:anywhere}.pqrs-sender small{font-size:9px;opacity:.6}.pqrs-reply-title{margin:0 0 4px;font:400 20px Georgia,serif}.pqrs-manage>div>small{font-size:9px;line-height:1.5;opacity:.58}.pqrs-email-link{display:block;text-align:center;color:var(--teal);font-size:10px;font-weight:800}
@media(max-width:900px){.pqrs-layout{grid-template-columns:1fr}.pqrs-form-card{position:static}.pqrs-admin-body{grid-template-columns:1fr}.pqrs-sender{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.portal-header nav a{display:inline-flex}.portal-header nav{font-size:10px}.pqrs-card,.pqrs-admin-card,.pqrs-form-card{padding:20px}.pqrs-card-top{flex-direction:column}.pqrs-admin-body{gap:18px}.pqrs-sender{grid-template-columns:1fr}}
.bulletin-admin-card{max-width:760px;margin-top:38px;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.bulletin-check{display:flex;gap:10px;align-items:center;font-size:11px;font-weight:750}.bulletin-check input,.notification-options input{accent-color:var(--teal)}.notification-card{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;margin:28px 0;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.notification-card h2{margin:0;font:400 27px Georgia,serif}.notification-card>div>p:last-child{font-size:11px;line-height:1.6;opacity:.62}.notification-options{display:grid;gap:10px}.notification-options label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--cream)}.notification-options strong,.notification-options small{display:block}.notification-options strong{font-size:11px}.notification-options small{margin-top:4px;font-size:9px;opacity:.6}.notification-options input{width:18px;height:18px}@media(max-width:760px){.notification-card{grid-template-columns:1fr}.bulletin-admin-card{padding:20px}}
.file-field input[type="file"]{height:auto;padding:12px;background:var(--cream);cursor:pointer}.file-field>span small{margin-left:6px;color:var(--teal);font-size:8px;text-transform:uppercase}.file-field>small{font-size:9px;line-height:1.5;opacity:.62}.bulletin-upload-field{padding:18px;border:1px dashed rgba(15,119,113,.42);border-radius:14px;background:var(--mint)}.bulletin-upload-field .spanish-file-input{background:var(--white)}.attachment-list{display:grid;gap:8px;margin:16px 0}.attachment-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);text-decoration:none}.attachment-link:hover{border-color:var(--teal);background:var(--mint)}.attachment-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:var(--teal);color:#fff;font-weight:800}.attachment-link strong,.attachment-link small{display:block}.attachment-link strong{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.attachment-link small{margin-top:3px;font-size:8px;opacity:.58}.bulletin-media-compact{grid-template-columns:repeat(3,minmax(90px,1fr));max-width:560px}.bulletin-media-compact .bulletin-media-item,.bulletin-media-compact .bulletin-media-item:only-child{grid-column:auto;min-height:110px}
.bulk-notification-divider{display:flex;align-items:center;gap:12px;margin:28px 0 20px;color:rgba(20,60,58,.45);font-size:9px;text-transform:uppercase}.bulk-notification-divider:before,.bulk-notification-divider:after{content:"";height:1px;flex:1;background:var(--line)}.bulk-notification-panel{padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--cream)}.bulk-notification-panel summary{color:var(--teal);font-size:11px;font-weight:850;cursor:pointer}.bulk-notification-panel>p{margin:13px 0 18px;font-size:9px;line-height:1.65;opacity:.68}.bulk-notification-panel .pqrs-form{margin-top:12px}.csv-recipient-summary{display:grid;gap:4px;padding:13px;border-radius:11px;background:var(--mint);color:var(--teal)}.csv-recipient-summary strong{font-size:11px}.csv-recipient-summary small{font-size:8px;opacity:.75}
.pqrs-resolution{display:grid;gap:7px;margin:18px 0;padding:16px;border:1px solid rgba(15,119,113,.2);border-radius:14px;background:var(--mint)}.pqrs-resolution small{font-size:8px!important;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);opacity:1!important}.pqrs-resolution strong{font-size:12px}.pqrs-resolution p{margin:0;font-size:11px;line-height:1.6;white-space:pre-wrap}.pqrs-solution-fields{display:grid;gap:13px;padding-top:13px;border-top:1px solid var(--line)}.pqrs-delete-zone{display:grid;gap:6px;margin-top:7px;padding:14px;border:1px solid rgba(182,74,67,.24);border-radius:12px;background:#fff5f4}.pqrs-delete-zone strong{font-size:10px;color:#933a35}.pqrs-delete-zone small{font-size:9px;line-height:1.5;opacity:.65}.pqrs-delete-zone button{margin-top:5px;padding:10px 12px;border:1px solid rgba(182,74,67,.3);border-radius:99px;background:#fff;color:#a53832;font-size:9px;font-weight:850;cursor:pointer}.pqrs-delete-zone button:disabled{cursor:not-allowed;opacity:.5}
.pqrs-current-response{display:grid;gap:6px;margin:18px 0;padding:14px;border-left:3px solid var(--teal);background:var(--cream);font-size:11px;line-height:1.6;white-space:pre-wrap}.pqrs-current-response strong{font-size:9px;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.council-page .notice{margin-top:26px}.council-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:38px 0 26px}.council-metric,.council-panel{border:1px solid var(--line);border-radius:22px;background:var(--white)}.council-metric{padding:22px}.council-metric small,.council-panel>header small,.council-decision>header small,.council-meeting summary small{display:block;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;opacity:.52}.council-metric strong{display:block;margin:12px 0 7px;font:400 34px Georgia,serif}.council-metric span{font-size:9px;line-height:1.45;opacity:.58}.council-metric.warning{border-color:rgba(182,74,67,.25);background:#fff8f6}.council-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:26px}.council-panel{padding:28px}.council-panel>header{margin-bottom:23px}.council-panel>header h2{margin:7px 0 0;font:400 29px Georgia,serif}.council-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.council-form-grid textarea{min-height:88px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;line-height:1.5;resize:vertical}.council-panel .submit-button{border:0}.council-meetings,.council-decisions{margin-top:26px}.council-meeting{border-top:1px solid var(--line)}.council-meeting:last-child{border-bottom:1px solid var(--line)}.council-meeting>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 2px;cursor:pointer;list-style:none}.council-meeting>summary::-webkit-details-marker{display:none}.council-meeting summary strong,.council-meeting summary span{display:block}.council-meeting summary strong{margin:5px 0;font:400 20px Georgia,serif}.council-meeting summary span{font-size:10px;opacity:.58}.council-status{padding:8px 11px;border-radius:99px;background:#ecebea;font-size:9px;white-space:nowrap}.council-status.status-scheduled,.council-status.status-proposed{background:#fff0d3;color:#7b5b18}.council-status.status-in_progress{background:#e6f4f2;color:#0f6e68}.council-status.status-approved,.council-status.status-assigned{background:#e9f1fa;color:#315f8b}.council-status.status-completed,.council-status.status-verified{background:#dcf2df;color:#2f7039}.council-status.status-cancelled{background:#fff0ee;color:#a53832}.council-meeting-body{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;padding:4px 0 24px}.council-meeting-body>section{min-width:0;padding:19px;border-radius:16px;background:var(--cream)}.council-meeting-body h3{margin:0 0 14px;font:400 20px Georgia,serif}.council-meeting-body ol,.council-meeting-body ul{display:grid;gap:8px;margin:0 0 15px;padding:0;list-style:none}.council-meeting-body li{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}.council-meeting-body li strong,.council-meeting-body li span{display:block}.council-meeting-body li strong{font-size:11px}.council-meeting-body li span{margin-top:3px;font-size:9px;opacity:.55}.council-meeting-body li p{margin:7px 0 0;font-size:10px;line-height:1.5}.council-inline-form{display:grid;gap:8px}.council-inline-form input,.council-inline-form textarea,.council-document-form select,.council-document-form input{min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:10px}.council-inline-form textarea{min-height:65px;resize:vertical}.council-inline-form button,.council-actions button,.council-document-form button,.council-vote-actions button,.council-advance{padding:10px 13px;border:1px solid var(--line);border-radius:99px;background:var(--ink);color:#fff;font-size:9px;font-weight:850;cursor:pointer}.council-inline-form button:disabled,.council-actions button:disabled,.council-document-form button:disabled,.council-vote-actions button:disabled,.council-advance:disabled{cursor:wait;opacity:.5}.council-actions{display:flex;gap:8px;margin-bottom:13px}.council-document-form{display:grid;grid-template-columns:minmax(105px,.65fr) minmax(150px,1.35fr) auto;gap:8px;margin-top:15px}.council-documents{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.council-documents a{max-width:280px;padding:8px 11px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--teal);font-size:9px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.council-decision{padding:25px 0;border-top:1px solid var(--line)}.council-decision:last-child{padding-bottom:0}.council-decision>header{display:flex;justify-content:space-between;gap:24px}.council-decision>header h3{margin:6px 0 9px;font:400 23px Georgia,serif}.council-decision>header p{max-width:750px;margin:0;font-size:11px;line-height:1.65;white-space:pre-wrap;opacity:.7}.council-decision-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.council-decision-facts>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.council-decision-facts span,.council-decision-facts strong{display:block}.council-decision-facts span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;opacity:.5}.council-decision-facts strong{margin-top:6px;font-size:10px}.council-vote-actions{display:flex;gap:8px;margin:12px 0}.council-vote-actions button{background:#fff;color:var(--ink)}.council-advance{margin:5px 0 4px;background:var(--teal);border-color:var(--teal)}.council-empty{margin:0;padding:30px;border:1px dashed var(--line);border-radius:16px;text-align:center;font-size:11px;opacity:.6}
@media(max-width:980px){.council-metrics{grid-template-columns:1fr 1fr}.council-create-grid,.council-meeting-body{grid-template-columns:1fr}.council-decision-facts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.council-metrics,.council-form-grid,.council-decision-facts{grid-template-columns:1fr}.council-panel{padding:20px}.council-meeting>summary,.council-decision>header{align-items:flex-start;flex-direction:column}.council-document-form{grid-template-columns:1fr}.council-vote-actions{flex-wrap:wrap}}
.council-access-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 26px;padding:15px 18px;border:1px solid rgba(15,119,113,.22);border-radius:14px;background:var(--mint)}.council-access-summary strong{font-size:11px}.council-access-summary span{font-size:9px;line-height:1.5;opacity:.68}.council-empty-detail{margin:0 0 12px;font-size:9px;opacity:.58}.council-cancellation{grid-column:1/-1;display:grid;gap:5px;padding:14px 17px;border:1px solid #e6b3ae;border-radius:12px;background:#fff1ef;color:#8d3631}.council-cancellation strong{font-size:10px}.council-cancellation span{font-size:9px}.council-actions .council-cancel{background:#fff1ef;color:#9e3933;border-color:#e6b3ae}.council-vote-block{display:grid;gap:4px}.council-vote-block>span,.council-advance-block>span{font-size:8px;color:var(--teal)}.council-vote-actions button.active{border-color:var(--teal);background:var(--teal);color:#fff}.council-advance-block{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.council-execution,.council-decision-documents{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--cream)}.council-execution h4,.council-decision-documents h4{margin:0 0 10px;font:400 18px Georgia,serif}.council-execution>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 0;border-top:1px solid var(--line)}.council-execution strong,.council-execution span{font-size:9px}.council-execution span{text-align:right;opacity:.65}.council-execution p{margin:0;font-size:9px;opacity:.6}
.council-history-delete{grid-column:1/-1;margin-top:16px;padding:16px;border:1px solid #e6b3ae!important;background:#fff7f6!important}.council-history-delete h3,.council-history-delete h4{margin:0 0 6px;font:400 17px Georgia,serif}.council-history-delete p{margin:0 0 11px;font-size:9px;opacity:.65}.council-history-delete button{padding:10px 13px;border:1px solid #e6b3ae;border-radius:99px;background:#fff1ef;color:#9e3933;font-size:9px;font-weight:850;cursor:pointer}.council-history-delete button:disabled{cursor:wait;opacity:.5}
@media(max-width:620px){.council-access-summary,.council-execution>div{align-items:flex-start;flex-direction:column}.council-execution span{text-align:left}.council-actions{flex-wrap:wrap}}
.council-access{margin-top:26px}.council-access>header p{max-width:680px;margin:9px 0 0;font-size:11px;line-height:1.6;opacity:.65}.council-access-form{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(210px,.8fr) auto;gap:14px;align-items:end}.council-access-form .button{min-height:48px;border:0}@media(max-width:820px){.council-access-form{grid-template-columns:1fr}.council-access-form .button{justify-self:start}}
.council-budget-form{margin-bottom:26px}.council-budget-form>header p{max-width:720px;margin:9px 0 0;font-size:11px;line-height:1.6;opacity:.65}.council-budget-fields{display:grid;grid-template-columns:minmax(150px,.5fr) minmax(240px,1fr) auto;gap:14px;align-items:end}.council-budget-fields .button{min-height:48px;border:0}.council-agenda-vote-summary{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);color:var(--teal);font-size:9px;font-weight:800}.council-agenda-vote{margin-top:7px}.council-agenda-vote .council-vote-actions{margin:7px 0}.council-agenda-vote>span{font-size:8px;opacity:.62}@media(max-width:820px){.council-budget-fields{grid-template-columns:1fr}.council-budget-fields .button{justify-self:start}}
.reservation-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:34px 0}.reservation-rules>div{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--white)}.reservation-rules strong{font-size:10px}.reservation-rules span{font-size:9px;line-height:1.45;opacity:.62}.reservation-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(340px,1.1fr);gap:24px;align-items:start}.reservation-form-card,.availability-card{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.reservation-form-card h2,.availability-card h2,.reservation-history h2{margin:0 0 22px;font:400 29px Georgia,serif}.reservation-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reservation-consent{margin:0}.availability-card{position:sticky;top:20px}.availability-empty{display:grid;gap:7px;padding:22px;border:1px dashed var(--line);border-radius:16px;background:var(--mint)}.availability-empty strong{font-size:12px}.availability-empty span{font-size:10px;opacity:.62}.availability-list{display:grid;gap:14px}.availability-list>div{display:grid;gap:7px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.availability-list h3{margin:0;font:400 20px Georgia,serif}.availability-list p,.availability-list span{margin:0;font-size:10px}.availability-list span{padding:7px 9px;border-radius:8px;background:var(--white)}.reservation-history{margin-top:42px}.reservation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.reservation-card,.reservation-admin-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--white)}.reservation-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.reservation-card-top small{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--teal)}.reservation-card-top h3,.reservation-card-top h2{margin:6px 0 3px;font:400 23px Georgia,serif}.reservation-card-top p{margin:0;font-size:11px;opacity:.62}.reservation-status{padding:7px 10px;border-radius:99px;background:#eee;font-size:8px;font-weight:900;text-transform:uppercase}.reservation-status.status-pending{background:#fff0d3;color:#7b5b18}.reservation-status.status-approved{background:var(--mint);color:var(--teal)}.reservation-status.status-rejected{background:#fff0ef;color:#9d3f3a}.reservation-status.status-cancelled{background:#ecebea;color:#5e5a57}.reservation-status.status-completed{background:#dcf2df;color:#2f7039}.reservation-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:18px 0}.reservation-card dl div{padding:10px 0;border-top:1px solid var(--line)}.reservation-card dt{font-size:8px;text-transform:uppercase;opacity:.5}.reservation-card dd{margin:4px 0 0;font-size:11px;font-weight:750}.reservation-card blockquote{display:grid;gap:5px;margin:14px 0;padding:12px;border-left:3px solid var(--teal);background:var(--mint);font-size:10px;white-space:pre-wrap}.reservation-cancel{padding:9px 12px;border:1px solid rgba(182,74,67,.25);border-radius:99px;background:#fff5f4;color:#a53832;font-size:9px;font-weight:800;cursor:pointer}.reservation-admin-list{display:grid;gap:18px;margin-top:36px}.reservation-resident{display:grid;grid-template-columns:1.2fr 1.35fr 1.35fr .8fr;gap:10px;margin:20px 0;padding:15px;border-radius:15px;background:var(--mint)}.reservation-resident>div{display:grid;gap:4px;min-width:0}.reservation-resident span{font-size:8px;font-weight:850;text-transform:uppercase;opacity:.5}.reservation-resident strong,.reservation-resident a{font-size:10px;color:var(--ink);overflow-wrap:anywhere}.reservation-resident small{font-size:9px;opacity:.62}.reservation-notes{display:grid;gap:6px;padding:13px;border-left:3px solid var(--teal);background:var(--cream);font-size:10px;white-space:pre-wrap}.reservation-review{display:grid;gap:13px;margin-top:18px;padding:18px;border-radius:15px;background:var(--cream)}.reservation-review textarea{min-height:86px;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;resize:vertical}.reservation-review>div{display:flex;justify-content:flex-end;gap:10px}.reservation-review button{min-height:40px;border:0;cursor:pointer}.cleaning-check{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.cleaning-check input{width:18px;height:18px;accent-color:var(--teal)}.cleaning-check strong,.cleaning-check small{display:block}.cleaning-check strong{font-size:10px}.cleaning-check small{margin-top:3px;font-size:9px;opacity:.6}.reservation-result{display:flex;gap:16px;margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.reservation-result p{display:grid;gap:4px;margin:0;font-size:10px;white-space:pre-wrap}
@media(max-width:900px){.reservation-rules{grid-template-columns:1fr 1fr}.reservation-layout{grid-template-columns:1fr}.availability-card{position:static}.reservation-resident{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.reservation-rules,.reservation-grid,.reservation-resident{grid-template-columns:1fr}.reservation-time-grid{grid-template-columns:1fr}.reservation-form-card,.availability-card,.reservation-card,.reservation-admin-card{padding:19px}}
.reservation-calendar-card{margin-top:38px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px}.calendar-toolbar h2,.reservation-day-agenda h2,.reservation-list-toolbar h2{margin:0;font:400 29px Georgia,serif;text-transform:capitalize}.calendar-navigation{display:flex;align-items:center;gap:7px}.calendar-navigation button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--ink);font-size:22px;cursor:pointer}.calendar-navigation .calendar-today{width:auto;padding:0 15px;border-radius:99px;font-size:10px;font-weight:850}.calendar-navigation button:hover{border-color:var(--teal);background:var(--mint)}.calendar-legend{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:14px;font-size:9px;opacity:.72}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:9px;height:9px;border-radius:3px}.legend-pending{background:#d89c34}.legend-approved{background:var(--teal)}.legend-completed{background:#5c9363}.legend-inactive{background:#aaa6a1}.reservation-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-weekday{padding:10px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--teal);font-size:9px;font-weight:900;text-align:center;text-transform:uppercase}.calendar-day{min-height:112px;padding:9px;display:flex;flex-direction:column;align-items:stretch;gap:7px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer}.calendar-day:hover{background:var(--cream)}.calendar-day.outside{background:#f4f1e9;color:rgba(20,60,58,.4)}.calendar-day.selected{position:relative;background:var(--mint);box-shadow:inset 0 0 0 2px var(--teal)}.calendar-day.today .calendar-day-number{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:var(--coral);color:#fff}.calendar-day-number{height:25px;font-size:10px;font-weight:900}.calendar-events{display:grid;gap:4px;min-width:0}.calendar-event{padding:5px 6px;border-radius:6px;background:#ecebea;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event b{margin-right:3px}.calendar-event.event-pending{background:#fff0d3;color:#76591d}.calendar-event.event-approved{background:var(--mint);color:var(--teal)}.calendar-event.event-completed{background:#dcf2df;color:#2f7039}.calendar-event.event-cancelled,.calendar-event.event-rejected{background:#ecebea;color:#68645f;text-decoration:line-through}.calendar-events small{font-size:8px;font-weight:800;opacity:.55}.reservation-day-agenda{margin-top:22px;padding:25px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.55)}.day-agenda-heading,.reservation-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.day-agenda-heading>span{padding:8px 11px;border-radius:99px;background:var(--white);font-size:9px;font-weight:800}.room-agenda-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.room-agenda{padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--white)}.room-agenda>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:14px}.room-agenda h3{margin:0;font:400 20px Georgia,serif}.room-agenda>div:first-child>span{padding:6px 9px;border-radius:99px;font-size:8px;font-weight:850}.room-free{background:var(--mint);color:var(--teal)}.room-busy{background:#fff0d3;color:#76591d}.room-empty{margin:18px 0 0;padding:14px;border:1px dashed var(--line);border-radius:10px;font-size:9px;opacity:.58}.room-slots{display:grid;gap:8px;margin-top:16px}.room-slot{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:10px;background:var(--cream);font-size:9px}.room-slot>span{font-weight:850}.room-slot>small{font-size:8px;opacity:.58}.room-slot.slot-pending{border-left:3px solid #d89c34}.room-slot.slot-approved{border-left:3px solid var(--teal)}.room-slot.slot-completed{border-left:3px solid #5c9363}.room-slot.slot-cancelled,.room-slot.slot-rejected{opacity:.55}.reservation-review-list{margin-top:42px}.reservation-filter{display:flex;flex-wrap:wrap;gap:7px}.reservation-filter button{padding:9px 12px;border:1px solid var(--line);border-radius:99px;background:var(--white);color:var(--ink);font-size:9px;font-weight:800;cursor:pointer}.reservation-filter button.active{border-color:var(--teal);background:var(--teal);color:#fff}.reservation-review-list .empty-state{margin-top:22px}
@media(max-width:900px){.reservation-calendar-card{padding:20px}.calendar-day{min-height:96px;padding:6px}.calendar-event{font-size:7px}.room-agenda-grid{grid-template-columns:1fr}.room-slot{grid-template-columns:82px 1fr}.room-slot>small{grid-column:2}}
.reservation-schedule-post{margin:34px 0 18px;padding:26px;display:grid;grid-template-columns:minmax(230px,.75fr) minmax(480px,1.25fr);gap:28px;align-items:center;border:1px solid rgba(15,119,113,.2);border-radius:22px;background:linear-gradient(135deg,var(--white),var(--mint))}.reservation-schedule-post h2{margin:0;font:400 30px/1.1 Georgia,serif}.reservation-schedule-post>div>p:last-child{margin:11px 0 0;font-size:10px;line-height:1.55;opacity:.62}.reservation-schedule-post dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.reservation-schedule-post dl div{padding:13px;border:1px solid rgba(15,119,113,.14);border-radius:12px;background:rgba(255,255,255,.74)}.reservation-schedule-post dt{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--teal)}.reservation-schedule-post dd{margin:6px 0 0;font-size:10px;font-weight:750}.selected-day-hours{margin:-2px 0 2px;padding:10px 12px;border-radius:10px;background:var(--mint);color:var(--teal);font-size:9px;font-weight:750}.availability-list h3+small{font-size:9px;color:var(--teal);font-weight:800}.room-agenda-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.reservation-schedule-post{grid-template-columns:1fr}.room-agenda-grid{grid-template-columns:1fr}}
@media(max-width:620px){.reservation-schedule-post{padding:19px}.reservation-schedule-post dl{grid-template-columns:1fr}}
.portal-header{padding-top:14px;padding-bottom:14px}.portal-header nav{max-width:980px;gap:8px 14px;font-size:10px}.portal-header nav a{white-space:nowrap}.service-layout{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:28px;margin-top:42px;align-items:start}.service-form-card{position:sticky;top:20px;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.service-form-card h2,.service-history h2{margin:0 0 22px;font:400 30px Georgia,serif}.service-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-history{min-width:0}.service-record,.service-admin-record{margin-bottom:15px;padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--white)}.service-record-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.service-record-heading small{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}.service-record-heading h3,.service-record-heading h2{margin:6px 0 4px;font:400 24px Georgia,serif}.service-record-heading p,.service-record>small{margin:0;font-size:9px;opacity:.58}.service-record>p{font-size:11px;line-height:1.6;white-space:pre-wrap}.service-record blockquote{display:grid;gap:6px;margin:16px 0 0;padding:14px;border-left:3px solid var(--teal);background:var(--mint);font-size:10px;white-space:pre-wrap}.service-status,.notification-priority{padding:7px 10px;border-radius:99px;background:#edf0ef;font-size:8px;font-weight:900;text-transform:uppercase;white-space:nowrap}.service-status.status-submitted{background:#fff0d3;color:#7b5b18}.service-status.status-review{background:#e9f1fa;color:#315f8b}.service-status.status-approved,.service-status.status-issued,.service-status.status-completed{background:var(--mint);color:var(--teal)}.service-status.status-rejected{background:#fff0ef;color:#9d3f3a}.service-admin-list{display:grid;gap:18px;margin-top:38px}.service-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.service-admin-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}.service-admin-grid dl div{padding:12px;border-radius:10px;background:var(--cream)}.service-admin-grid dt{font-size:8px;text-transform:uppercase;opacity:.5}.service-admin-grid dd{margin:5px 0 0;font-size:10px;font-weight:750;overflow-wrap:anywhere}.service-admin-grid>section>p{font-size:11px;line-height:1.6;white-space:pre-wrap}.service-manage{display:grid;gap:13px;padding:18px;border-radius:15px;background:var(--cream)}.service-manage textarea{min-height:95px;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;resize:vertical}.service-manage>.button{min-height:42px;border:0;cursor:pointer}.notification-inbox{display:grid;gap:14px;margin-top:38px}.inbox-message{padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--white)}.inbox-message.unread{border-left:5px solid var(--teal);box-shadow:0 12px 34px rgba(20,60,58,.08)}.inbox-message-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.inbox-message-heading>div>small{display:block;margin:9px 0 5px;font-size:9px;text-transform:uppercase;opacity:.56}.inbox-message-heading h2{margin:0;font:400 26px Georgia,serif}.inbox-message-heading i{width:10px;height:10px;border-radius:50%;background:var(--coral)}.inbox-message>p{font-size:12px;line-height:1.7;white-space:pre-wrap}.inbox-message>time{display:block;margin-top:16px;font-size:9px;opacity:.5}.notification-priority.priority-information{background:#e9f1fa;color:#315f8b}.notification-priority.priority-important{background:#fff0d3;color:#7b5b18}.notification-priority.priority-urgent{background:#fff0ef;color:#9d3f3a}.mark-read-button{margin-top:14px;padding:8px 11px;border:1px solid var(--line);border-radius:99px;background:var(--cream);color:var(--teal);font-size:9px;font-weight:850;cursor:pointer}
@media(max-width:980px){.service-layout,.service-admin-grid{grid-template-columns:1fr}.service-form-card{position:static}.portal-header{align-items:flex-start}.portal-header nav{max-height:180px;overflow:auto}}
@media(max-width:620px){.service-form-card,.service-record,.service-admin-record,.inbox-message{padding:20px}.service-time-grid,.service-admin-grid dl{grid-template-columns:1fr}.service-record-heading,.inbox-message-heading{flex-direction:column}.portal-header nav{max-height:220px}}
.admin-authorization-create{margin-top:34px;padding:28px;border:1px solid rgba(15,119,113,.2);border-radius:24px;background:linear-gradient(135deg,var(--white),var(--mint))}.admin-authorization-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.admin-authorization-resident,.admin-authorization-external-name,.admin-authorization-details,.admin-authorization-files{grid-column:span 2}.admin-authorization-form textarea{min-height:86px}.admin-authorization-biometric{grid-column:span 2;margin:0;align-self:stretch}.admin-authorization-biometric p{margin:6px 0 0}.admin-authorization-submit{grid-column:span 2;min-height:48px}
@media(max-width:900px){.admin-authorization-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-authorization-resident,.admin-authorization-external-name,.admin-authorization-details,.admin-authorization-files,.admin-authorization-biometric,.admin-authorization-submit{grid-column:span 2}}
@media(max-width:620px){.admin-authorization-create{padding:19px}.admin-authorization-form{grid-template-columns:1fr}.admin-authorization-resident,.admin-authorization-external-name,.admin-authorization-details,.admin-authorization-files,.admin-authorization-biometric,.admin-authorization-submit{grid-column:auto}}

.data-rights-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0 0}.data-rights-summary div,.data-request-deadline{padding:12px;border-radius:11px;background:var(--cream)}.data-rights-summary dt{font-size:8px;text-transform:uppercase;letter-spacing:.08em;opacity:.52}.data-rights-summary dd{margin:5px 0 0;font-size:10px;font-weight:800}.data-rights-events{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:10px}.data-rights-events summary{cursor:pointer;color:var(--teal);font-weight:850}.data-rights-events ol{display:grid;gap:10px;margin:12px 0 0;padding-left:20px}.data-rights-events li{padding-left:4px}.data-rights-events time,.data-rights-events span{display:block}.data-rights-events time{margin-bottom:3px;font-size:8px;opacity:.52}.data-request-deadline{display:flex;align-items:center;gap:14px;margin-top:18px}.data-request-deadline strong{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.data-request-deadline span{font:400 20px Georgia,serif}.data-request-deadline small{margin-left:auto;font-size:8px;opacity:.56}.data-request-deadline[data-overdue="true"]{background:#fff0ef;color:#9d3f3a}.data-request-overdue{border-left:5px solid var(--coral)}.data-rights-filter{width:max-content;margin-top:30px}.urgent-count{border-color:var(--coral)!important;color:#9d3f3a!important;background:#fff0ef}.service-status.status-received{background:#fff0d3;color:#7b5b18}.service-status.status-identity_verification,.service-status.status-in_progress,.service-status.status-extended{background:#e9f1fa;color:#315f8b}.service-status.status-resolved,.service-status.status-closed{background:var(--mint);color:var(--teal)}.service-status.status-partially_denied,.service-status.status-denied{background:#fff0ef;color:#9d3f3a}
@media(max-width:620px){.data-rights-summary{grid-template-columns:1fr}.data-request-deadline{align-items:flex-start;flex-direction:column}.data-request-deadline small{margin-left:0}.data-rights-filter{width:100%;overflow:auto}}
@media(max-width:680px){.calendar-toolbar,.day-agenda-heading,.reservation-list-toolbar{align-items:flex-start;flex-direction:column}.reservation-calendar-card{margin-left:-12px;margin-right:-12px;padding:14px}.calendar-legend{gap:8px}.calendar-weekday{padding:8px 2px;font-size:7px}.calendar-day{min-height:72px;padding:5px;gap:2px}.calendar-day-number{height:20px}.calendar-day.today .calendar-day-number{width:20px;height:20px}.calendar-event{height:5px;padding:0;font-size:0}.calendar-events small{font-size:7px}.reservation-day-agenda{padding:18px}.room-slot{grid-template-columns:1fr}.room-slot>small{grid-column:auto}.reservation-filter{width:100%}.reservation-filter button{flex:1}.reservation-list-toolbar h2{font-size:25px}}
.reservations-page .reservation-calendar-card{margin-bottom:24px}.legend-available{background:#4aa866}.legend-taken{background:#397fbd}.calendar-navigation button:disabled{cursor:not-allowed;opacity:.35}.calendar-day.availability-available{background:#e1f4e5;color:#245c34}.calendar-day.availability-taken{background:#dcecf9;color:#194f7d}.calendar-day.availability-available:hover{background:#ccebd3}.calendar-day.availability-taken:hover{background:#c8e0f3}.calendar-day.outside{opacity:.48}.calendar-day:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.38}.calendar-day.selected{box-shadow:inset 0 0 0 3px currentColor}.calendar-availability-state{display:grid;gap:4px;min-width:0}.calendar-availability-state strong{font-size:9px;text-transform:uppercase;letter-spacing:.04em}.calendar-availability-state small{font-size:8px;line-height:1.35;opacity:.75}.calendar-day.availability-taken .calendar-availability-state strong{color:#175e99}.calendar-day.availability-available .calendar-availability-state strong{color:#2d7a43}
.reservation-admin-group{padding:18px;border:2px solid rgba(18,117,112,.22);border-radius:24px;background:rgba(216,241,237,.42)}.reservation-admin-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:2px 4px 16px}.reservation-admin-group>header h3{margin:3px 0;font:400 24px Georgia,serif}.reservation-admin-group>header span{font-size:10px;opacity:.65}.reservation-admin-group>header>strong{padding:8px 12px;border-radius:99px;background:var(--teal);color:#fff;font-size:9px}.reservation-admin-group>div{display:grid;gap:12px}.reservation-admin-group .reservation-admin-card{box-shadow:0 8px 24px rgba(20,60,58,.06)}
.reservation-detail-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px;background:rgba(7,37,36,.62);backdrop-filter:blur(4px)}.reservation-detail-dialog{width:min(760px,100%);max-height:min(82vh,820px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--white);box-shadow:0 28px 80px rgba(7,37,36,.3)}.reservation-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;position:sticky;top:-28px;z-index:1;margin:-28px -28px 18px;padding:28px;background:var(--white);border-bottom:1px solid var(--line)}.reservation-detail-heading h2{margin:2px 0 0;font:400 30px Georgia,serif;text-transform:capitalize}.reservation-detail-heading button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--ink);font-size:26px;cursor:pointer}.reservation-detail-list{display:grid;gap:14px}.reservation-detail-item{padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--cream)}.reservation-detail-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.reservation-detail-summary>div{display:grid;gap:3px}.reservation-detail-summary strong{font:400 21px Georgia,serif}.reservation-detail-summary span{font-size:9px;opacity:.64}.reservation-detail-item dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0}.reservation-detail-item dl>div{padding:10px;border-radius:10px;background:var(--white)}.reservation-detail-item dt{font-size:8px;font-weight:850;text-transform:uppercase;opacity:.5}.reservation-detail-item dd{margin:4px 0 0;font-size:10px;line-height:1.45;overflow-wrap:anywhere}.reservation-detail-item>p{display:grid;gap:4px;margin:10px 0 0;padding:11px;border-left:3px solid var(--teal);background:var(--white);font-size:10px;white-space:pre-wrap}
@media(max-width:620px){.reservation-admin-group{padding:12px}.reservation-admin-group>header{align-items:flex-start;flex-direction:column}.reservation-detail-dialog{padding:20px}.reservation-detail-heading{top:-20px;margin:-20px -20px 14px;padding:20px}.reservation-detail-heading h2{font-size:24px}.reservation-detail-item dl{grid-template-columns:1fr}}
.reservation-status.status-preapproved{background:#e8efff;color:#315f9b}.room-slot.slot-preapproved{border-left:3px solid #527fbd}.reservation-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.reservation-detail-actions button{min-height:42px}.reservation-detail-delete{display:grid;gap:10px;margin-top:12px;padding:13px;border:1px solid rgba(182,74,67,.25);border-radius:12px;background:#fff5f4}.reservation-detail-delete label{display:grid;gap:6px}.reservation-detail-delete label>span{font-size:9px;font-weight:850}.reservation-detail-delete textarea{min-height:82px;padding:10px;border:1px solid var(--line);border-radius:9px;font:inherit;resize:vertical}.reservation-detail-delete>div{display:flex;justify-content:flex-end;gap:9px}
@media(max-width:560px){.reservation-detail-actions,.reservation-detail-delete>div{align-items:stretch;flex-direction:column}.reservation-detail-actions button,.reservation-detail-delete button{width:100%}}
.reservation-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0}.reservation-workflow span{display:flex;align-items:center;gap:6px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:rgba(20,60,58,.48);font-size:8px;font-weight:850;text-transform:uppercase}.reservation-workflow span i{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:#dedbd4;font-style:normal}.reservation-workflow span.active{border-color:rgba(23,126,118,.3);background:var(--mint);color:var(--teal)}.reservation-workflow span.active i{background:var(--teal);color:#fff}.reservation-workflow-note{margin:10px 0 0;padding:10px;border-radius:9px;background:var(--mint);font-size:9px;color:var(--teal)}
@media(max-width:560px){.reservation-workflow{grid-template-columns:1fr 1fr}}
.calendar-day-details{display:grid;gap:4px;min-width:0}.calendar-day-details small{display:block;font-size:7px;line-height:1.25;overflow-wrap:anywhere}.calendar-reserved-space{padding:4px;border-radius:5px;background:rgba(255,255,255,.72);color:#194f7d}.calendar-reserved-space strong,.calendar-available-spaces strong{font-weight:900}.calendar-available-spaces{color:#245c34}.admin-page .calendar-day{min-height:145px}
@media(max-width:680px){.admin-page .calendar-day{min-height:105px}.calendar-day-details small{font-size:6px}.calendar-available-spaces{max-height:30px;overflow:hidden}}
.admin-reservation-create{margin-top:34px;padding:28px;border:1px solid rgba(15,119,113,.2);border-radius:24px;background:linear-gradient(135deg,var(--white),var(--mint))}.admin-reservation-create-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.admin-reservation-create-heading h2{margin:0;font:400 29px Georgia,serif}.admin-reservation-create-heading p:last-child{margin:8px 0 0;font-size:10px;opacity:.62}.admin-reservation-create-heading>span{padding:8px 11px;border-radius:99px;background:var(--teal);color:#fff;font-size:8px;font-weight:850;text-transform:uppercase}.admin-reservation-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.admin-reservation-resident,.admin-reservation-notes{grid-column:span 2}.admin-reservation-form .selected-day-hours{margin:0;align-self:stretch;display:flex;align-items:center}.admin-reservation-form textarea{min-height:84px}.admin-reservation-submit{min-height:48px;grid-column:span 2}
.calendar-selection-hint{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:var(--mint);color:var(--teal);font-size:10px;font-weight:750}.calendar-reservation-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px;background:rgba(7,37,36,.66);backdrop-filter:blur(5px)}.calendar-reservation-dialog{width:min(920px,100%);max-height:min(92vh,900px);margin:0;overflow:auto;box-shadow:0 28px 90px rgba(7,37,36,.34)}.calendar-reservation-close{flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--ink);font-size:26px;cursor:pointer}.calendar-resident-summary{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:10px;padding:14px;border:1px solid rgba(15,119,113,.18);border-radius:13px;background:var(--white)}.calendar-resident-summary div{display:grid;gap:4px;min-width:0}.calendar-resident-summary span{font-size:8px;font-weight:850;text-transform:uppercase;opacity:.5}.calendar-resident-summary strong,.calendar-resident-summary small{font-size:10px;overflow-wrap:anywhere}.calendar-resident-summary small{opacity:.62}.calendar-no-availability{grid-column:1/-1;margin:0}.calendar-reservation-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.calendar-reservation-actions .admin-reservation-submit{grid-column:auto}.calendar-reservation-actions .button{min-height:48px}
.calendar-reservation-dialog .admin-resident-registration{margin:0 0 22px;background:rgba(255,255,255,.82);box-shadow:none}.calendar-reservation-dialog .admin-resident-registration>summary{padding:17px 19px}.calendar-reservation-dialog .admin-resident-registration-body{padding-left:19px;padding-right:19px}
.reservation-use-conditions{display:grid;gap:12px;margin:0;padding:17px;border:1px solid rgba(15,119,113,.2);border-radius:14px;background:var(--mint)}.reservation-use-conditions legend{padding:0 7px;color:var(--teal);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.reservation-use-conditions ul{display:grid;gap:6px;margin:0;padding-left:18px;font-size:9px;line-height:1.45}.admin-reservation-form .reservation-use-conditions{grid-column:1/-1}.reservation-time-grid input[readonly],.admin-reservation-form input[readonly]{background:#eef4f1;color:var(--teal);font-weight:800;cursor:default}
@media(max-width:900px){.admin-reservation-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-reservation-resident,.admin-reservation-notes,.admin-reservation-submit{grid-column:span 2}}
@media(max-width:620px){.admin-reservation-create{padding:19px}.admin-reservation-create-heading{flex-direction:column}.admin-reservation-form{grid-template-columns:1fr}.admin-reservation-resident,.admin-reservation-notes,.admin-reservation-submit{grid-column:auto}.calendar-reservation-backdrop{padding:8px}.calendar-reservation-dialog{max-height:96vh}.calendar-resident-summary{grid-template-columns:1fr}.calendar-reservation-actions{flex-direction:column-reverse}.calendar-reservation-actions .button{width:100%}}
@media(max-width:680px){.calendar-availability-state{gap:1px}.calendar-availability-state strong{font-size:7px}.calendar-availability-state small{display:none}}
.portal-header nav{flex-wrap:wrap;justify-content:flex-end}.census-completion{padding:10px 14px;border-radius:99px;font-size:9px;font-weight:900;text-transform:uppercase;white-space:nowrap}.census-completion.complete{background:var(--mint);color:var(--teal)}.census-completion.incomplete{background:#fff0d3;color:#76591d}.census-privacy{display:flex;align-items:flex-start;gap:14px;margin:32px 0 18px;padding:18px;border:1px solid rgba(15,119,113,.18);border-radius:15px;background:var(--mint)}.census-privacy>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--teal);color:#fff}.census-privacy strong{font-size:11px}.census-privacy p{margin:5px 0 0;font-size:10px;line-height:1.55;opacity:.65}.census-form{display:grid;gap:20px}.census-section{padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.census-section-heading{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:16px;align-items:start;margin-bottom:24px}.census-section-heading>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-size:9px;font-weight:900}.census-section-heading h2{margin:0;font:400 28px Georgia,serif}.census-section-heading p:last-child{max-width:660px;margin:8px 0 0;font-size:10px;line-height:1.55;opacity:.6}.census-add{align-self:center;padding:10px 13px;border:1px solid rgba(15,119,113,.25);border-radius:99px;background:var(--mint);color:var(--teal);font-size:9px;font-weight:850;cursor:pointer}.census-readonly-grid{display:grid;grid-template-columns:1.2fr 1fr 1.3fr 1fr 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden}.census-readonly-grid>div{display:grid;gap:5px;padding:14px;border-right:1px solid var(--line);background:var(--cream);min-width:0}.census-readonly-grid>div:last-child{border:0}.census-readonly-grid span,.census-contact-grid span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;opacity:.48}.census-readonly-grid strong{font-size:10px;overflow-wrap:anywhere}.census-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.census-fields.three{grid-template-columns:repeat(3,1fr);margin-top:0}.census-section .field>span small{margin-left:5px;color:var(--teal);font-size:8px;text-transform:uppercase}.census-repeat-list{display:grid;gap:10px}.census-repeat-row{position:relative;display:grid;gap:11px;align-items:end;padding:16px 50px 16px 16px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.member-row{grid-template-columns:1.35fr 1fr 1fr auto}.vehicle-row{grid-template-columns:.8fr .8fr 1.5fr}.pet-row{grid-template-columns:1fr 1fr}.minor-check{min-height:48px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:9px;font-weight:750}.minor-check input{accent-color:var(--teal)}.remove-row{position:absolute;right:13px;top:50%;width:28px;height:28px;transform:translateY(-50%);border:1px solid rgba(182,74,67,.25);border-radius:50%;background:#fff5f4;color:#a53832;font-size:17px;cursor:pointer}.census-empty-row{margin:0;padding:20px;border:1px dashed var(--line);border-radius:13px;background:var(--cream);font-size:10px;text-align:center;opacity:.58}.census-submit{padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--ink);color:#fff}.census-submit .consent{margin:0 0 20px;color:rgba(255,255,255,.75)}.census-submit>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}.census-submit>div>span{font-size:9px;opacity:.55}.census-submit .button{border:0;background:var(--coral);color:#fff}.census-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:36px 0 20px}.census-stats>div{display:grid;gap:5px;padding:19px;border:1px solid var(--line);border-radius:16px;background:var(--white)}.census-stats span{font-size:8px;font-weight:850;text-transform:uppercase;opacity:.48}.census-stats strong{font:400 29px Georgia,serif}.census-stats small{font-size:8px;color:var(--teal)}.census-directory-toolbar{display:grid;grid-template-columns:minmax(250px,1fr) 130px 150px auto;gap:10px;align-items:end;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--white)}.census-directory-toolbar label{display:grid;gap:7px}.census-directory-toolbar label>span{font-size:8px;font-weight:850;text-transform:uppercase;opacity:.5}.census-directory-toolbar input,.census-directory-toolbar select{width:100%;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--cream);color:var(--ink);font:inherit;font-size:10px}.census-directory-toolbar button{height:42px;padding:0 15px;border:0;border-radius:99px;background:var(--teal);color:#fff;font-size:9px;font-weight:850;cursor:pointer}.census-directory-toolbar button:disabled{cursor:not-allowed;opacity:.45}.census-results-heading{display:flex;justify-content:space-between;gap:20px;margin:20px 0 10px;font-size:10px}.census-results-heading span{font-weight:850}.census-results-heading small{opacity:.55}.census-admin-list{display:grid;gap:13px}.census-admin-card{padding:22px;border:1px solid var(--line);border-radius:19px;background:var(--white)}.census-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.census-card-heading>div>span{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}.census-card-heading h2{margin:6px 0 3px;font:400 23px Georgia,serif}.census-card-heading p{margin:0;font-size:9px;opacity:.55}.census-contact-grid{display:grid;grid-template-columns:1.4fr .75fr 1.2fr .9fr;gap:9px;margin-top:18px;padding:14px;border-radius:13px;background:var(--mint)}.census-contact-grid>div{display:grid;gap:4px;min-width:0}.census-contact-grid strong,.census-contact-grid a{color:var(--ink);font-size:10px;overflow-wrap:anywhere}.census-contact-grid small{font-size:8px;opacity:.6}.census-admin-card details{margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.census-admin-card summary{font-size:9px;font-weight:850;cursor:pointer}.census-detail-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:12px;margin-top:14px}.census-detail-grid>section{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.census-detail-grid h3{margin:0 0 10px;font:400 18px Georgia,serif}.census-detail-grid p{margin:0;font-size:9px;opacity:.55}.census-detail-grid ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.census-detail-grid li{display:grid;gap:2px;padding:8px;border-radius:8px;background:#fff}.census-detail-grid strong{font-size:9px}.census-detail-grid span,.census-detail-grid small{font-size:8px;opacity:.6}
@media(max-width:1000px){.census-readonly-grid{grid-template-columns:1fr 1fr}.census-readonly-grid>div{border-bottom:1px solid var(--line)}.census-fields.three{grid-template-columns:1fr 1fr}.member-row{grid-template-columns:1fr 1fr}.census-stats{grid-template-columns:1fr 1fr}.census-directory-toolbar{grid-template-columns:1fr 1fr 1fr}.census-search{grid-column:1/-1}.census-contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.census-section{padding:20px}.census-section-heading{grid-template-columns:36px 1fr}.census-section-heading>span{width:36px;height:36px}.census-section-heading .census-add{grid-column:1/-1;width:100%}.census-readonly-grid,.census-fields,.census-fields.three,.member-row,.vehicle-row,.pet-row,.census-stats,.census-directory-toolbar,.census-contact-grid,.census-detail-grid{grid-template-columns:1fr}.census-repeat-row{padding-right:16px;padding-top:48px}.remove-row{top:12px;right:12px;transform:none}.census-submit>div,.census-results-heading{align-items:flex-start;flex-direction:column}.census-submit .button{width:100%}.census-directory-toolbar .census-search{grid-column:auto}.census-directory-toolbar button{width:100%}}
.census-readonly-grid{grid-template-columns:1.2fr .9fr 1fr 1.25fr .85fr 1fr}.census-contact-grid{grid-template-columns:1.35fr .9fr .65fr 1.1fr .85fr}@media(max-width:1000px){.census-readonly-grid,.census-contact-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.census-readonly-grid,.census-contact-grid{grid-template-columns:1fr}}

.privacy-renewal{margin:30px 0;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(15,119,113,.24);border-radius:20px;background:var(--mint)}.privacy-renewal h2{margin:0;font:400 28px Georgia,serif}.privacy-renewal p:last-child{margin:9px 0 0;font-size:11px;line-height:1.6;opacity:.7}.privacy-renewal a{color:var(--teal);font-weight:850;text-decoration:underline;text-underline-offset:2px}.privacy-renewal button{flex:0 0 auto;border:0;white-space:nowrap}@media(max-width:680px){.privacy-renewal{align-items:flex-start;flex-direction:column}.privacy-renewal button{width:100%}}
.record-delete-button{margin-top:14px;border:1px solid #d7aaa3;border-radius:999px;background:#fff7f5;color:#9b3b32;padding:9px 14px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.record-delete-button:hover{background:#fbe9e5}.record-delete-button:disabled{cursor:not-allowed;opacity:.55}
.assembly-resident-actions{display:flex;flex:0 0 auto;align-items:flex-end;flex-direction:column;gap:8px}.assembly-resident-actions .record-delete-button{margin-top:0}

/* Portal exclusivo de seguridad */
.security-weekly-report{display:grid;grid-template-columns:minmax(260px,1fr) 180px 135px auto;gap:18px;align-items:end;margin:30px 0;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--white)}.security-weekly-report h2{margin:4px 0 7px;font:400 27px Georgia,serif}.security-weekly-report p:last-child{margin:0;font-size:10px;line-height:1.55;opacity:.65}.security-weekly-report>div:nth-child(3){display:grid;gap:3px;padding:11px;border-radius:11px;background:var(--mint)}.security-weekly-report>div:nth-child(3) strong{font:400 27px Georgia,serif}.security-weekly-report>div:nth-child(3) small{font-size:8px;line-height:1.4}.security-move-list{display:grid;gap:20px}.security-move-card{padding:clamp(22px,4vw,34px);border:1px solid var(--line);border-radius:24px;background:var(--white);box-shadow:0 16px 45px rgba(20,60,58,.05)}.security-move-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.security-move-card>header h2{margin:4px 0 6px;font:400 29px Georgia,serif}.security-move-card>header p:last-child{margin:0;font-size:10px;opacity:.62}.security-resident-information{display:grid;grid-template-columns:1.35fr 1fr 1.2fr 1.1fr;gap:1px;margin:20px 0;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}.security-resident-information>div{display:grid;gap:4px;min-width:0;padding:14px;background:var(--cream)}.security-resident-information span{font-size:8px;font-weight:850;text-transform:uppercase;opacity:.48}.security-resident-information strong,.security-resident-information a{color:var(--ink);font-size:10px;overflow-wrap:anywhere}.security-resident-information small{font-size:8px;line-height:1.45;opacity:.64}.security-move-details{display:grid;gap:5px;padding:14px;border-left:3px solid var(--teal);background:var(--mint);font-size:10px;line-height:1.6}.security-thread{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--cream)}.security-thread-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.security-thread-heading h3{margin:4px 0 0;font:400 23px Georgia,serif}.security-thread-heading>span{font-size:8px;font-weight:850;text-transform:uppercase}.security-event-list,.security-message-list{display:grid;gap:8px;margin-top:15px}.security-event-list{grid-template-columns:repeat(3,minmax(0,1fr))}.security-event-list article,.security-message-list article{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.security-event-list strong{font-size:9px;color:var(--teal)}.security-event-list p,.security-message-list p{margin:5px 0;font-size:9px;line-height:1.55;white-space:pre-wrap}.security-event-list time,.security-message-list time{font-size:7px;opacity:.55}.security-message-list article>div{display:flex;justify-content:space-between;gap:12px}.security-message-list strong{font-size:9px}.security-empty{padding:14px;border:1px dashed var(--line);border-radius:10px;font-size:9px;text-align:center;opacity:.6}.security-message-form{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:end;margin-top:16px}.security-message-form textarea{min-height:90px}.security-event-form{display:grid;grid-template-columns:170px 1fr auto;gap:10px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.security-event-form textarea{min-height:72px}.security-message-form .button,.security-event-form .button{min-height:48px}
@media(max-width:950px){.security-weekly-report{grid-template-columns:1fr 1fr}.security-resident-information{grid-template-columns:1fr 1fr}.security-message-form,.security-event-form{grid-template-columns:1fr 1fr}.security-message-form .button,.security-event-form .button{grid-column:1/-1}}@media(max-width:620px){.security-weekly-report,.security-resident-information,.security-message-form,.security-event-form,.security-event-list{grid-template-columns:1fr}.security-move-card>header{align-items:flex-start;flex-direction:column}.security-message-form .button,.security-event-form .button{grid-column:auto}}
.census-fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}.census-repeat-row.member-row,.census-repeat-row.vehicle-row,.census-repeat-row.pet-row{grid-template-columns:repeat(3,minmax(0,1fr))}.census-choice{width:max-content;max-width:100%;min-height:48px;display:flex;align-items:center;gap:9px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:9px;font-weight:750}.census-choice input{accent-color:var(--teal)}.census-add:disabled{cursor:not-allowed;opacity:.45}.census-detail-grid.extended{grid-template-columns:repeat(2,minmax(0,1fr))}.census-detail-grid.extended p{margin:0 0 8px}
@media(max-width:1000px){.census-fields.four,.census-repeat-row.member-row,.census-repeat-row.vehicle-row,.census-repeat-row.pet-row{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.census-fields.four,.census-repeat-row.member-row,.census-repeat-row.vehicle-row,.census-repeat-row.pet-row,.census-detail-grid.extended{grid-template-columns:1fr}}
.facial-consent-notice{margin:4px 0}.facial-consent-notice strong{display:block;margin-bottom:6px}.facial-consent-notice p{margin:7px 0}.facial-consent-notice a{color:var(--teal);font-weight:800;text-decoration:underline}.pqrs-form .bulletin-check{align-items:flex-start;line-height:1.5}.pqrs-form .bulletin-check input{margin-top:2px;flex:0 0 auto}.facial-consent-proof{margin:16px 0 0}.facial-consent-proof p{margin:5px 0}

/* Asambleas y votaciones */
.assembly-law-note{margin:0 0 26px;padding:22px 25px;border-left:4px solid var(--teal);border-radius:0 15px 15px 0;background:var(--mint)}.assembly-law-note strong{font:400 22px Georgia,serif}.assembly-law-note p{margin:8px 0 0;font-size:12px;line-height:1.7;opacity:.74}.assembly-list{display:grid;gap:24px}.assembly-card,.assembly-control{padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:26px;background:var(--white);box-shadow:0 18px 50px rgba(20,60,58,.06)}.assembly-card>header,.assembly-control>header{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}.assembly-card h2,.assembly-control h2{margin:6px 0 8px;font:400 clamp(28px,4vw,40px) Georgia,serif}.assembly-card header small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;opacity:.58}.assembly-card header p,.assembly-control header p{margin:0;font-size:11px;opacity:.7}.assembly-card a,.assembly-document-link{color:var(--teal);font-weight:800;text-decoration:underline;text-underline-offset:3px}.assembly-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:25px 0;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.assembly-metrics>div{min-width:0;padding:18px;background:var(--cream)}.assembly-metrics span,.assembly-metrics small{display:block;font-size:9px;line-height:1.4;opacity:.58}.assembly-metrics strong{display:block;margin:6px 0;font:400 22px Georgia,serif}.assembly-agenda,.assembly-minutes{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:14px}.assembly-agenda summary,.assembly-minutes summary{font-size:11px;font-weight:850;cursor:pointer}.pre-line{white-space:pre-line}.attachment-list{display:flex;flex-wrap:wrap;gap:10px}.assembly-questions,.assembly-results{margin-top:30px}.assembly-questions>h3,.assembly-results>h3,.assembly-admin-columns h3{font:400 25px Georgia,serif}.assembly-question{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.assembly-question h4{margin:5px 0;font-size:16px}.assembly-question p{max-width:720px;margin:7px 0;font-size:11px;line-height:1.6;opacity:.72}.assembly-question small{font-size:8px;text-transform:uppercase;letter-spacing:.07em;opacity:.6}.legal-tag{display:inline-block;padding:7px 9px;border-radius:8px;background:#fff1d8;color:#735313}.vote-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.vote-actions button,.assembly-status-actions button,.assembly-question-admin button{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--cream);color:var(--ink);font:inherit;font-size:9px;font-weight:850;cursor:pointer}.vote-actions button:first-child{background:var(--teal);color:#fff}.vote-actions button:disabled,.assembly-status-actions button:disabled{opacity:.42;cursor:not-allowed}.assembly-result{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;margin:16px 0;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--cream)}.assembly-pie{width:170px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.assembly-pie>span{width:88px;aspect-ratio:1;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--white);font:400 22px Georgia,serif}.assembly-pie small{display:block;margin-top:3px;font:700 7px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}.assembly-result h4{margin:0 0 7px;font:400 20px Georgia,serif}.assembly-decision{font-size:10px;font-weight:850}.assembly-decision.approved{color:#19714f}.assembly-decision.not-approved{color:#8c4b33}.assembly-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px 20px;padding:0;list-style:none}.assembly-legend li{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:9px}.assembly-legend i{width:9px;height:9px;border-radius:50%}.assembly-selector{display:flex;gap:10px;overflow:auto;margin-bottom:18px;padding-bottom:5px}.assembly-selector button{min-width:210px;padding:14px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);cursor:pointer}.assembly-selector button.active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.assembly-selector small{display:block;margin-top:5px;font-size:8px;opacity:.58}.assembly-status-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.assembly-admin-form{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.assembly-wide{grid-column:1/-1}.assembly-admin-form>.button{grid-column:1/-1;justify-self:start}.assembly-admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.assembly-admin-columns>section{min-width:0;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--cream)}.assembly-attendee,.assembly-question-admin{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:10px}.assembly-attendee span,.assembly-question-admin small{display:block;font-size:8px;opacity:.62}.assembly-question-admin>div:last-child{display:flex;gap:5px}.assembly-document-link{display:block;padding:8px 0;font-size:10px}
.assembly-proxy-warning{margin:0;padding:12px;border:1px solid #e4c992;border-radius:10px;background:#fff4dc;font-size:9px;line-height:1.55}.unit-votes{display:grid;gap:8px}.unit-votes>div{display:flex;align-items:center;justify-content:flex-end;gap:10px}.unit-votes small{font-weight:900;color:var(--teal);opacity:1}
@media(max-width:850px){.assembly-admin-form{grid-template-columns:1fr 1fr}.assembly-admin-columns{grid-template-columns:1fr}.assembly-card>header,.assembly-control>header,.assembly-question{align-items:flex-start;flex-direction:column}.vote-actions,.assembly-status-actions{justify-content:flex-start}.assembly-result{grid-template-columns:1fr}.assembly-pie{margin:auto}.unit-votes>div{align-items:flex-start;flex-direction:column}}
@media(max-width:850px){.assembly-resident-actions{align-items:flex-start}}
@media(max-width:560px){.assembly-admin-form,.assembly-metrics,.assembly-legend{grid-template-columns:1fr}.assembly-wide{grid-column:auto}.assembly-result{padding:16px}.assembly-pie{width:150px}}

/* Puerto Paraíso OS — administration command center */
.admin-os-page .notice{margin-top:28px}.admin-os-section{margin-top:30px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--white);box-shadow:0 16px 45px rgba(20,60,58,.05)}.admin-os-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.admin-os-section>header small{font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--teal)}.admin-os-section>header h2{margin:6px 0 0;font:400 29px Georgia,serif}.admin-os-section>header>span{padding:8px 11px;border-radius:99px;background:var(--mint);font-size:9px;font-weight:800}.admin-os-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-os-metric{min-height:140px;padding:20px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;background:var(--cream)}.admin-os-metric small{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.58}.admin-os-metric strong{margin:12px 0 8px;font:400 38px Georgia,serif}.admin-os-metric span{margin-top:auto;font-size:10px;line-height:1.45;opacity:.66}.admin-os-metric.warning{border-color:#dfbe76;background:#fff8e7}.admin-os-metric.critical{border-color:#dba9a4;background:#fff4f2}.admin-os-coming{background:rgba(255,255,255,.58)}.admin-os-coming .admin-os-metric{opacity:.72}.admin-os-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:24px}.admin-task-list{display:grid;gap:10px}.admin-task{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:14px;background:var(--cream)}.admin-task.priority-high{border-left-color:#d89c34}.admin-task.priority-critical{border-left-color:#b64a43}.admin-task small{font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;opacity:.58}.admin-task h3{margin:6px 0;font-size:14px}.admin-task p{margin:0 0 8px;font-size:10px;line-height:1.55;opacity:.7}.admin-task span{font-size:9px;font-weight:700}.admin-task-actions{display:flex;flex:0 0 auto;gap:7px}.admin-task button{flex:0 0 auto;padding:9px 12px;border:0;border-radius:9px;background:var(--teal);color:#fff;font-size:9px;font-weight:850;cursor:pointer}.admin-task .task-cancel{background:#80745f}.admin-task .task-delete{background:#a33f39}.admin-task button:disabled{opacity:.5}.admin-task-form{align-self:start;display:grid;gap:16px}.admin-task-form>header{margin-bottom:2px}.admin-task-form textarea{min-height:100px;padding:12px 13px;resize:vertical;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit}.admin-task-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-task-form .button{border:0;justify-self:start}
@media(max-width:920px){.admin-os-metrics{grid-template-columns:repeat(2,1fr)}.admin-os-workspace{grid-template-columns:1fr}}
@media(max-width:560px){.admin-os-section{padding:20px}.admin-os-metrics,.admin-task-form-row{grid-template-columns:1fr}.admin-task{align-items:flex-start;flex-direction:column}.admin-task-actions{width:100%;flex-direction:column}.admin-task button{width:100%}}
.admin-task>div>span{display:block;margin-top:5px}.admin-task-assignment-fields{display:grid;grid-template-columns:minmax(190px,1fr) minmax(145px,.65fr);gap:8px;margin:9px 0}.admin-task-assignee{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.admin-task-assignee span{margin:0;font-size:9px}.admin-task-assignee select,.admin-task-assignee input{width:100%;min-height:34px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:10px}
@media(max-width:720px){.admin-task-assignment-fields{grid-template-columns:1fr}}

/* Puerto Paraíso OS — Sprint 4: gestión contractual */
.contract-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:34px 0}.contract-metric{min-height:135px;padding:20px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;background:var(--white)}.contract-metric small{font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;opacity:.58}.contract-metric strong{margin:12px 0 8px;font:400 clamp(24px,3vw,34px) Georgia,serif}.contract-metric span{margin-top:auto;font-size:9px;opacity:.66}.contract-metric.warning{border-color:#dfbe76;background:#fff8e7}.contract-metric.critical{border-color:#dba9a4;background:#fff4f2}.contract-create{margin:0 0 36px;border:1px solid var(--line);border-radius:22px;background:var(--white);overflow:hidden}.contract-create>summary{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;cursor:pointer;list-style:none}.contract-create>summary::-webkit-details-marker{display:none}.contract-create>summary span{display:grid;gap:5px}.contract-create>summary strong{font:400 27px Georgia,serif}.contract-create>summary small{font-size:9px;opacity:.6}.contract-create>summary b{display:grid;place-content:center;width:38px;height:38px;border-radius:50%;background:var(--teal);color:#fff;font-size:20px}.contract-create[open]>summary b{transform:rotate(45deg)}.contract-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 28px 28px;border-top:1px solid var(--line)}.contract-form>.field:first-child,.contract-form>.field:nth-child(2),.contract-form>.field:nth-child(3){margin-top:24px}.contract-form textarea{min-height:90px}.contract-wide{grid-column:1/-1}.contract-check{display:flex;align-items:center;gap:9px;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:9px;font-weight:750}.contract-check input{accent-color:var(--teal)}.contract-form>.button{grid-column:1/-1;justify-self:start;border:0}.contract-list>.pqrs-list-heading{margin-bottom:18px}.contract-card{margin-bottom:20px;padding:clamp(22px,4vw,34px);border:1px solid var(--line);border-radius:24px;background:var(--white);box-shadow:0 16px 45px rgba(20,60,58,.05)}.contract-card.urgent{border-color:#dba9a4;box-shadow:0 16px 45px rgba(150,60,50,.08)}.contract-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.contract-card>header small{font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}.contract-card>header h2{max-width:850px;margin:6px 0;font:400 clamp(24px,3vw,34px) Georgia,serif}.contract-card>header p{margin:0;font-size:10px;opacity:.66}.contract-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:24px 0;background:var(--line);border:1px solid var(--line);border-radius:15px;overflow:hidden}.contract-facts>div{padding:17px;background:var(--cream)}.contract-facts span,.contract-facts small{display:block;font-size:8px;line-height:1.45;opacity:.58}.contract-facts strong{display:block;margin:6px 0;font-size:11px}.contract-notes{padding:14px;border-left:3px solid var(--teal);background:var(--mint);font-size:10px;line-height:1.6}.contract-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.contract-columns>section{min-width:0;padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--cream)}.contract-columns h3{margin:0 0 14px;font:400 22px Georgia,serif}.contract-empty{font-size:9px;opacity:.6}.contract-milestone{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.contract-milestone strong,.contract-milestone small{display:block}.contract-milestone strong{font-size:10px}.contract-milestone small{margin-top:4px;font-size:8px;opacity:.6}.contract-milestone button,.contract-milestone>span,.contract-inline-form button{padding:8px 10px;border:0;border-radius:8px;background:var(--teal);color:#fff;font:inherit;font-size:8px;font-weight:850;cursor:pointer}.contract-milestone.completed{opacity:.62}.contract-milestone.completed>span{background:var(--mint);color:var(--teal)}.contract-inline-form{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:7px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.contract-inline-form input,.contract-inline-form select{min-width:0;min-height:38px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:9px}.contract-document-form{grid-template-columns:120px 1fr auto}.contract-documents{display:grid;gap:7px}.contract-documents a{padding:8px 10px;border-radius:8px;background:#fff;color:var(--teal);font-size:9px;font-weight:800;overflow-wrap:anywhere}.contract-card>footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.contract-card>footer .button{border:0}.contract-card button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:980px){.contract-metrics{grid-template-columns:1fr 1fr}.contract-form{grid-template-columns:1fr 1fr}.contract-columns{grid-template-columns:1fr}.contract-wide{grid-column:1/-1}.contract-inline-form{grid-template-columns:1fr 1fr}.contract-inline-form button{grid-column:1/-1}.contract-document-form{grid-template-columns:1fr 1fr}.contract-document-form button{grid-column:1/-1}}
@media(max-width:620px){.contract-metrics,.contract-form,.contract-facts{grid-template-columns:1fr}.contract-wide{grid-column:auto}.contract-card>header{flex-direction:column}.contract-inline-form,.contract-document-form{grid-template-columns:1fr}.contract-inline-form button,.contract-document-form button{grid-column:auto}.contract-card>footer{align-items:stretch;flex-direction:column}.contract-card>footer .button,.contract-card>footer .record-delete-button{width:100%}}
/* Preparación de recaudo PSE */
.payment-pending-badge{padding:10px 14px;border:1px solid #dfbd75;border-radius:99px;background:#fff2d7;color:#785716;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.payment-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;margin-top:38px}.payment-account-card,.payment-safety-card,.payment-readiness,.bank-requirements,.payment-decision-note,.payment-faq{padding:clamp(24px,4vw,38px);border:1px solid var(--line);border-radius:24px;background:var(--white)}.payment-account-card h2,.payment-safety-card h2,.payment-readiness h2,.bank-requirements h2,.payment-decision-note h2,.payment-faq h2{margin:5px 0 22px;font:400 30px Georgia,serif}.payment-account-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.payment-account-card dl div{padding:13px;border-radius:11px;background:var(--cream)}.payment-account-card dt{font-size:8px;text-transform:uppercase;opacity:.5}.payment-account-card dd{margin:6px 0 0;font-size:10px;font-weight:800}.payment-empty-balance{margin:24px 0;padding:20px;border:1px dashed var(--line);border-radius:16px;background:var(--cream)}.payment-empty-balance span,.payment-empty-balance strong{display:block}.payment-empty-balance span{font-size:9px;text-transform:uppercase;opacity:.52}.payment-empty-balance strong{margin:8px 0;font:400 24px Georgia,serif}.payment-empty-balance p,.payment-status,.payment-safety-card li,.payment-faq p,.payment-decision-note p{font-size:11px;line-height:1.65}.payment-button{width:100%;border:0}.payment-status{margin:13px 0 0;text-align:center;opacity:.68}.payment-safety-card ol{display:grid;gap:14px;padding-left:23px}.payment-safety-card li{padding-left:7px}.payment-safety-card .notice{margin:25px 0 0}.payment-safety-card .notice p{margin:7px 0 0}.payment-faq{margin-top:24px}.payment-readiness{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;margin-top:36px}.payment-readiness>section>p:not(.auth-step){font-size:12px;line-height:1.65;opacity:.7}.payment-progress{height:12px;position:relative;margin-top:24px;border-radius:99px;background:#e7e2d7;overflow:hidden}.payment-progress span{display:block;height:100%;border-radius:inherit;background:var(--teal)}.payment-progress small{position:absolute;left:14px;top:17px;font-size:8px;font-weight:800}.payment-readiness aside{display:grid;align-content:start;gap:9px;padding:21px;border-radius:16px;background:var(--ink);color:#fff}.payment-readiness aside strong{font-size:11px}.payment-readiness code{padding:9px;border-radius:8px;background:rgba(255,255,255,.09);font-size:9px;overflow-wrap:anywhere}.payment-readiness aside p{font-size:9px;line-height:1.6;opacity:.62}.bank-requirements{margin-top:28px}.bank-requirements>.pqrs-list-heading>p:last-child{font-size:11px;line-height:1.6;opacity:.68}.bank-requirements>div:last-child{display:grid;gap:1px;margin-top:25px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--line)}.bank-requirements article{display:grid;grid-template-columns:38px 1fr auto;gap:15px;align-items:center;padding:17px;background:var(--cream)}.bank-requirements article>span{color:var(--coral);font:italic 15px Georgia,serif}.bank-requirements h3{margin:0;font-size:12px}.bank-requirements article p{margin:5px 0 0;font-size:9px;line-height:1.55;opacity:.66}.bank-requirements article b{padding:7px 9px;border-radius:99px;background:#fff1d6;color:#785716;font-size:7px;text-transform:uppercase}.payment-decision-note{margin-top:28px;border-left:5px solid var(--teal)}
@media(max-width:800px){.payment-layout,.payment-readiness{grid-template-columns:1fr}.payment-account-card dl{grid-template-columns:1fr}.bank-requirements article{grid-template-columns:30px 1fr}.bank-requirements article b{grid-column:2;justify-self:start}}

/* Búsqueda global, alertas y reportes administrativos */
.portal-header-actions{min-width:0;display:grid;justify-items:end;gap:9px}.portal-global-search{display:flex;align-items:center;gap:6px}.portal-global-search input{width:190px;height:34px;padding:0 11px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font:inherit;font-size:10px}.portal-global-search button{height:34px;padding:0 12px;background:var(--mint);color:var(--teal);font-size:9px;font-weight:850}.admin-request-alert{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:9px;font-weight:800}.admin-request-alert>span{color:var(--teal)}.admin-request-alert button{padding:7px 10px;font-size:8px}.admin-request-alert button.active{border-color:var(--teal);background:var(--teal);color:#fff}.biweekly-report-card{display:grid;grid-template-columns:minmax(250px,1fr) 230px auto;gap:20px;align-items:end;margin:34px 0;padding:24px;border:1px solid rgba(15,119,113,.22);border-radius:22px;background:linear-gradient(135deg,var(--white),var(--mint))}.biweekly-report-card h2,.published-bulletins h2{margin:0;font:400 28px Georgia,serif}.biweekly-report-card p:last-child{margin:7px 0 0;font-size:10px;line-height:1.55;opacity:.66}.biweekly-report-actions{display:flex;gap:8px}.biweekly-report-actions .button{min-height:44px;border:0;white-space:nowrap;cursor:pointer}.certifications-service-layout{align-items:start}.certifications-service-layout .service-form-card{position:static}.resident-apartment-badge,.authorization-apartment-display{display:grid;gap:4px;margin:11px 0;padding:12px 15px;border:1px solid rgba(15,119,113,.22);border-radius:12px;background:var(--mint)}.resident-apartment-badge span,.authorization-apartment-display span{font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--teal)}.resident-apartment-badge strong,.authorization-apartment-display strong{font:400 19px Georgia,serif;color:var(--ink)}.authorization-apartment-display{grid-column:span 2;margin:0;align-self:stretch}.authorization-apartment-display small{font-size:8px;opacity:.6}.published-bulletins{max-width:900px;margin-top:38px}.published-bulletins>div:first-child{margin-bottom:17px}.published-bulletin-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px;padding:21px;border:1px solid var(--line);border-radius:17px;background:var(--white)}.published-bulletin-card small{font-size:8px;font-weight:850;text-transform:uppercase;color:var(--teal)}.published-bulletin-card h3{margin:6px 0;font:400 22px Georgia,serif}.published-bulletin-card p{margin:0;font-size:10px;line-height:1.55;opacity:.66}.published-bulletin-card .record-delete-button{flex:0 0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){.portal-header{flex-wrap:wrap}.portal-header-actions{width:100%;justify-items:stretch}.portal-global-search input{flex:1;width:auto}.admin-request-alert{justify-content:flex-start}.biweekly-report-card{grid-template-columns:1fr 1fr}.biweekly-report-card>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.biweekly-report-card{grid-template-columns:1fr}.biweekly-report-card>div:first-child{grid-column:auto}.biweekly-report-actions{flex-direction:column}.authorization-apartment-display{grid-column:auto}.published-bulletin-card{align-items:flex-start;flex-direction:column}.portal-global-search{width:100%}}

/* Keep Certificaciones in normal document flow so new records cannot scroll behind the form. */
.certifications-service-layout{display:block}
.certifications-service-layout .service-form-card{position:relative!important;top:auto;inset:auto;z-index:auto}
.certifications-service-layout .service-history{margin-top:32px}
.admin-certifications-page .service-form-card{position:static!important;top:auto;inset:auto;z-index:auto}

.council-minutes-panel{margin-top:26px}.council-minutes{padding:22px 0;border-top:1px solid var(--line)}.council-minutes>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.council-minutes>header small,.council-minutes>header span{display:block;font-size:9px;opacity:.58}.council-minutes>header h3{margin:5px 0;font:400 22px Georgia,serif}.council-minutes-copy{margin:16px 0;padding:16px;border-radius:13px;background:var(--cream)}.council-minutes-copy p{margin:0;font-size:10px;line-height:1.7;white-space:pre-wrap}.council-minutes h4{margin:16px 0 9px;font:400 17px Georgia,serif}.council-minutes ul{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 14px;padding:0;list-style:none}.council-minutes li{padding:11px;border:1px solid var(--line);border-radius:11px}.council-minutes li strong,.council-minutes li span,.council-minutes li small{display:block}.council-minutes li strong{font-size:10px}.council-minutes li span,.council-minutes li small{margin-top:4px;font-size:8px;opacity:.58;overflow-wrap:anywhere}.council-minutes-form{display:grid;gap:10px;margin-top:15px}.council-minutes-form p{margin:0;font-size:10px;line-height:1.6;opacity:.68}.council-minutes-form label span{display:block;margin-bottom:7px;font-size:9px;font-weight:850}.council-minutes-form textarea{width:100%;min-height:140px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-size:10px;line-height:1.6;resize:vertical}.council-minutes-form button{justify-self:start;padding:10px 14px;border:0;border-radius:99px;background:var(--teal);color:#fff;font-size:9px;font-weight:850;cursor:pointer}.council-minutes-form button:disabled{cursor:wait;opacity:.5}@media(max-width:620px){.council-minutes ul{grid-template-columns:1fr}.council-minutes>header{flex-direction:column}}
.council-meeting-body>.council-minutes-inline{grid-column:1/-1;border:1px solid rgba(15,110,104,.22);background:#f2faf8}.council-minutes-inline>.council-actions{margin-top:14px}.council-minutes-inline>.council-actions button{background:var(--teal);border-color:var(--teal)}

/* Sprint 4 complete supplier, insurance and alert portfolio */
.contracts-page .contract-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.contract-extractor{margin-top:24px!important;padding:18px;border:1px dashed rgba(15,119,113,.35);border-radius:14px;background:var(--mint)}.contract-extractor input{height:auto;padding:12px;background:#fff}.contract-extractor small{line-height:1.6;color:var(--teal);opacity:1}.contract-alert-strip{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.contract-alert-strip span{padding:7px 10px;border-radius:99px;background:#edf0ef;font-size:8px;font-weight:850}.contract-alert-strip .due.alert-90{background:#fff4d8;color:#77591a}.contract-alert-strip .due.alert-60{background:#ffe6c5;color:#854d17}.contract-alert-strip .due.alert-30{background:#fee1de;color:#9a3530}.contract-alert-strip .resolved{opacity:.5}.supplier-card .contract-inline-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.supplier-card .contract-document-form{grid-template-columns:150px 1fr auto}.supplier-card .contract-notes{margin:8px 0}.service-status.status-blocked,.service-status.status-expired{background:#fee1de;color:#96372f}.service-status.status-inactive,.service-status.status-cancelled{background:#ecebea;color:#5e5a57}
.supplier-import-panel{display:grid;grid-template-columns:minmax(230px,1.25fr) minmax(180px,.75fr) minmax(280px,1.4fr);align-items:end;gap:14px;margin-top:24px;padding:18px;border:1px dashed rgba(15,119,113,.38);border-radius:14px;background:var(--mint)}.supplier-import-panel>div{align-self:center}.supplier-import-panel strong,.supplier-import-panel small{display:block}.supplier-import-panel strong{font-size:12px}.supplier-import-panel small{margin-top:6px;color:var(--teal);font-size:8px;line-height:1.55}.supplier-import-panel .field{margin:0}.supplier-import-panel .spanish-file-input{background:#fff}.supplier-import-summary{grid-column:1/-1;margin:0;padding:10px 12px;border-radius:9px;background:#fff;color:var(--teal);font-size:9px;font-weight:750}
@media(max-width:1100px){.contracts-page .contract-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.supplier-import-panel{grid-template-columns:1fr 1fr}.supplier-import-panel>div{grid-column:1/-1}}
@media(max-width:700px){.contracts-page .contract-metrics{grid-template-columns:1fr 1fr}.supplier-card .contract-inline-form,.supplier-card .contract-document-form,.supplier-import-panel{grid-template-columns:1fr}.supplier-import-panel>div{grid-column:auto}}

/* Administration staff accounts */
.admin-staff-registration{margin:30px 0 24px}.admin-task-assignee select{min-height:34px}

/* Sprint 8 — intelligent PQRS */
.pqrs-intelligent-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0}.pqrs-intelligent-dashboard article{display:flex;min-height:105px;flex-direction:column;justify-content:space-between;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--white)}.pqrs-intelligent-dashboard small{font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;opacity:.6}.pqrs-intelligent-dashboard strong{font:400 31px Georgia,serif}.pqrs-intelligent-dashboard .warning{border-color:#dfbe76;background:#fff8e7}.pqrs-intelligent-dashboard .critical{border-color:#dba9a4;background:#fff4f2}.intelligent-pqrs{border-left:5px solid var(--teal)}.intelligent-pqrs.priority-high{border-left-color:#dc9530}.intelligent-pqrs.priority-critical{border-left-color:#b64a43}.pqrs-smart-badges{display:flex;align-items:center;gap:7px}.pqrs-workflow{padding:8px 11px;border-radius:99px;background:var(--mint);color:var(--teal);font-size:8px;font-weight:900;white-space:nowrap}.pqrs-workflow.stage-warning{background:#fff0ce;color:#765411}.pqrs-workflow.stage-overdue,.pqrs-workflow.stage-escalated{background:#fee1de;color:#96372f}.pqrs-intelligence{margin:20px 0;padding:19px;border:1px solid rgba(15,119,113,.2);border-radius:16px;background:linear-gradient(135deg,#f0f9f6,#fff)}.pqrs-intelligence>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.pqrs-intelligence>header small,.pqrs-intelligence>header strong{display:block}.pqrs-intelligence>header small{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--teal)}.pqrs-intelligence>header strong{margin-top:5px;font:400 20px Georgia,serif}.pqrs-intelligence>header>span{padding:7px 9px;border-radius:99px;background:var(--mint);font-size:8px;font-weight:850}.pqrs-intelligence dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0 10px}.pqrs-intelligence dl div{padding:10px;border-radius:9px;background:#fff}.pqrs-intelligence dt{font-size:7px;text-transform:uppercase;opacity:.55}.pqrs-intelligence dd{margin:5px 0 0;font-size:9px;font-weight:800}.pqrs-intelligence dl .sla-late{background:#fee1de;color:#923a32}.pqrs-intelligence>small{font-size:8px;opacity:.62}.pqrs-ai-draft{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:14px;border:1px solid rgba(15,119,113,.25);border-radius:12px;background:var(--mint)}.pqrs-ai-draft strong,.pqrs-ai-draft small{display:block}.pqrs-ai-draft strong{font-size:10px}.pqrs-ai-draft small{margin-top:4px;font-size:8px;line-height:1.5;opacity:.66}.pqrs-ai-draft button,.pqrs-assignment button{padding:9px 12px;border:0;border-radius:9px;background:var(--teal);color:#fff;font:inherit;font-size:8px;font-weight:850;cursor:pointer}.pqrs-ai-draft>span{grid-column:1/-1;font-size:8px;font-weight:850;color:var(--teal)}.pqrs-assignment{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr auto;gap:10px;align-items:end;margin-top:20px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.pqrs-assignment>div strong,.pqrs-assignment>div small{display:block}.pqrs-assignment>div strong{font-size:11px}.pqrs-assignment>div small{margin-top:5px;font-size:8px;line-height:1.4;opacity:.62}.pqrs-assignment label span{display:block;margin-bottom:6px;font-size:8px;font-weight:800}.pqrs-assignment select,.pqrs-assignment input{width:100%;min-height:38px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:8px}.resident-pqrs-intelligence{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0;padding:12px;border:1px solid rgba(15,119,113,.18);border-radius:13px;background:var(--mint)}.resident-pqrs-intelligence>div{padding:8px;border-radius:8px;background:rgba(255,255,255,.75)}.resident-pqrs-intelligence small,.resident-pqrs-intelligence strong{display:block}.resident-pqrs-intelligence small{font-size:7px;text-transform:uppercase;opacity:.55}.resident-pqrs-intelligence strong{margin-top:5px;font-size:9px}.intelligent-pqrs-page .biweekly-report-card{margin-top:20px}
@media(max-width:1000px){.pqrs-intelligent-dashboard{grid-template-columns:repeat(2,1fr)}.pqrs-assignment{grid-template-columns:1fr 1fr}.pqrs-assignment>div{grid-column:1/-1}.pqrs-assignment button{grid-column:1/-1}}
@media(max-width:620px){.pqrs-intelligent-dashboard,.pqrs-intelligence dl,.resident-pqrs-intelligence{grid-template-columns:1fr}.pqrs-smart-badges{align-items:flex-end;flex-direction:column}.pqrs-assignment{grid-template-columns:1fr}.pqrs-assignment>div,.pqrs-assignment button{grid-column:auto}.pqrs-ai-draft{grid-template-columns:1fr}.pqrs-ai-draft button{justify-self:start}}
/* Puerto Paraiso IA */
.assistant-page{background:linear-gradient(145deg,#f7f2e8 0%,#edf7f3 100%);min-height:100vh}.assistant-shell{max-width:1180px}.assistant-hero{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:24px}.assistant-hero h1{margin:8px 0;font-family:Georgia,serif;font-size:clamp(48px,7vw,82px);color:#123f3d}.assistant-hero p{color:#6f8583;font-size:18px}.assistant-scope{min-width:250px;background:#123f3d;color:#fff;border-radius:24px;padding:24px;display:grid;gap:6px}.assistant-scope small,.assistant-scope span{color:#bfe4dc}.assistant-scope strong{font-size:26px}.assistant-suggestions{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 20px}.assistant-suggestions button{flex:0 0 auto;border:1px solid #bdd9d3;background:#fff;color:#125f59;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer}.assistant-conversation{background:rgba(255,255,255,.72);border:1px solid #d5dfda;border-radius:30px;padding:24px;min-height:440px;display:flex;flex-direction:column;gap:18px}.assistant-message{max-width:88%;border-radius:22px;padding:18px 20px;background:#fff;border:1px solid #dde4e1;box-shadow:0 8px 30px rgba(18,63,61,.06)}.assistant-message.user{align-self:flex-end;background:#137f77;color:#fff;border-color:#137f77}.assistant-message small{display:block;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:7px;opacity:.72}.assistant-message p{margin:0;white-space:pre-wrap;line-height:1.55}.assistant-message em{display:block;margin-top:12px;color:#728582}.assistant-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:16px}.assistant-result-card{background:#f7f5ef;border-radius:16px;padding:14px}.assistant-result-card dl{margin:0 0 8px}.assistant-result-card dl:last-child{margin:0}.assistant-result-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#718684}.assistant-result-card dd{margin:2px 0;color:#153f3d;font-weight:650;overflow-wrap:anywhere}.assistant-composer{position:sticky;bottom:10px;margin:20px auto 0;background:#fff;border:1px solid #d3dfda;border-radius:24px;padding:16px;box-shadow:0 18px 50px rgba(18,63,61,.16)}.assistant-composer>label{display:block;font-weight:800;color:#153f3d;margin-bottom:8px}.assistant-composer>div{display:flex;gap:12px}.assistant-composer textarea{flex:1;min-height:62px;max-height:160px;resize:vertical;border:1px solid #ccd8d4;border-radius:15px;padding:14px;font:inherit}.assistant-composer button{border:0;border-radius:15px;background:#137f77;color:#fff;padding:0 24px;font-weight:800}.assistant-composer p{font-size:12px;color:#778986;margin:8px 0 0}.assistant-shortcut{margin:18px 0 28px;background:#123f3d;color:#fff;border-radius:22px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.assistant-shortcut div{display:grid;gap:4px}.assistant-shortcut small{text-transform:uppercase;letter-spacing:.12em;color:#8ed6c9;font-weight:800}.assistant-shortcut strong{font-size:20px}.assistant-shortcut span{color:#c9ddda}.assistant-shortcut a{flex:0 0 auto;background:#e7f6f2;color:#0b716a;text-decoration:none;font-weight:800;border-radius:999px;padding:12px 18px}
.assistant-mode-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.assistant-mode-picker button{min-height:118px;border:1px solid #cbdcd7;border-radius:20px;background:rgba(255,255,255,.8);padding:18px;text-align:left;color:#153f3d;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.assistant-mode-picker button:hover{transform:translateY(-2px);border-color:#6cb8ad}.assistant-mode-picker button[aria-pressed="true"]{background:#123f3d;border-color:#123f3d;color:#fff}.assistant-mode-picker strong,.assistant-mode-picker span{display:block}.assistant-mode-picker strong{font-size:17px;margin-bottom:7px}.assistant-mode-picker span{font-size:13px;line-height:1.4;opacity:.76}.assistant-mode-context{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #cbdcd7;border-radius:20px;background:#eaf5f1;padding:16px 18px;margin-bottom:14px}.assistant-mode-context div{display:grid;gap:3px}.assistant-mode-context small{text-transform:uppercase;letter-spacing:.1em;color:#607d79;font-weight:800}.assistant-mode-context strong{color:#123f3d;font-size:20px}.assistant-mode-context span{color:#5e7673}.assistant-mode-context a{flex:0 0 auto;border-radius:999px;background:#137f77;color:#fff;text-decoration:none;padding:11px 16px;font-weight:800}.assistant-cache-badge{display:inline-block;border-radius:999px;background:#e7f6f2;color:#0b716a;padding:5px 9px;margin:0 0 9px;font-size:11px;font-weight:800}
@media(max-width:900px){.assistant-mode-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.assistant-hero{align-items:stretch;flex-direction:column}.assistant-scope{min-width:0}.assistant-mode-picker{grid-template-columns:1fr}.assistant-mode-picker button{min-height:0}.assistant-mode-context{align-items:stretch;flex-direction:column}.assistant-mode-context a{text-align:center}.assistant-message{max-width:100%}.assistant-composer{position:static}.assistant-composer>div,.assistant-shortcut{align-items:stretch;flex-direction:column}.assistant-composer button{padding:14px}.assistant-shortcut a{text-align:center}}
/* Procurement and expenditure authorization */
.procurement-page{background:#f5f1e7;min-height:100vh}.procurement-page .portal-content{max-width:1500px}.procurement-metrics{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin:24px 0}.procurement-metric,.procurement-rules,.procurement-new-request,.procurement-list,.purchase-card{background:#fffdf8;border:1px solid #d9dfda;border-radius:24px}.procurement-metric{padding:20px;display:grid;gap:7px}.procurement-metric small,.procurement-rules header small,.procurement-new-request header small,.procurement-list>header small{text-transform:uppercase;letter-spacing:.1em;color:#7a8f8c;font-weight:800}.procurement-metric strong{font-family:Georgia,serif;font-size:38px;color:#133f3d}.procurement-metric span{font-size:13px;color:#748784}.procurement-rules,.procurement-new-request,.procurement-list{padding:28px;margin:24px 0}.procurement-rules>header,.procurement-list>header{display:flex;justify-content:space-between;align-items:end;gap:20px}.procurement-rules h2,.procurement-new-request h2,.procurement-list h2{font-family:Georgia,serif;font-size:38px;color:#133f3d;margin:4px 0}.procurement-rules>header>span{padding:8px 13px;background:#e0f2ed;color:#0c716a;border-radius:999px;font-weight:800}.procurement-rules.unconfigured>header>span{background:#fff0cf;color:#805b14}.procurement-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-top:20px}.procurement-rule-grid article{border:1px solid #d6ddd9;border-radius:18px;padding:18px;display:grid;gap:7px}.procurement-rule-grid article strong{font-size:18px;color:#143f3d}.procurement-rule-grid article b{color:#0d7b73}.procurement-rule-grid article small{color:#70817f}.procurement-config{margin-top:20px;border-top:1px solid #dce2de;padding-top:18px}.procurement-config summary{cursor:pointer;font-weight:800;color:#0d766f}.procurement-config form,.procurement-new-request{display:grid;gap:14px}.procurement-config form{margin-top:18px}.procurement-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.purchase-card{padding:26px;margin-top:18px;overflow:hidden}.purchase-card>header{display:flex;justify-content:space-between;gap:24px}.purchase-card>header h3{font-family:Georgia,serif;font-size:32px;color:#143f3d;margin:6px 0}.purchase-card>header p{color:#6f8380;max-width:800px}.purchase-card>header>div:last-child{display:grid;justify-items:end;align-content:start;gap:10px}.purchase-card>header>div:last-child strong{font-size:24px;color:#143f3d}.purchase-stage{padding:8px 12px;border-radius:999px;background:#e3f3ee;color:#0c716a;font-weight:800}.stage-rejected,.stage-cancelled{background:#fde3dc;color:#9a3d29}.stage-closed{background:#dff0d8;color:#326826}.purchase-trail{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin:24px 0}.purchase-trail span{text-align:center;padding:9px 5px;background:#ecebe4;color:#7b8987;font-size:11px;font-weight:800;text-transform:uppercase}.purchase-trail span:first-child{border-radius:10px 0 0 10px}.purchase-trail span:last-child{border-radius:0 10px 10px 0}.purchase-trail span.current{background:#128178;color:#fff}.purchase-rule-applied,.purchase-order-summary{display:flex;justify-content:space-between;gap:16px;background:#edf7f4;border-radius:14px;padding:14px 16px;color:#1b5450}.quotation-comparison{margin:24px 0}.quotation-comparison h4,.quote-form h4,.analysis-form h4,.approval-chain h4,.order-form h4,.purchase-document-form h4{font-size:18px;color:#143f3d}.quotation-table{border:1px solid #d7dfdb;border-radius:16px;overflow-x:auto}.quotation-row{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr 1.3fr;min-width:850px}.quotation-row span{padding:12px;border-bottom:1px solid #e0e4e1}.quotation-row.heading{background:#143f3d;color:#fff;font-weight:800}.quotation-row.heading span{border-color:#2c5754}.quotation-row.selected{background:#e4f6ef}.quotation-row.placeholder{color:#9aa5a3}.quote-form,.analysis-form,.order-form,.approval-chain,.purchase-document-form,.payment-close-form{border-top:1px solid #dce2de;margin-top:20px;padding-top:20px}.quote-form,.analysis-form,.order-form,.payment-close-form{display:grid;gap:12px}.quote-form>button,.analysis-form>button,.order-form>button,.approval-chain button,.purchase-document-form button,.purchase-advance,.payment-close-form button{border:0;border-radius:999px;background:#128178;color:#fff;padding:11px 17px;font-weight:800;cursor:pointer}.quote-form>button+button{background:#143f3d}.approval-chain>article{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#f4f4ee;border-radius:14px;padding:14px;margin:8px 0}.approval-chain>article>div{display:grid;gap:4px}.approval-chain>article form,.purchase-document-form{display:flex;flex-wrap:wrap;gap:8px}.approval-chain input,.purchase-document-form select,.purchase-document-form input{border:1px solid #cfdad6;border-radius:10px;padding:10px}.purchase-order-summary{margin-top:16px}.purchase-documents{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.purchase-documents a{padding:8px 12px;border-radius:999px;background:#edf4f1;color:#0d6f68;text-decoration:none;font-weight:700}.purchase-advance{margin-top:12px}.payment-close-form{grid-template-columns:1fr auto;align-items:end}
@media(max-width:1050px){.procurement-metrics{grid-template-columns:repeat(3,1fr)}.purchase-trail{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.procurement-metrics{grid-template-columns:repeat(2,1fr)}.procurement-rules,.procurement-new-request,.procurement-list,.purchase-card{padding:18px}.purchase-card>header,.procurement-rules>header,.purchase-rule-applied,.approval-chain>article{align-items:stretch;flex-direction:column}.purchase-card>header>div:last-child{justify-items:start}.purchase-trail{grid-template-columns:repeat(2,1fr)}.approval-chain>article form,.purchase-document-form,.payment-close-form{display:grid;grid-template-columns:1fr}.procurement-page .admin-heading h1{font-size:48px}}
/* Financial intelligence */
.financial-intelligence-page{background:linear-gradient(145deg,#f7f2e8,#edf5f1);min-height:100vh}.finance-shell{max-width:1500px}.finance-year{display:grid;gap:6px;color:#143f3d;font-weight:800}.finance-year input{width:130px;border:1px solid #cbd8d4;border-radius:14px;background:#fff;padding:12px;font:inherit}.finance-metrics{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin:24px 0}.finance-metric,.finance-panel{background:#fffdf8;border:1px solid #d7dfdb;border-radius:24px}.finance-metric{min-width:0;padding:20px;display:grid;gap:7px}.finance-metric small,.finance-panel header small{text-transform:uppercase;letter-spacing:.1em;color:#7a8d8a;font-weight:800}.finance-metric strong{font-family:Georgia,serif;font-size:28px;color:#143f3d}.financial-card-value{display:block;min-width:0;max-width:100%;font-size:clamp(17px,1.6vw,27px)!important;line-height:1.08;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-metric span{font-size:12px;color:#718481}.finance-metric.critical{border-color:#e4a48f;background:#fff4ef}.finance-metric.critical strong{color:#a23f2d}.finance-panel{padding:26px;margin:22px 0}.finance-panel>header{display:flex;justify-content:space-between;align-items:end;gap:24px}.finance-panel h2{font-family:Georgia,serif;font-size:38px;color:#143f3d;margin:4px 0}.finance-panel header p{max-width:650px;color:#70827f}.finance-panel header>strong{font-size:20px;color:#0d756e}.variance-table{border:1px solid #d6dfdb;border-radius:18px;overflow-x:auto;margin-top:20px}.variance-row{position:relative;display:grid;grid-template-columns:1.4fr repeat(5,minmax(120px,1fr));min-width:920px;font-variant-numeric:tabular-nums}.variance-row>span{min-width:0;padding:14px;border-bottom:1px solid #e0e5e2;display:grid;gap:3px}.variance-row>span:not(:first-child){font-size:clamp(10px,1vw,12px);white-space:nowrap}.variance-row>span small{color:#7c8b89}.variance-row.heading{background:#143f3d;color:#fff;font-weight:800}.variance-row.heading span{border-color:#2b5754}.variance-row.flagged{padding-bottom:48px;background:#fff8e6}.variance-row.flagged>p{position:absolute;left:14px;right:14px;bottom:8px;margin:0;color:#805b14;font-weight:750}.cartera-buckets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px}.cartera-buckets .finance-metric{background:#f7f6f0}.finance-workspace{display:grid;grid-template-columns:1fr 1fr;gap:20px}.finance-workspace .finance-panel{margin:0}.finance-budget-form,.financial-import-form{display:grid;gap:14px}.finance-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.financial-import-form aside{display:grid;gap:7px;padding:14px;border-radius:14px;background:#edf6f3;color:#174f4b}.financial-import-form code{white-space:normal;overflow-wrap:anywhere}.finance-future-note{font-size:12px;color:#748683}.import-history>div{display:grid;gap:10px;margin-top:18px}.import-history article{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dbe2df;border-radius:16px;padding:15px}.import-history article>div{display:grid;gap:4px}.import-history article>div:last-child{text-align:right}.import-history span,.import-history time{font-size:12px;color:#71827f}.import-status{justify-self:end;border-radius:999px;padding:5px 9px;background:#e0f3ed;color:#0d716a}.import-status.completed_with_errors{background:#fff0c9;color:#805b14}.import-status.failed{background:#fde2da;color:#9c402c}.finance-empty{margin-top:18px;border:1px dashed #cad8d3;border-radius:18px;padding:28px;text-align:center;color:#738481}
.budget-source-panel{overflow:hidden}.proposal-status{align-self:center;border-radius:999px;background:#fff0c9;color:#805b14;padding:8px 12px;font-weight:850;white-space:nowrap}.budget-source-note{display:grid;gap:5px;margin:20px 0 14px;padding:15px 17px;border-left:4px solid #0d756e;border-radius:0 14px 14px 0;background:#edf6f3;color:#315f5b}.budget-source-note span,.budget-source-caption{font-size:12px;color:#667d79}.budget-source-table{overflow:auto;border:1px solid #d6dfdb;border-radius:18px;max-height:680px}.budget-source-table:focus{outline:3px solid #8bc9c3;outline-offset:2px}.budget-source-table table{border-collapse:separate;border-spacing:0;min-width:1780px;width:100%;font-variant-numeric:tabular-nums}.budget-source-table th,.budget-source-table td{padding:11px 12px;border-right:1px solid #e1e7e4;border-bottom:1px solid #e1e7e4;text-align:right;white-space:nowrap}.budget-source-table thead th{position:sticky;top:0;z-index:2;background:#143f3d;color:#fff;font-size:12px;letter-spacing:.02em}.budget-source-table th:nth-child(-n+2),.budget-source-table td:nth-child(-n+2){text-align:left}.budget-source-table tbody td:first-child{color:#607773;font-size:12px}.budget-source-table tbody th{color:#173f3d}.budget-source-table tbody tr:nth-child(even){background:#f8faf8}.budget-source-table tbody tr:hover{background:#eef7f4}.budget-source-table .source-row-subtotal,.budget-source-table .source-row-total{background:#e7efec;font-weight:850}.budget-source-table .source-row-income{background:#eef7f4}.budget-source-table .source-row-result{background:#fff4ef;font-weight:850}.budget-source-caption{margin:10px 2px 0}
.accounting-source-panel{margin:24px 0;padding:clamp(20px,3vw,30px);overflow:hidden;border:1px solid #cbdad5;border-radius:26px;background:#fffdf8}.accounting-source-panel>header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px}.accounting-source-panel>header small{font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:#0d756e}.accounting-source-panel>header h2{margin:5px 0;font:400 clamp(30px,4vw,43px)/1.05 Georgia,serif;color:#143f3d}.accounting-source-panel>header p{margin:0;color:#637b77}.accounting-source-panel>header>span{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#e0f3ed;color:#0d716a;font-size:12px;font-weight:850}.accounting-source-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.accounting-source-metrics article{display:grid;min-width:0;gap:6px;padding:18px;border:1px solid #dae3df;border-radius:18px;background:#f6f7f2}.accounting-source-metrics small{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:#71817e}.accounting-source-metrics strong{min-width:0;overflow-wrap:anywhere;font:400 clamp(19px,2vw,27px)/1.08 Georgia,serif;color:#143f3d;font-variant-numeric:tabular-nums}.accounting-source-metrics span{font-size:11px;color:#70827f}.accounting-source-origin{display:grid;gap:5px;margin-bottom:16px;padding:15px 17px;border-left:4px solid #0d756e;border-radius:0 14px 14px 0;background:#edf6f3;color:#315f5b}.accounting-source-origin span,.accounting-source-origin p{margin:0;font-size:12px;line-height:1.55;color:#667d79}.accounting-source-detail{margin-top:12px;border:1px solid #d6dfdb;border-radius:18px;overflow:hidden}.accounting-source-detail summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;background:#f4f7f4;color:#143f3d;font-weight:850}.accounting-source-detail summary small{font-weight:700;color:#71827f}.accounting-source-table{max-height:620px;overflow:auto;border-top:1px solid #d6dfdb}.accounting-source-table:focus{outline:3px solid #8bc9c3;outline-offset:-3px}.accounting-source-table table{width:100%;min-width:1320px;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.accounting-source-table th,.accounting-source-table td{padding:10px 11px;border-right:1px solid #e1e7e4;border-bottom:1px solid #e1e7e4;text-align:right;white-space:nowrap}.accounting-source-table thead th{position:sticky;top:0;z-index:2;background:#143f3d;color:#fff;font-size:11px}.accounting-source-table th:nth-child(-n+2),.accounting-source-table td:nth-child(-n+2){text-align:left}.accounting-source-table tbody td:first-child{color:#607773;font-size:11px}.accounting-source-table tbody th{color:#173f3d}.accounting-source-table tbody tr:nth-child(even){background:#fafbf8}.accounting-source-table tbody tr:hover{background:#eef7f4}.accounting-source-table .accounting-source-subtotal{background:#edf3f0;font-weight:800}.accounting-source-table .accounting-source-total{background:#dfece8;font-weight:900}.accounting-source-table .accounting-source-result{background:#fff0e8;font-weight:900}
@media(max-width:1150px){.finance-metrics{grid-template-columns:repeat(3,1fr)}.cartera-buckets{grid-template-columns:repeat(3,1fr)}.finance-workspace{grid-template-columns:1fr}}@media(max-width:700px){.finance-metrics,.cartera-buckets,.finance-form-grid,.accounting-source-metrics{grid-template-columns:1fr}.finance-panel{padding:18px}.finance-panel>header,.import-history article,.accounting-source-panel>header{align-items:stretch;flex-direction:column}.accounting-source-panel>header>span{align-self:flex-start}.accounting-source-detail summary{align-items:flex-start;flex-direction:column}.import-history article>div:last-child{text-align:left}.import-status{justify-self:start}.financial-intelligence-page .admin-heading h1{font-size:46px}}
.spanish-file-input{position:relative;display:flex;align-items:center;min-height:3rem;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}
.spanish-file-input input[type="file"]{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.spanish-file-input input[type="file"]:disabled{cursor:not-allowed}
.spanish-file-input:focus-within{outline:3px solid rgba(15,128,120,.2);border-color:var(--teal)}
.spanish-file-button{align-self:stretch;display:flex;align-items:center;padding:.7rem 1rem;background:var(--cream);border-right:1px solid var(--line);font-weight:800;white-space:nowrap}
.spanish-file-selection{padding:.7rem 1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6f8380}

/* Route-scoped Accounting, Fiscal Review, privacy, analytics, and meeting UI. */
.accounting-page{background:linear-gradient(180deg,#edf5f1 0, var(--cream) 430px)}
.accounting-shell{display:grid;gap:22px}
.accounting-hero{display:grid;grid-template-columns:1fr 210px;align-items:end;gap:28px;padding:34px;border:1px solid rgba(20,60,58,.12);border-radius:28px;background:linear-gradient(135deg,var(--ink-deep),#155d59);color:var(--white);box-shadow:0 24px 60px rgba(7,37,36,.16)}
.accounting-hero .eyebrow{margin-bottom:16px;color:#8dd1c5}.accounting-hero h1{margin:0;font:400 clamp(44px,5vw,68px) Georgia,serif;letter-spacing:-.045em}.accounting-hero p:not(.eyebrow){max-width:710px;margin:14px 0 0;font-size:13px;line-height:1.7;opacity:.75}
.accounting-hero label{display:grid;gap:8px}.accounting-hero label span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.accounting-hero input{width:100%;min-height:47px;padding:0 14px;border:1px solid rgba(255,255,255,.24);border-radius:13px;background:rgba(255,255,255,.11);color:var(--white);font:700 16px inherit}
.accounting-status{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.accounting-metric{display:grid;gap:8px;min-height:138px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--white)}.accounting-metric small{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.accounting-metric strong{font:400 27px Georgia,serif}.accounting-metric span{font-size:9px;line-height:1.5;opacity:.62}.accounting-metric.warning{border-color:#e2bf72;background:#fff8e8}.accounting-metric.critical{border-color:#e69a8b;background:#fff0ed}.accounting-metric.ok{border-color:#acd6c8;background:#edf8f3}
.accounting-work-queue,.accounting-panel{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.accounting-work-queue>header,.accounting-panel>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.accounting-work-queue header small,.accounting-panel header small{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.11em;opacity:.55}.accounting-work-queue h2,.accounting-panel h2{margin:5px 0 0;font:400 30px Georgia,serif}.accounting-work-queue>header>span{padding:7px 11px;border-radius:99px;background:var(--mint);font-size:10px;font-weight:850}
.accounting-work-queue>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.accounting-work-queue a{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:13px;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--cream);transition:transform .18s ease,background .18s ease}.accounting-work-queue a:hover{transform:translateY(-2px);background:var(--mint)}.accounting-work-queue a>b{color:var(--coral);font:italic 15px Georgia,serif}.accounting-work-queue a span{display:grid;gap:4px}.accounting-work-queue a strong{font-size:12px}.accounting-work-queue a small{font-size:9px;line-height:1.45;opacity:.62}.accounting-work-queue a em{font-size:9px;font-weight:850;font-style:normal;color:var(--teal)}
.accounting-columns{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.accounting-panel>header>a{font-size:9px;font-weight:850;color:var(--teal)}.accounting-imports{display:grid;gap:8px}.accounting-imports article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px;border-radius:13px;background:var(--cream)}.accounting-imports article>div{display:grid;gap:3px}.accounting-imports article>div:last-child{text-align:right}.accounting-imports strong{font-size:11px}.accounting-imports span,.accounting-imports small,.accounting-imports time{font-size:8px;opacity:.62}.accounting-imports b{justify-self:end;padding:5px 8px;border-radius:99px;background:var(--mint);font-size:7px;text-transform:uppercase}.accounting-imports b.failed,.accounting-imports b.completed_with_errors{background:#fff0d7;color:#76530f}.accounting-permission{padding:17px;border-radius:15px;background:var(--cream)}.accounting-permission+.accounting-permission{margin-top:10px}.accounting-permission strong{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.accounting-permission ul{margin:12px 0 0;padding-left:18px}.accounting-permission li{margin:6px 0;font-size:9px;line-height:1.5}.accounting-permission.allowed{border-left:4px solid var(--teal)}.accounting-permission.restricted{border-left:4px solid #d6a349}.accounting-empty{margin:0;padding:22px;border:1px dashed var(--line);border-radius:14px;font-size:10px;opacity:.62}.accounting-denied{display:grid;justify-items:center;gap:12px;padding:54px;border:1px solid var(--line);border-radius:25px;background:var(--white);text-align:center}.accounting-denied>span{font-size:34px}.accounting-denied h2{margin:0;font:400 34px Georgia,serif}.accounting-denied p{max-width:560px;margin:0 0 8px;font-size:11px;line-height:1.6;opacity:.65}
@media(max-width:980px){.accounting-status{grid-template-columns:repeat(2,1fr)}.accounting-columns{grid-template-columns:1fr}.accounting-work-queue>div{grid-template-columns:1fr}}
@media(max-width:650px){.accounting-hero{grid-template-columns:1fr;padding:25px}.accounting-status{grid-template-columns:1fr}.accounting-work-queue,.accounting-panel{padding:20px}.accounting-work-queue a{grid-template-columns:28px 1fr}.accounting-work-queue a em{grid-column:2}.accounting-imports article{align-items:start}.accounting-imports article>div:last-child{min-width:86px}.accounting-hero h1{font-size:48px}}
.fiscal-page{background:linear-gradient(180deg,#f5f1e9 0,var(--cream) 430px)}
.fiscal-shell{display:grid;gap:22px}.fiscal-hero{display:grid;grid-template-columns:1fr 210px;align-items:end;gap:28px;padding:34px;border:1px solid rgba(56,43,24,.15);border-radius:28px;background:linear-gradient(135deg,#29241d,#65543a);color:var(--white);box-shadow:0 24px 60px rgba(43,34,20,.16)}
.fiscal-hero .eyebrow{margin-bottom:16px;color:#e3c58e}.fiscal-hero h1{margin:0;font:400 clamp(42px,5vw,66px) Georgia,serif;letter-spacing:-.045em}.fiscal-hero p:not(.eyebrow){max-width:720px;margin:14px 0 0;font-size:13px;line-height:1.7;opacity:.78}.fiscal-hero label{display:grid;gap:8px}.fiscal-hero label span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;opacity:.72}.fiscal-hero input{width:100%;min-height:47px;padding:0 14px;border:1px solid rgba(255,255,255,.24);border-radius:13px;background:rgba(255,255,255,.1);color:var(--white);font:700 16px inherit}
.fiscal-status{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fiscal-metric{display:grid;gap:8px;min-height:138px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--white)}.fiscal-metric small{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.fiscal-metric strong{font:400 25px Georgia,serif}.fiscal-metric span{font-size:9px;line-height:1.5;opacity:.62}.fiscal-metric.warning{border-color:#dfbd75;background:#fff8e8}.fiscal-metric.critical{border-color:#e29a8d;background:#fff0ed}.fiscal-metric.ok{border-color:#acd6c8;background:#edf8f3}
.fiscal-panel{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.fiscal-panel>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.fiscal-panel header small{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.11em;opacity:.55}.fiscal-panel h2{margin:5px 0 0;font:400 30px Georgia,serif}.fiscal-panel>header>span{padding:7px 11px;border-radius:99px;background:#f2e8d6;font-size:9px;font-weight:850}.fiscal-signal-preview{display:grid;gap:9px}.fiscal-signal-preview article{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:17px;padding:17px;border-radius:15px;background:var(--cream)}.fiscal-signal-preview article>span{font-size:8px;font-weight:850;text-transform:uppercase;color:#8b5c38}.fiscal-signal-preview article div{display:grid;gap:4px}.fiscal-signal-preview strong{font-size:11px}.fiscal-signal-preview p{margin:0;font-size:9px;line-height:1.5;opacity:.65}.fiscal-signal-preview b{font:400 17px Georgia,serif}.fiscal-empty{margin:0;padding:22px;border:1px dashed var(--line);border-radius:14px;font-size:10px;opacity:.62}.fiscal-denied{display:grid;justify-items:center;gap:12px;padding:54px;border:1px solid var(--line);border-radius:25px;background:var(--white);text-align:center}.fiscal-denied>span{font-size:34px}.fiscal-denied h2{margin:0;font:400 34px Georgia,serif}.fiscal-denied p{max-width:580px;margin:0 0 8px;font-size:11px;line-height:1.6;opacity:.65}
@media(max-width:980px){.fiscal-status{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.fiscal-hero{grid-template-columns:1fr;padding:25px}.fiscal-status{grid-template-columns:1fr}.fiscal-panel{padding:20px}.fiscal-signal-preview article{grid-template-columns:1fr}.fiscal-hero h1{font-size:46px}}
.fiscal-independence{display:grid;grid-template-columns:.75fr 1.25fr;gap:30px;padding:25px 28px;border:1px solid #dfcda9;border-radius:22px;background:#fffaf0}.fiscal-independence small{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.11em;opacity:.58}.fiscal-independence h2{margin:6px 0 0;font:400 27px Georgia,serif}.fiscal-independence ul{display:grid;gap:8px;margin:0;padding-left:20px}.fiscal-independence li{font-size:10px;line-height:1.55}
.fiscal-alerts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fiscal-alerts>article{display:grid;align-content:start;gap:11px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--cream)}.fiscal-alerts>article.critical{border-color:#e29a8d;background:#fff2ef}.fiscal-alerts>article.warning{border-color:#dfbd75;background:#fff9eb}.fiscal-alerts article>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.fiscal-alerts article>header div{display:grid;gap:4px}.fiscal-alerts article>header span{font-size:8px;font-weight:850;text-transform:uppercase;color:#8b553b}.fiscal-alerts article>header small,.fiscal-alerts time{font-size:8px;opacity:.58}.fiscal-alerts h3{margin:0;font:400 21px Georgia,serif}.fiscal-alerts p{margin:0;font-size:10px;line-height:1.6;opacity:.7}.fiscal-alerts article>strong{font:400 20px Georgia,serif}.fiscal-alerts details{padding:11px;border-radius:12px;background:rgba(255,255,255,.66)}.fiscal-alerts summary{cursor:pointer;font-size:9px;font-weight:800}.fiscal-alerts dl{display:grid;gap:7px;margin:11px 0 0}.fiscal-alerts dl div{display:grid;grid-template-columns:130px 1fr;gap:9px}.fiscal-alerts dt,.fiscal-alerts dd{margin:0;font-size:8px;overflow-wrap:anywhere}.fiscal-alerts dt{font-weight:800;text-transform:capitalize}.fiscal-alerts form{display:grid;grid-template-columns:150px 1fr auto;align-items:end;gap:9px}.fiscal-alerts label{display:grid;gap:5px}.fiscal-alerts label span{font-size:8px;font-weight:800}.fiscal-alerts select,.fiscal-alerts textarea{width:100%;min-height:40px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--white);font:9px inherit}.fiscal-alerts textarea{min-height:58px;resize:vertical}.fiscal-alerts form>small{grid-column:1/-1;font-size:8px;opacity:.58}
.fiscal-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fiscal-rows,.fiscal-budget-list{display:grid;gap:8px}.fiscal-rows article,.fiscal-budget-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px;border-radius:13px;background:var(--cream)}.fiscal-rows article>div,.fiscal-budget-list article>div{display:grid;gap:4px}.fiscal-rows article>div:last-child{text-align:right}.fiscal-rows strong,.fiscal-budget-list strong{font-size:10px}.fiscal-rows small,.fiscal-rows span,.fiscal-rows em,.fiscal-budget-list small,.fiscal-budget-list span{font-size:8px;opacity:.62}.fiscal-rows b,.fiscal-budget-list b{font-size:10px}.fiscal-rows em{font-style:normal;text-transform:uppercase}.fiscal-budget-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.fiscal-budget-list b.negative{color:#a23e31}
.fiscal-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fiscal-support-grid>div{display:grid;align-content:start;gap:7px}.fiscal-support-grid h3{margin:0 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.fiscal-support-grid article{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px;border-radius:12px;background:var(--cream)}.fiscal-support-grid article.flagged{border-left:3px solid #d08f3b}.fiscal-support-grid article div{display:grid;gap:3px}.fiscal-support-grid strong,.fiscal-support-grid b{font-size:9px}.fiscal-support-grid small,.fiscal-support-grid span{font-size:8px;opacity:.62}.fiscal-support-grid article b{grid-column:2;justify-self:end}.fiscal-checklist ol{display:grid;gap:9px;margin:0;padding:0;list-style:none}.fiscal-checklist li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px;border-radius:13px;background:var(--cream)}.fiscal-checklist li>span{color:#a8783c;font:italic 14px Georgia,serif}.fiscal-checklist li div{display:grid;gap:4px}.fiscal-checklist strong{font-size:10px}.fiscal-checklist p{margin:0;font-size:9px;line-height:1.5;opacity:.65}
.fiscal-ledger>header p{margin:6px 0 0;font-size:9px;opacity:.65}.fiscal-ledger>header>span.valid{background:#dff2e9;color:#276b55}.fiscal-ledger>header>span.invalid{background:#ffe5df;color:#9b3c31}.fiscal-ledger>div{display:grid;gap:10px}.fiscal-ledger article{padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--cream)}.fiscal-ledger article>header,.fiscal-ledger article>footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.fiscal-ledger article>header div{display:grid;gap:4px}.fiscal-ledger article>header strong{font-size:10px}.fiscal-ledger article>header small,.fiscal-ledger footer{font-size:8px;opacity:.62}.fiscal-ledger article>header b{font:400 18px Georgia,serif}.fiscal-ledger article>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.fiscal-ledger article>div span{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;padding:10px;border-radius:10px;background:var(--white)}.fiscal-ledger em{font-size:7px;font-style:normal;text-transform:uppercase;color:#8b5c38}.fiscal-ledger article>div strong,.fiscal-ledger article>div b{font-size:8px}.fiscal-ledger article>div small{font-size:8px;opacity:.58}.fiscal-ledger code{overflow:hidden;text-overflow:ellipsis}
@media(max-width:980px){.fiscal-alerts,.fiscal-columns{grid-template-columns:1fr}}@media(max-width:650px){.fiscal-independence,.fiscal-support-grid,.fiscal-ledger article>div{grid-template-columns:1fr}.fiscal-alerts form,.fiscal-alerts dl div{grid-template-columns:1fr}.fiscal-budget-summary{grid-template-columns:1fr}.fiscal-ledger article>div span{grid-template-columns:auto 1fr}.fiscal-ledger article>div span b{justify-self:end}}
.privacy-collection-notice{margin:8px 0 18px;padding:16px;border:1px solid rgba(15,119,113,.2);border-radius:14px;background:var(--mint);color:var(--ink)}
.data-policy-resource{display:grid;gap:22px;margin-top:34px;padding:25px 28px;border:1px solid rgba(15,119,113,.2);border-radius:20px;background:linear-gradient(135deg,var(--white),var(--mint))}.data-policy-resource h2{margin:6px 0 4px;font:400 27px Georgia,serif}.data-policy-resource .service-record-heading p{max-width:660px;font-size:11px;line-height:1.65;opacity:.7}.data-policy-resource-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.data-policy-resource-meta div{padding:13px 15px;border:1px solid rgba(15,119,113,.15);border-radius:13px;background:rgba(255,255,255,.72)}.data-policy-resource-meta dt{font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;opacity:.55}.data-policy-resource-meta dd{margin:5px 0 0;font-size:11px;font-weight:750;overflow-wrap:anywhere}.data-policy-resource-actions{display:flex;flex-wrap:wrap;gap:9px}.data-policy-resource-actions .button{min-height:43px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
@media(max-width:760px){.data-policy-resource-meta{grid-template-columns:1fr}.data-policy-resource-actions{display:grid}.data-policy-resource-actions .button{width:100%}}
.resident-delete-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(7,37,36,.62);backdrop-filter:blur(4px)}.resident-delete-dialog{width:min(540px,100%);padding:34px;border:1px solid var(--line);border-radius:24px;background:var(--white);box-shadow:0 28px 80px rgba(7,37,36,.3)}.resident-delete-dialog .eyebrow{margin-bottom:14px}.resident-delete-dialog h2{margin:0;font:400 38px Georgia,serif;letter-spacing:-.035em}.resident-delete-dialog>p:not(.eyebrow){margin:16px 0 24px;font-size:13px;line-height:1.7;color:rgba(20,60,58,.74)}.resident-delete-dialog textarea{min-height:120px}.resident-delete-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.resident-delete-actions .record-delete-button{min-height:51px;padding:0 20px}
@media(max-width:560px){.resident-delete-dialog{padding:26px 20px}.resident-delete-actions{align-items:stretch;flex-direction:column-reverse}.resident-delete-actions button{width:100%}}
.admin-resident-registration{margin:0 0 28px;border:1px solid rgba(15,119,113,.24);border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f0f8f4 100%);box-shadow:0 14px 38px rgba(20,60,58,.06)}.admin-resident-registration>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;cursor:pointer;list-style:none}.admin-resident-registration>summary::-webkit-details-marker{display:none}.admin-resident-registration>summary span{display:grid;gap:4px}.admin-resident-registration>summary strong{font:400 23px Georgia,serif}.admin-resident-registration>summary small{font-size:10px;color:rgba(20,60,58,.62)}.admin-resident-registration>summary b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-size:19px;transition:transform .2s}.admin-resident-registration[open]>summary b{transform:rotate(45deg)}.admin-resident-registration-body{padding:4px 26px 28px;border-top:1px solid rgba(15,119,113,.15)}.admin-resident-registration-body>div:first-child{padding:24px 0 18px}.admin-resident-registration-body h2{margin:6px 0 8px;font:400 34px Georgia,serif}.admin-resident-registration-body>div:first-child>p:last-child{max-width:760px;font-size:12px;line-height:1.65;opacity:.7}.admin-resident-registration-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-resident-registration-form .admin-resident-consent{grid-column:1/-1;margin:2px 0}.admin-resident-registration-form>.button{grid-column:1/-1;justify-self:start}.admin-resident-consent{padding:15px;border:1px solid rgba(15,119,113,.18);border-radius:13px;background:rgba(255,255,255,.72)}
@media(max-width:950px){.admin-resident-registration-form{grid-template-columns:1fr 1fr}}@media(max-width:560px){.admin-resident-registration>summary,.admin-resident-registration-body{padding-left:18px;padding-right:18px}.admin-resident-registration-form{grid-template-columns:1fr}.admin-resident-registration-form>.button{justify-self:stretch}.admin-resident-registration>summary strong{font-size:20px}}
.privacy-collection-notice strong{font-size:11px}.privacy-collection-notice p{margin:7px 0 0;font-size:10px;line-height:1.65;opacity:.72}.consent a,.census-privacy a{color:var(--teal);font-weight:850;text-decoration:underline;text-underline-offset:2px}.census-submit .consent a{color:#9ce0d5}.footer-contact{font-size:11px;line-height:1.6;opacity:.68}.footer-contact a{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.policy-page{min-height:100vh;background:var(--cream)}.policy-header{min-height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink-deep);color:#fff}.policy-header>a:last-child{font-size:11px;font-weight:800}.policy-document{width:min(980px,calc(100% - 40px));margin:0 auto;padding:72px 0 110px}.policy-hero{padding:clamp(32px,6vw,68px);border-radius:36px 36px 36px 7px;background:var(--white);box-shadow:0 24px 70px rgba(20,60,58,.08)}.policy-hero h1{max-width:780px;margin:20px 0 26px;font:400 clamp(46px,7vw,78px)/1 Georgia,serif;letter-spacing:-.045em}.policy-hero>p:not(.eyebrow){max-width:760px;font:18px/1.7 Georgia,serif;opacity:.72}.policy-hero dl{display:flex;flex-wrap:wrap;gap:16px;margin:35px 0 0}.policy-hero dl div{min-width:170px;padding:13px 16px;border:1px solid var(--line);border-radius:12px}.policy-hero dt{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;opacity:.5}.policy-hero dd{margin:6px 0 0;font-size:11px;font-weight:750}.policy-index{position:sticky;top:0;z-index:4;display:flex;gap:9px;overflow:auto;margin:25px 0;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,253,247,.95);backdrop-filter:blur(10px)}.policy-index a{padding:9px 12px;border-radius:99px;background:var(--mint);font-size:9px;font-weight:800;white-space:nowrap}.policy-document>section{padding:58px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}.policy-number{margin:0;color:var(--coral);font:italic 17px Georgia,serif}.policy-document h2{margin:10px 0 25px;font:400 clamp(34px,5vw,48px)/1.1 Georgia,serif;letter-spacing:-.03em}.policy-document h3{margin:28px 0 10px;font:400 22px Georgia,serif}.policy-document section>p:not(.policy-number),.policy-document li{font-size:14px;line-height:1.8;color:rgba(20,60,58,.76)}.policy-document section a{color:var(--teal);font-weight:800;text-decoration:underline;text-underline-offset:3px}.policy-notice{margin-top:28px;padding:22px;border-left:4px solid var(--teal);background:var(--mint)}.policy-notice p{margin:8px 0 0;font-size:12px;line-height:1.7}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.policy-grid article{padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--white)}.policy-grid h3{margin:0 0 10px;font-size:20px}.policy-grid p{margin:0;font-size:12px;line-height:1.65;opacity:.68}.policy-list{display:grid;gap:10px;padding-left:22px}.policy-deadlines{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.policy-deadlines article{display:grid;gap:6px;padding:22px;border-radius:16px;background:var(--ink);color:#fff}.policy-deadlines strong{font:400 26px Georgia,serif}.policy-deadlines span{font-size:10px;line-height:1.5;opacity:.7}.policy-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:38px 0}.policy-footer p{max-width:640px;font-size:11px;line-height:1.6;opacity:.65}.policy-footer .button{flex:0 0 auto}
@media(max-width:680px){.policy-header{padding:14px 20px}.policy-header .brand small{display:none}.policy-document{padding-top:38px}.policy-hero{padding:30px 22px}.policy-hero h1{font-size:48px}.policy-grid,.policy-deadlines{grid-template-columns:1fr}.policy-document>section{padding:45px 0}.policy-footer{align-items:flex-start;flex-direction:column}}

.analytics-page{background:var(--cream)}.analytics-shell{display:grid;gap:26px}.analytics-period{display:grid;grid-template-columns:220px 220px auto 1fr;align-items:end;gap:14px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--white)}.analytics-period>p{justify-self:end;margin:0 4px 14px;font-size:10px;font-weight:800;opacity:.58}.analytics-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.analytics-metric{display:grid;gap:8px;min-height:145px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--white)}.analytics-metric small,.analytics-panel header small{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;opacity:.55}.analytics-metric strong{font:400 30px Georgia,serif}.analytics-metric span{font-size:10px;line-height:1.5;opacity:.64}.analytics-metric.warning{border-color:#e8be66;background:#fff8e8}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.analytics-panel{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--white)}.analytics-panel header{padding-bottom:18px;border-bottom:1px solid var(--line)}.analytics-panel h2,.analytics-signals h2,.analytics-report-builder h2,.analytics-report-archive h2{margin:6px 0 0;font:400 34px Georgia,serif}.analytics-panel h3{margin:24px 0 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.analytics-inline-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.analytics-inline-metrics div{display:grid;gap:6px;padding:15px;border-radius:13px;background:var(--cream)}.analytics-inline-metrics span{font-size:9px;opacity:.58}.analytics-inline-metrics strong{font-size:14px}.analytics-bars{display:grid;gap:10px}.analytics-bars>p{font-size:11px;opacity:.6}.analytics-bar{display:grid;grid-template-columns:minmax(100px,150px) 1fr minmax(60px,auto);gap:10px;align-items:center;font-size:9px}.analytics-bar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-bar i,.analytics-budget i{display:block;height:10px;border-radius:99px;background:#e1ebe8;overflow:hidden}.analytics-bar b,.analytics-budget b{display:block;height:100%;border-radius:99px;background:var(--teal)}.analytics-bar strong{text-align:right;font-size:9px}.analytics-budget{margin:22px 0}.analytics-budget i{height:16px}.analytics-budget div{display:flex;justify-content:space-between;gap:15px;margin-top:8px;font-size:9px}.analytics-caption{margin:20px 0 0;font-size:10px;line-height:1.6;opacity:.65}.analytics-signals,.analytics-report-builder,.analytics-report-archive{padding:30px;border:1px solid var(--line);border-radius:25px;background:var(--white)}.analytics-signals>header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:20px}.analytics-signals>header>p{max-width:440px;margin:0;font-size:11px;line-height:1.55;opacity:.65}.analytics-signal-list{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.analytics-signal-list article{padding:20px;border-left:4px solid #d7a33a;border-radius:5px 16px 16px 5px;background:#fff7e4}.analytics-signal-list span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:#7d5d1d}.analytics-signal-list h3{margin:8px 0;font:400 21px Georgia,serif}.analytics-signal-list p{margin:0;font-size:11px;line-height:1.65;opacity:.72}.analytics-signal-list small{display:block;margin-top:13px;font-size:8px;line-height:1.5;opacity:.62}.analytics-report-builder{display:grid;grid-template-columns:1fr 1.35fr;gap:30px}.analytics-report-builder header>p:last-child{font-size:11px;line-height:1.65;opacity:.65}.analytics-report-builder form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.analytics-report-builder form .button{grid-column:1/-1;justify-self:start}.analytics-report-archive>header{margin-bottom:20px}.analytics-report-archive>div{display:grid;gap:10px}.analytics-report-archive article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:15px}.analytics-report-archive article span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:var(--teal)}.analytics-report-archive article h3{margin:5px 0;font:400 21px Georgia,serif}.analytics-report-archive article p{margin:0;font-size:9px;opacity:.6}.analytics-report-archive article>div:last-child{display:flex;gap:8px}.analytics-report-archive button{padding:10px 13px;border:1px solid var(--line);border-radius:99px;background:var(--white);color:var(--ink);font-size:9px;font-weight:850;cursor:pointer}.analytics-report-archive button:hover{background:var(--mint)}
@media(max-width:1050px){.analytics-period{grid-template-columns:1fr 1fr auto}.analytics-period>p{grid-column:1/-1;justify-self:start;margin:0}.analytics-overview{grid-template-columns:1fr 1fr}.analytics-report-builder{grid-template-columns:1fr}.analytics-signal-list{grid-template-columns:1fr}}
@media(max-width:720px){.analytics-period,.analytics-overview,.analytics-grid,.analytics-report-builder form{grid-template-columns:1fr}.analytics-period .button,.analytics-report-builder form .button{justify-self:stretch}.analytics-inline-metrics{grid-template-columns:1fr}.analytics-signals>header,.analytics-report-archive article{align-items:flex-start;flex-direction:column}.analytics-report-archive article>div:last-child{flex-wrap:wrap}.analytics-bar{grid-template-columns:95px 1fr}.analytics-bar strong{grid-column:2;text-align:left}.analytics-panel h2,.analytics-signals h2,.analytics-report-builder h2,.analytics-report-archive h2{font-size:29px}}
.analytics-route-actions{display:flex;flex-wrap:wrap;gap:12px}.analytics-route-actions .button{border:0;cursor:pointer}
.analytics-page .portal-header{background:var(--white);-webkit-backdrop-filter:none;backdrop-filter:none}.analytics-page>.portal-content{position:relative;z-index:0}
.meeting-agent-page{background:#f7f3e8}.meeting-agent-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.meeting-agent-panel,.meeting-agent-draft{background:#fffdf8;border:1px solid #d5dedc;border-radius:28px;padding:30px;box-shadow:0 16px 36px rgba(17,62,59,.06)}.meeting-agent-panel>small,.meeting-agent-draft header small{color:#0d7a72;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.meeting-agent-panel h2,.meeting-agent-draft h2{font-family:Georgia,serif;color:#123f3c;font-size:2rem;margin:8px 0 22px}.meeting-agent-names{display:grid;grid-template-columns:1fr 1fr;gap:14px}.meeting-agent-microphone{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:14px}.meeting-agent-microphone .button{margin-bottom:1px;white-space:nowrap}.meeting-agent-consent{margin:20px 0 12px;align-items:flex-start}.meeting-agent-privacy{color:#607a78;line-height:1.55;padding:14px 16px;background:#eef7f5;border-radius:14px}.meeting-agent-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.meeting-agent-recording{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce4e2;padding-bottom:18px;margin-bottom:20px}.meeting-agent-recording>span{width:18px;height:18px;border-radius:50%;background:#9aa9a7;box-shadow:0 0 0 8px rgba(154,169,167,.16)}.recording-true .meeting-agent-recording>span{background:#e95f55;box-shadow:0 0 0 8px rgba(233,95,85,.16);animation:meeting-agent-pulse 1.4s ease-in-out infinite}.meeting-agent-recording div{display:flex;gap:12px;align-items:center}.meeting-agent-recording small{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#597472}.meeting-agent-recording strong{font-variant-numeric:tabular-nums;font-size:1.35rem;color:#123f3c}.meeting-agent-level{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0 0 20px}.meeting-agent-level span,.meeting-agent-level small{font-size:.78rem;font-weight:750;color:#597472}.meeting-agent-level>div{height:12px;border-radius:99px;background:#dfe8e6;overflow:hidden}.meeting-agent-level i{display:block;height:100%;min-width:2px;border-radius:99px;background:#0d8a7f;transition:width .08s linear}.meeting-agent-panel textarea,.meeting-agent-draft textarea{width:100%;resize:vertical;line-height:1.55}.meeting-agent-draft{margin-top:24px}.meeting-agent-draft header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.meeting-agent-draft header span{background:#fff0c9;color:#765514;border-radius:999px;padding:9px 13px;font-weight:800}.meeting-agent-draft p{color:#607a78}@keyframes meeting-agent-pulse{50%{transform:scale(.76);opacity:.65}}@media(max-width:900px){.meeting-agent-grid{grid-template-columns:1fr}.meeting-agent-names,.meeting-agent-microphone{grid-template-columns:1fr}.meeting-agent-microphone .button{justify-self:start}.meeting-agent-level{grid-template-columns:1fr}.meeting-agent-level>div{grid-row:2}.meeting-agent-level small{grid-row:3}}@media(prefers-reduced-motion:reduce){.recording-true .meeting-agent-recording>span{animation:none}}
.meeting-agent-voice-upload{display:grid;gap:10px;margin-top:16px;padding:18px;border:1px solid #d5dedc;border-radius:18px;background:#f9fbfa}.meeting-agent-voice-upload strong{color:#123f3c}.meeting-agent-voice-upload p{margin:0;color:#607a78;line-height:1.5;font-size:.9rem}.meeting-agent-voice-upload .button{justify-self:start}
.bulletin-delete-confirmation{max-width:290px;padding:14px;border:1px solid #d7aaa3;border-radius:14px;background:#fff7f5}.bulletin-delete-confirmation p{margin:0 0 10px!important;color:#7f3029;opacity:1!important}.bulletin-delete-confirmation>div{display:flex;align-items:center;gap:8px}.bulletin-delete-confirmation .record-delete-button{margin-top:0}.bulletin-delete-confirmation .button{min-height:auto;padding:9px 14px;border:1px solid var(--line);font-size:.82rem}
.service-layout>*,.service-form-card,.service-history,.service-form-card .pqrs-form,.service-form-card .field{min-width:0;max-width:100%}.service-form-card{width:100%}.service-form-card .field input,.service-form-card .field select,.service-form-card .field textarea,.service-form-card .spanish-file-input{display:block;width:100%;min-width:0;max-width:100%}.service-form-card .spanish-file-button{flex:0 0 auto}.service-form-card .spanish-file-selection{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asset-delete-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;border:1px solid rgba(182,74,67,.24);border-radius:14px;background:#fff5f4}.asset-delete-zone strong,.asset-delete-zone small{display:block}.asset-delete-zone strong{font-size:12px;color:#933a35}.asset-delete-zone small{margin-top:4px;font-size:10px;line-height:1.5;color:#6f7775}.asset-delete-zone button{flex:0 0 auto;padding:10px 14px;border:1px solid rgba(182,74,67,.35);border-radius:99px;background:#fff;color:#a53832;font:inherit;font-size:10px;font-weight:850;cursor:pointer}.asset-delete-zone button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:760px){.asset-delete-zone{align-items:stretch;flex-direction:column}}

/* Keep long COP totals readable inside narrow financial summary cards. */
.finance-metric,.control-metric{container-type:inline-size}
.financial-card-value-money{font-size:clamp(14px,11cqi,22px)!important;letter-spacing:-.045em}

/* Keep every role's shared navigation readable without changing its structure. */
.portal-header nav{font-size:14px;line-height:1.35}
@media(max-width:680px){.portal-header nav{font-size:13px}}

/* Resident-facing financial transparency report. */
.resident-finance-shell{display:grid;gap:24px}.resident-finance-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:clamp(28px,5vw,58px);border-radius:34px 34px 34px 8px;background:linear-gradient(135deg,#103f3d,#0c6d67);color:#fff}.resident-finance-hero h1{max-width:760px;margin:14px 0 18px;font:400 clamp(42px,6vw,70px)/1 Georgia,serif;letter-spacing:-.045em}.resident-finance-hero p:last-child{max-width:700px;margin:0;font-size:14px;line-height:1.65;opacity:.75}.resident-finance-hero>span{flex:0 0 auto;padding:11px 15px;border:1px solid rgba(255,255,255,.25);border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.resident-finance-source{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border:1px solid var(--line);border-radius:20px;background:var(--white)}.resident-finance-source small,.resident-finance-panel header small,.resident-finance-execution small{font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}.resident-finance-source h2{margin:7px 0 5px;font:400 25px Georgia,serif}.resident-finance-source p{margin:0;font-size:10px;opacity:.6}.resident-finance-source>div:last-child{display:grid;grid-template-columns:auto auto;gap:5px 10px;align-items:center;padding:13px 16px;border-radius:14px;background:var(--mint)}.resident-finance-source>div:last-child span{font-size:8px;text-transform:uppercase;opacity:.55}.resident-finance-source>div:last-child strong{font-size:13px}.resident-finance-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.resident-finance-metric{display:grid;align-content:start;gap:9px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--white)}.resident-finance-metric small{font-size:9px;font-weight:800;line-height:1.45;text-transform:uppercase;letter-spacing:.06em;opacity:.58}.resident-finance-metric strong{overflow-wrap:anywhere;font:400 clamp(20px,2.4vw,31px)/1.05 Georgia,serif}.resident-finance-metric span{font-size:9px;line-height:1.5;opacity:.62}.resident-finance-metric.warning{border-color:#e8bd66;background:#fff8e7}.resident-finance-metric.critical{border-color:#e4aaa4;background:#fff5f4}.resident-finance-metric.ok{background:#eef9f6}.resident-finance-metric.proposal{border-color:#9acbc5;background:#f1faf8}.resident-finance-execution,.resident-finance-panel,.resident-finance-notice,.resident-finance-empty{padding:clamp(24px,4vw,38px);border:1px solid var(--line);border-radius:26px;background:var(--white)}.resident-finance-execution>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.resident-finance-execution h2,.resident-finance-panel h2,.resident-finance-empty h2{margin:7px 0 0;font:400 clamp(28px,4vw,39px)/1.08 Georgia,serif}.resident-finance-execution>header>strong{font:400 34px Georgia,serif}.resident-finance-execution>div{height:16px;margin:24px 0 10px;overflow:hidden;border-radius:99px;background:#e1ebe8}.resident-finance-execution>div i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#35ae9e)}.resident-finance-execution>footer{display:flex;justify-content:space-between;gap:16px;font-size:9px;opacity:.6}.resident-finance-execution>p{margin:18px 0 0;padding:13px 15px;border-left:4px solid #d7a33a;background:#fff7e4;font-size:10px;line-height:1.6}.resident-finance-panel>header{padding-bottom:22px;border-bottom:1px solid var(--line)}.resident-finance-panel>header p{max-width:700px;margin:10px 0 0;font-size:11px;line-height:1.6;opacity:.62}.resident-finance-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.resident-finance-sections>article{padding:20px;border:1px solid var(--line);border-radius:17px}.resident-finance-sections article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.resident-finance-sections article>header div{display:grid;gap:5px}.resident-finance-sections article>header strong{font-size:12px}.resident-finance-sections article>header small{font-size:8px;opacity:.55}.resident-finance-sections article>header b{font:400 18px Georgia,serif}.resident-finance-bars{display:grid;gap:7px;margin:18px 0 9px}.resident-finance-bars span{position:relative;display:block;height:8px;border-radius:99px;background:#edf1ef}.resident-finance-bars i{display:block;height:100%;min-width:2px;border-radius:99px;background:#9fb5b1}.resident-finance-bars i.over{background:#d89535}.resident-finance-bars i.proposal{background:var(--teal)}.resident-finance-bars em{position:absolute;left:-9999px}.resident-finance-sections article>footer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:8px;opacity:.58}.resident-finance-sections article>footer span:nth-child(2){text-align:center}.resident-finance-sections article>footer span:last-child{text-align:right}.resident-finance-contributors{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.resident-finance-contributors article{display:flex;gap:14px;padding:20px;border-radius:17px;background:var(--cream)}.resident-finance-contributors article>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:var(--ink);color:#fff;font-size:9px;font-weight:850}.resident-finance-contributors article small{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--teal)}.resident-finance-contributors h3{margin:6px 0;font:400 21px Georgia,serif}.resident-finance-contributors p{margin:0;font-size:10px;line-height:1.6;opacity:.68}.resident-finance-contributors article.pending>span{background:#b88935}.resident-finance-notice{border-left:5px solid var(--teal)}.resident-finance-notice>strong{font:400 24px Georgia,serif}.resident-finance-notice p,.resident-finance-notice li{font-size:11px;line-height:1.65;opacity:.7}.resident-finance-notice ul{padding-left:20px}.resident-finance-notice>small{display:block;margin-top:17px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;opacity:.5}.resident-finance-empty{text-align:center}.resident-finance-empty>span{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 20px;border-radius:50%;background:var(--mint);color:var(--teal);font-size:28px}.resident-finance-empty p{opacity:.62}
@media(max-width:980px){.resident-finance-overview{grid-template-columns:1fr 1fr}.resident-finance-contributors{grid-template-columns:1fr}.resident-finance-source{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.resident-finance-hero{align-items:flex-start;flex-direction:column}.resident-finance-hero h1{font-size:44px}.resident-finance-overview,.resident-finance-sections{grid-template-columns:1fr}.resident-finance-execution>header{align-items:flex-start;flex-direction:column}.resident-finance-execution>footer{flex-direction:column}.resident-finance-sections article>header{align-items:flex-start;flex-direction:column}.resident-finance-sections article>header b{font-size:22px}}

/* Explicit quarter-hour date and time controls. */
.quarter-hour-field{min-width:0}.quarter-hour-picker{display:grid;grid-template-columns:minmax(128px,1.45fr) minmax(70px,.65fr) minmax(88px,.8fr);gap:8px;min-width:0}.quarter-hour-picker input,.quarter-hour-picker select{min-width:0}.quarter-hour-picker select:last-child{font-weight:800;color:var(--teal)}
@media(max-width:560px){.quarter-hour-picker{grid-template-columns:1fr 1fr}.quarter-hour-picker input{grid-column:1/-1}}

/* Mandatory account handoff for in-person assembly attendees. */
.assembly-signup-required{display:grid;justify-items:end;gap:5px;max-width:260px;padding:10px 12px;border:1px solid #e4c992;border-radius:12px;background:#fff4dc;text-align:right}.assembly-signup-required strong{color:#765313;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.assembly-signup-required small{font-size:8px;line-height:1.4}.assembly-signup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.assembly-signup-required .button,.assembly-signup-required button{min-height:auto;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:8px;font-weight:800;text-decoration:none;cursor:pointer}
@media(max-width:680px){.assembly-attendee{align-items:flex-start;flex-direction:column}.assembly-signup-required{justify-items:start;max-width:none;text-align:left}}

/* Shared role-aware navigation hierarchy. */
.portal-global-search{position:relative}.portal-global-search input{width:220px;height:38px;padding:0 13px}.portal-global-search button{height:38px}.portal-global-search button:disabled{cursor:wait;opacity:.65}
.portal-search-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:start center;padding:clamp(76px,10vh,120px) 18px 30px;background:rgba(11,37,35,.52);backdrop-filter:blur(5px)}.portal-search-dialog{width:min(820px,100%);max-height:calc(100vh - 110px);overflow:auto;padding:clamp(22px,4vw,34px);border:1px solid rgba(255,255,255,.6);border-radius:26px;background:#fffdf7;box-shadow:0 35px 100px rgba(7,30,28,.32)}.portal-search-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.portal-search-dialog>header span{color:var(--teal);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.portal-search-dialog h2{margin:7px 0 6px;font:400 clamp(28px,4vw,42px)/1.05 Georgia,serif}.portal-search-dialog header p{margin:0;color:var(--muted);font-size:10px}.portal-search-dialog>header>button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--ink);font-size:25px;cursor:pointer}.portal-search-dialog-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:24px}.portal-search-dialog-form input{min-width:0;height:50px;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.portal-search-dialog-form button{min-height:50px;padding:0 18px;border:0;border-radius:14px;background:var(--teal);color:#fff;font:inherit;font-size:10px;font-weight:850;cursor:pointer}.portal-search-dialog-form button:disabled{cursor:wait;opacity:.65}.portal-search-status{margin:14px 2px;color:var(--muted);font-size:10px}.portal-search-results{display:grid;gap:9px}.portal-search-results>a{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .16s ease,transform .16s ease}.portal-search-results>a:hover,.portal-search-results>a:focus-visible{border-color:var(--teal);outline:3px solid rgba(15,119,113,.16);transform:translateY(-1px)}.portal-search-results span{color:var(--teal);font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.portal-search-results strong{font:400 20px Georgia,serif}.portal-search-results p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.portal-search-results time{font-size:8px;opacity:.58}
@media(max-width:680px){.portal-search-overlay{align-items:end;padding:14px}.portal-search-dialog{max-height:88vh;border-radius:24px}.portal-search-dialog-form{grid-template-columns:1fr}.portal-search-dialog-form button{min-height:48px}.portal-search-results>a{min-height:48px}}
.portal-header{position:relative;z-index:100;isolation:isolate;min-height:0;align-items:center;gap:clamp(24px,4vw,64px);padding-top:18px;padding-bottom:18px}
.portal-header>.brand{flex:0 0 auto}
.portal-header-actions{flex:1;display:grid;gap:10px;justify-items:stretch}
.portal-header-utilities{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:42px}
.portal-navigation{position:relative;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px!important;max-width:none!important;overflow:visible!important;font-size:12px!important}
.portal-nav-group{position:relative}
.portal-nav-group>summary{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid transparent;border-radius:999px;color:var(--ink);font-weight:800;white-space:nowrap;list-style:none;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.portal-nav-group>summary::-webkit-details-marker{display:none}
.portal-nav-group>summary:hover,.portal-nav-group>summary:focus-visible,.portal-nav-group.active>summary,.portal-nav-group[open]>summary{border-color:rgba(15,119,113,.24);background:var(--mint);color:var(--teal);outline:none}
.portal-nav-group>summary span{font-size:14px;line-height:1;transition:transform .18s ease}
.portal-nav-group[open]>summary span{transform:rotate(180deg)}
.portal-nav-menu{position:absolute;z-index:60;top:calc(100% + 8px);right:0;display:grid;min-width:260px;max-height:min(66vh,520px);padding:9px;overflow:auto;border:1px solid var(--line);border-radius:17px;background:#fffdf7;box-shadow:0 20px 50px rgba(17,57,54,.17)}
.portal-nav-menu a{display:flex!important;align-items:center;min-height:42px;padding:9px 12px;border-radius:11px;color:var(--ink);font-size:11px;font-weight:750;line-height:1.35;white-space:normal!important;text-decoration:none}
.portal-nav-menu a:hover,.portal-nav-menu a:focus-visible,.portal-nav-menu a[aria-current="page"]{background:var(--mint);color:var(--teal);outline:none}
.portal-navigation>button{min-height:42px;padding:0 14px}
@media(max-width:1180px){.portal-header{align-items:flex-start;flex-wrap:wrap}.portal-header-actions{flex:1 0 100%;width:100%}.portal-header-utilities{justify-content:flex-start}.portal-navigation{justify-content:flex-start}.portal-nav-menu{right:auto;left:0}}
@media(max-width:680px){.portal-header{gap:14px}.portal-header-utilities{align-items:stretch;flex-wrap:wrap}.portal-navigation{display:grid!important;grid-template-columns:1fr 1fr;width:100%;gap:8px!important}.portal-nav-group{min-width:0}.portal-nav-group>summary{justify-content:space-between;width:100%;min-width:0;min-height:46px;padding:0 12px;border-color:var(--line);background:var(--white);font-size:12px;line-height:1.2;white-space:normal}.portal-nav-group>summary span{flex:0 0 auto}.portal-nav-menu{position:fixed;z-index:90;inset:auto 16px 18px;max-height:62vh;min-width:0;padding:10px;border-radius:20px;box-shadow:0 25px 70px rgba(10,40,38,.28)}.portal-nav-menu a{min-height:48px;font-size:12px}.portal-navigation>button{grid-column:1/-1;min-height:46px}.portal-global-search{width:100%}.portal-global-search input{min-height:44px}.portal-global-search button{min-height:44px}.notification-bell{min-width:44px;min-height:44px}.admin-request-alert{flex-basis:100%;justify-content:flex-start}}
/* Resident real-time notification controls. */
.push-notification-control{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:24px 0;padding:18px 20px;border:1px solid rgba(15,119,113,.22);border-radius:18px;background:var(--mint);color:var(--ink)}
.push-notification-control>div{display:grid;gap:4px;max-width:680px}.push-notification-control strong{font-size:12px}.push-notification-control span{font-size:10px;line-height:1.5;color:var(--muted)}.push-notification-control button{min-height:44px;padding:0 16px;border:1px solid var(--teal);border-radius:999px;background:var(--teal);color:#fff;font:inherit;font-size:10px;font-weight:850;cursor:pointer}.push-notification-control button:disabled{cursor:not-allowed;opacity:.55}.push-notification-control>small{flex-basis:100%;font-size:9px;color:var(--muted)}
.notification-filter-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:22px 0 30px}.notification-filter-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);font:inherit;font-size:10px;font-weight:800;cursor:pointer}.notification-filter-tabs button span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--cream);font-size:9px}.notification-filter-tabs button[aria-pressed="true"]{border-color:var(--teal);background:var(--teal);color:#fff}.notification-filter-tabs button[aria-pressed="true"] span{background:rgba(255,255,255,.18)}.notification-filter-empty{margin-top:28px}
@media(max-width:620px){.push-notification-control{align-items:stretch}.push-notification-control button{width:100%}.notification-filter-tabs{display:grid;grid-template-columns:1fr 1fr}.notification-filter-tabs button{justify-content:space-between;width:100%;padding:0 12px}}

/* Administrator-scheduled activities and resident registrations. */
.resident-activity-grid{align-items:stretch}.resident-activity-card{display:flex;flex-direction:column;gap:13px}.resident-activity-card.selected{border-color:rgba(15,119,113,.38);background:var(--mint)}.resident-activity-date{display:grid;gap:4px;color:var(--teal);font-size:10px}.resident-activity-date strong{font-size:11px;text-transform:capitalize}.resident-activity-card>p{margin:0!important}.resident-activity-card dl{display:grid;gap:8px;margin:0}.resident-activity-card dl div{display:flex;justify-content:space-between;gap:18px;padding-top:8px;border-top:1px solid var(--line);font-size:9px}.resident-activity-card dt{color:var(--muted)}.resident-activity-card dd{margin:0;text-align:right;font-weight:800}.resident-activity-card>button{align-self:flex-start;min-height:42px;margin-top:auto;padding:0 16px;border:1px solid var(--teal);border-radius:999px;background:var(--teal);color:#fff;font:inherit;font-size:10px;font-weight:850;cursor:pointer}.resident-activity-card>button:disabled{cursor:not-allowed;opacity:.55}.resident-activity-card.selected>button{background:transparent;color:var(--teal)}
.resident-activity-admin-workspace{align-items:start}.activity-publish-check{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800}.activity-publish-check input{width:18px;height:18px;accent-color:var(--teal)}.admin-activity-list{display:grid;gap:12px}.admin-activity-card{display:grid;gap:12px;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--white)}.admin-activity-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.admin-activity-card-heading small{color:var(--teal);font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.admin-activity-card-heading h3{margin:5px 0 0;font:400 21px Georgia,serif}.admin-activity-card-heading>span{padding:7px 10px;border-radius:999px;background:var(--mint);color:var(--teal);font-size:9px;font-weight:850;white-space:nowrap}.admin-activity-card>p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.admin-activity-card dl{display:grid;gap:7px;margin:0}.admin-activity-card dl div{display:grid;grid-template-columns:70px 1fr;gap:10px;font-size:9px}.admin-activity-card dt{color:var(--muted)}.admin-activity-card dd{margin:0;font-weight:750}.admin-activity-card .admin-task-actions{justify-content:flex-start}.admin-activity-card .admin-task-actions button{padding:9px 12px;border:0;border-radius:9px;background:var(--teal);color:#fff;font:inherit;font-size:9px;font-weight:850;cursor:pointer}.admin-activity-card .admin-task-actions .task-cancel{background:#80745f}
@media(max-width:680px){.resident-activity-card dl div{align-items:flex-start;flex-direction:column;gap:4px}.resident-activity-card dd{text-align:left}.admin-activity-card-heading{flex-direction:column}.admin-activity-card .admin-task-actions{display:grid;width:100%}.admin-activity-card .admin-task-actions button{width:100%;min-height:44px}}

/* Fillable and printable convivencia workflow. */
.coexistence-form{margin-top:34px}.coexistence-toolbar{position:sticky;z-index:20;top:10px;display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,253,247,.96);box-shadow:0 12px 30px rgba(17,57,54,.1);backdrop-filter:blur(10px)}.coexistence-toolbar>label{display:grid;gap:7px;min-width:min(420px,50%);font-size:11px;font-weight:800}.coexistence-toolbar input{min-height:46px;padding:0 13px;border:1px solid var(--line);border-radius:10px;font:inherit}.coexistence-toolbar>div,.coexistence-mobile-actions{display:flex;gap:9px}.coexistence-toolbar .button,.coexistence-mobile-actions .button{min-height:46px;border:1px solid var(--line);cursor:pointer}.coexistence-toolbar .button-primary,.coexistence-mobile-actions .button-primary{border-color:var(--teal)}
.coexistence-document{border:1px solid #8d918d;border-radius:17px;background:#fff;box-shadow:0 20px 55px rgba(17,57,54,.09);overflow:hidden}.coexistence-document-header{display:grid;grid-template-columns:minmax(260px,.74fr) minmax(0,1.26fr);border-bottom:1px solid #8d918d}.coexistence-brand{display:flex;align-items:center;gap:16px;padding:25px;border-right:1px solid #8d918d}.coexistence-brand .brand-mark{width:58px;height:58px}.coexistence-brand span{display:grid}.coexistence-brand strong{font:700 clamp(24px,3vw,34px) Georgia,serif}.coexistence-brand small{font-size:14px;color:#5b6664}.coexistence-document-header>div:last-child h2{margin:0;padding:10px;text-align:center;border-bottom:1px solid #8d918d;font-size:22px;letter-spacing:.02em}.coexistence-document fieldset{margin:0;padding:0;border:0}.coexistence-document legend,.coexistence-document h3{width:100%;margin:0;padding:8px;text-align:center;border-bottom:1px solid #8d918d;font-size:14px;font-weight:900}.coexistence-document fieldset label{display:flex;align-items:center;gap:9px;min-height:40px;padding:7px 13px;border-bottom:1px solid #b7bab7;font-size:13px}.coexistence-document fieldset label:last-child{border-bottom:0}.coexistence-document input[type="radio"],.coexistence-document input[type="checkbox"]{width:22px;height:22px;flex:0 0 auto;accent-color:var(--teal)}
.coexistence-document-body{display:grid;grid-template-columns:minmax(280px,.74fr) minmax(0,1.26fr)}.coexistence-general-data{border-right:1px solid #8d918d}.document-field{display:grid;gap:6px;min-height:79px;padding:10px;border-bottom:1px solid #a8aba8}.document-field>span,.coexistence-observations>span{font-size:12px;font-weight:800}.document-field input,.document-field select,.other-violation input{width:100%;min-width:0;height:38px;padding:0 8px;border:0;border-bottom:1px solid #646b68;background:transparent;color:var(--ink);font:inherit;font-size:16px;outline:none}.document-field input:focus,.document-field select:focus,.other-violation input:focus,.coexistence-observations textarea:focus{border-color:var(--teal);background:var(--mint)}.document-field-row{display:grid;grid-template-columns:1fr 1fr}.document-field-row>.document-field:first-child{border-right:1px solid #a8aba8}.coexistence-legal-copy{margin:0;padding:16px;font-size:11px;line-height:1.55}.coexistence-violation-list>label{display:flex;align-items:center;gap:10px;min-height:43px;padding:8px 12px;border-bottom:1px solid #b7bab7;font-size:12px;line-height:1.35}.coexistence-violation-list .other-violation{display:grid;grid-template-columns:auto 1fr}.coexistence-observations{display:grid;gap:8px;padding:12px}.coexistence-observations textarea{width:100%;min-height:180px;padding:10px;border:1px solid #a8aba8;border-radius:8px;font:inherit;font-size:15px;resize:vertical}.coexistence-mobile-actions{display:none;margin-top:16px}.coexistence-mobile-actions .button{flex:1}
@media(max-width:820px){.coexistence-toolbar{align-items:stretch;flex-direction:column}.coexistence-toolbar>label{min-width:0;width:100%}.coexistence-toolbar>div{width:100%}.coexistence-toolbar .button{flex:1}.coexistence-document-header,.coexistence-document-body{grid-template-columns:1fr}.coexistence-brand,.coexistence-general-data{border-right:0;border-bottom:1px solid #8d918d}.coexistence-brand{padding:18px}.coexistence-document-header>div:last-child h2{font-size:18px}.coexistence-observations textarea{min-height:140px}}
@media(max-width:560px){.coexistence-toolbar>div{display:none}.coexistence-mobile-actions{display:flex;position:sticky;z-index:20;bottom:10px;padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,253,247,.96);box-shadow:0 12px 30px rgba(17,57,54,.15)}.document-field-row{grid-template-columns:1fr}.document-field-row>.document-field:first-child{border-right:0}.coexistence-brand strong{font-size:24px}.coexistence-brand small{font-size:12px}.coexistence-document fieldset label,.coexistence-violation-list>label{font-size:14px}.coexistence-document input[type="radio"],.coexistence-document input[type="checkbox"]{width:26px;height:26px}}
@media print{@page{size:A4 portrait;margin:8mm}.screen-only,.portal-header{display:none!important}.portal-content{width:100%;margin:0;padding:0}.portal-page{min-height:0;background:#fff}.coexistence-form{margin:0}.coexistence-document{border-radius:0;box-shadow:none}.coexistence-document-header{grid-template-columns:38% 62%}.coexistence-document-body{grid-template-columns:38% 62%}.coexistence-brand{padding:12px}.coexistence-brand .brand-mark{width:42px;height:42px}.coexistence-brand strong{font-size:22px}.coexistence-brand small{font-size:10px}.coexistence-document-header>div:last-child h2{padding:6px;font-size:16px}.coexistence-document legend,.coexistence-document h3{padding:5px;font-size:10px}.coexistence-document fieldset label,.coexistence-violation-list>label{min-height:28px;padding:4px 7px;font-size:8px}.coexistence-document input[type="radio"],.coexistence-document input[type="checkbox"]{width:14px;height:14px}.document-field{min-height:48px;padding:5px}.document-field>span,.coexistence-observations>span{font-size:8px}.document-field input,.document-field select,.other-violation input{height:23px;font-size:10px}.coexistence-legal-copy{padding:8px;font-size:7px}.coexistence-observations{padding:7px}.coexistence-observations textarea{min-height:95px;font-size:9px}}

.coexistence-delivery-method{display:flex;gap:8px;margin:0;padding:0;border:0}.coexistence-delivery-method legend{margin-bottom:7px;font-size:11px;font-weight:850}.coexistence-delivery-method label{display:flex;align-items:flex-start;gap:8px;max-width:220px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.coexistence-delivery-method input{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--teal)}.coexistence-delivery-method span{display:grid;gap:2px}.coexistence-delivery-method strong{font-size:12px}.coexistence-delivery-method small{font-size:11px;line-height:1.25;color:var(--muted)}
@media(max-width:820px){.coexistence-delivery-method label{max-width:none;flex:1}}
@media(max-width:560px){.coexistence-delivery-method{flex-direction:column}.coexistence-delivery-method label{max-width:none}}

.receipt-delete-button{width:100%;margin-top:14px;justify-content:center}

/* Public, touch-friendly proof of receipt. */
.receipt-public-page{min-height:100vh;padding:clamp(18px,5vw,64px);background:linear-gradient(145deg,#eef8f5,#f7f3e8 55%,#fffdf7);color:var(--ink)}.receipt-card{width:min(820px,100%);margin:auto;padding:clamp(22px,5vw,46px);border:1px solid var(--line);border-radius:26px;background:#fffdf7;box-shadow:0 28px 80px rgba(17,57,54,.14)}.receipt-card>header{display:flex;align-items:center;gap:18px}.receipt-card .brand-mark{width:58px;height:58px}.receipt-card h1{margin:6px 0 16px;font:400 clamp(32px,6vw,54px)/1 Georgia,serif}.receipt-card h2{margin:22px 0 8px;font:400 22px Georgia,serif}.receipt-card p,.receipt-card li,.receipt-card dd{font-size:16px;line-height:1.55}.receipt-status{color:var(--teal);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.receipt-notice{margin:28px 0;padding:clamp(18px,4vw,28px);border:1px solid var(--line);border-radius:18px;background:#fff}.receipt-notice dl,.receipt-success dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}.receipt-notice dl div,.receipt-success dl div{padding:14px;border-radius:12px;background:var(--cream)}.receipt-notice dt,.receipt-success dt{margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:800}.receipt-notice dd,.receipt-success dd{margin:0;font-weight:750}.receipt-sign-form{display:grid;gap:22px}.receipt-identity{display:grid;grid-template-columns:1fr 1fr;gap:14px}.receipt-identity label{display:grid;gap:7px;font-size:14px;font-weight:800}.receipt-identity input{min-width:0;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:16px}.receipt-canvas-label{display:grid;gap:8px;font-size:14px;font-weight:800}.receipt-canvas-label canvas{width:100%;height:190px;border:2px dashed #8da9a5;border-radius:14px;background:#fff;touch-action:none;cursor:crosshair}.receipt-canvas-label button{justify-self:start;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-weight:800;cursor:pointer}.receipt-attestation{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:14px;background:var(--mint);font-size:14px;line-height:1.5}.receipt-attestation input{width:22px;height:22px;flex:0 0 auto;accent-color:var(--teal)}.receipt-sign-form>.button{justify-self:start;min-height:50px;padding:0 22px;border:0}.receipt-error{margin:0;color:#8a2424;font-weight:800}.receipt-success dl{margin:28px 0}.receipt-hash{overflow-wrap:anywhere;font-family:monospace;font-size:13px!important}
@media(max-width:620px){.receipt-public-page{padding:10px}.receipt-card{padding:22px 16px;border-radius:20px}.receipt-card>header{align-items:flex-start}.receipt-notice dl,.receipt-success dl,.receipt-identity{grid-template-columns:1fr}.receipt-canvas-label canvas{height:170px}.receipt-sign-form>.button{width:100%}}
@media print{.receipt-public-page{padding:0;background:#fff}.receipt-card{width:100%;padding:12mm;border:0;box-shadow:none}.receipt-card .button{display:none}.receipt-success dl{grid-template-columns:1fr 1fr}}
.calendar-navigation select{height:40px;padding:0 28px 0 11px;border:1px solid var(--line);border-radius:99px;background:var(--cream);color:var(--ink);font:inherit;font-size:10px;font-weight:800;text-transform:capitalize}
.receipt-history{margin-top:38px}.receipt-history-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.receipt-history-heading h2{margin:0;font:400 32px Georgia,serif}.receipt-history-heading p:last-child{max-width:650px;font-size:14px;line-height:1.55;opacity:.68}.receipt-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.receipt-history-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--white)}.receipt-history-card.is-signed{border-color:rgba(15,119,113,.38)}.receipt-history-status{display:flex;align-items:start;justify-content:space-between;gap:16px}.receipt-history-status span{padding:7px 10px;border-radius:999px;background:#fff0d3;color:#76591d;font-size:12px;font-weight:850}.is-signed .receipt-history-status span{background:var(--mint);color:var(--teal)}.receipt-history-status strong{font-size:15px}.receipt-history-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 0}.receipt-history-card dl div{min-width:0;padding:11px;border-radius:10px;background:var(--cream)}.receipt-history-card dt{font-size:12px;font-weight:800;opacity:.62}.receipt-history-card dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:14px}.receipt-proof{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.receipt-proof>div{display:grid;gap:3px}.receipt-proof small{font-size:12px;opacity:.65}.receipt-proof img{width:100%;height:120px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}.receipt-proof code{overflow-wrap:anywhere;font-size:11px;opacity:.65}@media(max-width:720px){.receipt-history-heading{align-items:start;flex-direction:column}.receipt-history-grid{grid-template-columns:1fr}.receipt-history-card dl{grid-template-columns:1fr}.receipt-history-status{flex-direction:column-reverse}.receipt-proof img{height:100px}}


/* Reservation editing and resident search reuse the existing dialog layout. */
.reservation-fields{display:contents;border:0;padding:0;margin:0;min-width:0}
.reservation-search-results{grid-column:1/-1;margin:0;font-size:14px;line-height:1.5;color:var(--teal)}
.calendar-reservation-dialog .field>span,.calendar-reservation-dialog .field input,.calendar-reservation-dialog .field select,.calendar-reservation-dialog .field textarea{font-size:14px}

.resident-picker{position:relative;min-width:0}
.resident-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.resident-picker-trigger>span:first-child{min-width:0;overflow-wrap:anywhere}
.resident-picker-trigger:focus-visible,.resident-picker-popup input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.resident-picker-popup{position:absolute;top:100%;left:0;right:0;z-index:10;margin-top:5px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 12px 32px rgba(7,37,36,.18)}
.resident-picker-popup input{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:16px}
.resident-picker-options{max-height:240px;overflow-y:auto;overscroll-behavior:contain;margin-top:6px}
.resident-picker-option{display:block;width:100%;padding:12px 10px;min-height:44px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.resident-picker-option.active,.resident-picker-option:hover{background:var(--mint);color:var(--teal)}
.resident-picker-option[aria-selected=true]{font-weight:700}
.resident-picker-status{margin:8px 4px 2px;font-size:14px;line-height:1.4;color:var(--teal)}
