:root{--primary: #e06620;--primary-dark: #c2551a;--primary-soft: #fcede2;--navy: #243745;--sand: #f4f5f5;--surface: #ffffff;--text: #243745;--text-2: #5f6e79;--border: #e4e6e5;--danger: #b3392f;--radius: 16px;--radius-sm: 12px;color-scheme:light}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font-family:IBM Plex Sans Arabic,Cairo,Tajawal,system-ui,-apple-system,sans-serif;background:#d8dde0;color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;justify-content:center;align-items:flex-start}#root{width:100%;display:flex;justify-content:center;align-items:flex-start}.app-shell{width:100%;max-width:420px;min-height:100dvh;background:var(--sand);position:relative;box-shadow:0 0 40px #0000001f;overflow:hidden}.auth-main{min-height:100dvh}@media(min-width:480px){body{padding:24px 0}.app-shell{min-height:840px;border-radius:28px}.auth-main{min-height:840px}}.login-wrap{display:flex;flex-direction:column;justify-content:center;min-height:100dvh;padding:32px 24px}.onboarding-wrap{min-height:100dvh;padding:48px 24px 32px}.onboarding-wrap h1{color:var(--navy);font-size:25px;line-height:1.35;text-align:center}.onboarding-wrap h1:focus-visible,.onboarding-error-summary:focus-visible{outline:3px solid var(--navy);outline-offset:4px}.onboarding-intro{margin:8px auto 28px;max-width:330px;color:var(--text-2);text-align:center}.onboarding-status{min-height:24px;margin-top:12px;color:var(--text-2);font-size:13px;text-align:center}.onboarding-state{display:grid;gap:20px;margin-top:30px;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center}.onboarding-success{border-color:color-mix(in srgb,#26734a 30%,white);color:#26734a}.onboarding-error-summary ul{margin-top:6px;padding-inline-start:20px}.field-guidance{margin-top:4px;color:var(--text-2);font-size:12px}@media(min-width:480px){.login-wrap,.onboarding-wrap{min-height:840px}}.logo-mark{width:72px;height:72px;border-radius:20px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.logo-mark svg{width:40px;height:40px}.login-title{text-align:center;font-size:26px;font-weight:700;color:var(--primary);line-height:1.2}.login-sub{text-align:center;color:var(--text-2);font-size:14px;margin-bottom:36px}.field{margin-bottom:16px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field label .req{color:var(--danger);margin-inline-start:2px}.field input{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px;font-family:inherit;font-size:15px;background:var(--surface);color:var(--text)}.field input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;border-radius:12px;border:none;cursor:pointer;font-family:inherit;font-size:15px;font-weight:500}.btn:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{background:var(--primary-dark)}.btn:disabled,.field input:disabled,.text-button:disabled{cursor:not-allowed;opacity:.62}.btn-secondary{border:1px solid var(--border);background:var(--surface);color:var(--navy)}.form-error{padding:12px 14px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--danger) 35%,white);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 8%,white);color:var(--danger);font-size:14px}.text-button{margin-top:8px;border:0;background:transparent;color:var(--navy);cursor:pointer;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}.text-button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.login-help{text-align:center;font-size:13px;color:var(--text-2);margin-top:22px}.session-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:32px 24px;text-align:center}.session-screen h1{margin-bottom:10px;color:var(--navy);font-size:23px;line-height:1.35}.session-screen p{max-width:340px;color:var(--text-2)}.status-icon,.status-spinner{display:grid;width:64px;height:64px;margin-bottom:18px;place-items:center;border-radius:20px;font-size:30px;font-weight:700}.status-icon-warning{background:var(--primary-soft);color:var(--primary-dark)}.status-icon-success{background:#e8f4ed;color:#26734a}.status-spinner{border:5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:status-spin .8s linear infinite}.session-actions{display:grid;width:100%;max-width:320px;gap:10px;margin-top:24px}@keyframes status-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.status-spinner{animation:none}}@media(min-width:480px){.session-screen{min-height:840px}}.resident-application{position:relative;display:flex;min-height:100dvh;flex-direction:column;overflow-x:hidden}.resident-app-surface{display:flex;min-height:inherit;flex:1;flex-direction:column}.resident-header{position:sticky;z-index:5;top:0;display:flex;align-items:center;gap:12px;padding:18px 16px 12px;background:color-mix(in srgb,var(--sand) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.resident-avatar{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-size:16px;font-weight:700}.resident-greeting{min-width:0;flex:1}.resident-greeting h1{overflow:hidden;color:var(--navy);font-size:19px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.resident-context-chip{display:block;overflow:hidden;max-width:100%;margin-top:3px;color:var(--text-2);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.resident-context-trigger{display:flex;align-items:center;gap:3px;width:100%;padding:0;border:0;background:transparent;cursor:pointer;font-family:inherit;text-align:start}.resident-context-trigger span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resident-context-trigger svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.resident-context-trigger:focus-visible{border-radius:5px;outline:3px solid var(--navy);outline-offset:3px}.resident-logout{display:flex;width:48px;min-height:44px;flex:0 0 48px;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--navy);cursor:pointer;font-family:inherit;font-size:9px;line-height:1.2}.resident-logout svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.resident-main{width:100%;flex:1;padding:10px 16px 24px}.resident-app-surface-with-navigation .resident-main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.resident-home{width:100%}.resident-service-hero{overflow:hidden;margin:12px 0 24px;padding:20px;border-radius:var(--radius);background-color:var(--navy);background-image:radial-gradient(circle at 12% 115%,rgba(224,102,32,.48),transparent 55%),radial-gradient(circle at 90% -20%,rgba(255,255,255,.1),transparent 50%);color:#fff}.resident-service-hero h2{font-size:19px;line-height:1.4}.resident-service-hero p{margin:3px 0 14px;font-size:13.5px;opacity:.86}.resident-service-hero-action{height:48px;background:var(--primary);color:#fff;text-decoration:none}.resident-home-section{margin-top:24px}.resident-home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.resident-home-section-heading h2{color:var(--navy);font-size:17px}.resident-home-section-heading a{color:var(--primary-dark);font-size:13px;font-weight:700;text-decoration:none}.resident-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none}.resident-service-tile{display:flex;height:100%;min-height:126px;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-align:center;text-decoration:none}.resident-service-tile-icon,.service-card-icon{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border-radius:13px;background:var(--primary-soft);color:var(--primary-dark)}.resident-service-tile-icon svg,.service-card-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.resident-service-tile strong{overflow-wrap:anywhere;font-size:14.5px;line-height:1.35}.resident-service-tile small{color:var(--text-2);font-size:11.5px;font-weight:400;line-height:1.5}.home-section-state{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text-2);text-align:center}.home-section-error{border-color:color-mix(in srgb,var(--danger) 35%,white);background:color-mix(in srgb,var(--danger) 8%,white);color:var(--danger)}.home-section-error button{min-height:40px;margin-top:8px;padding-inline:12px;border:0;border-radius:10px;background:var(--navy);color:#fff;cursor:pointer;font:inherit}.resident-recent-requests{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 7px;list-style:none;scrollbar-width:none;scroll-snap-type:inline mandatory}.resident-recent-requests::-webkit-scrollbar{display:none}.resident-recent-requests>li{min-width:min(78vw,270px);scroll-snap-align:start}.resident-announcements{margin-bottom:24px}.resident-announcements-heading{margin-top:0}.resident-announcements-icon{background:#fff0e2;color:var(--primary-dark)}.resident-announcement-state{min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-2);font-size:13px;overflow-wrap:anywhere}.resident-announcement-empty{text-align:center}.resident-announcement-error{border-color:color-mix(in srgb,var(--danger) 35%,white);background:color-mix(in srgb,var(--danger) 8%,white);color:var(--danger)}.resident-announcement-error button,.resident-announcement-dismissal-error button{margin-top:6px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}.resident-announcement-banner{position:relative;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 32%,white);border-radius:var(--radius);background:linear-gradient(145deg,#fff3e8,#fffaf5);padding:16px;box-shadow:0 8px 24px #c2551a14}.resident-announcement-banner:before{position:absolute;inset-block:0;inset-inline-start:0;width:5px;background:var(--primary);content:""}.resident-announcement-copy{min-width:0;padding-inline-end:2px}.resident-announcement-copy h3{color:var(--primary-dark);font-size:16px;line-height:1.45;overflow-wrap:anywhere}.resident-announcement-copy p{margin-top:5px;color:var(--text);font-size:13.5px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.resident-announcement-dismiss{min-height:40px;margin-top:12px;padding:7px 14px;border:1px solid color-mix(in srgb,var(--primary) 38%,white);border-radius:10px;background:var(--surface);color:var(--primary-dark);cursor:pointer;font:inherit;font-size:13px;font-weight:700}.resident-announcement-dismiss:disabled{cursor:not-allowed;opacity:.65}.resident-announcement-dismissal-error{margin-top:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 35%,white);border-radius:10px;background:color-mix(in srgb,var(--danger) 8%,white);color:var(--danger);font-size:13px}.resident-announcement-error button:focus-visible,.resident-announcement-dismiss:focus-visible,.resident-announcement-dismissal-error button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.resident-section-heading{display:flex;align-items:center;gap:12px;margin:10px 0 12px}.resident-section-heading h2{color:var(--navy);font-size:18px;line-height:1.35}.resident-section-heading p{color:var(--text-2);font-size:13px}.resident-section-icon{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:13px;background:var(--primary-soft);color:var(--primary-dark)}.resident-section-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.resident-home-card{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.resident-detail-row{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr);gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.resident-detail-row:last-child{border-bottom:0}.resident-detail-row dt{color:var(--text-2);font-size:13px}.resident-detail-row dd{min-width:0;color:var(--navy);font-size:14px;font-weight:600;overflow-wrap:anywhere}.resident-detail-code{margin-inline-start:6px;color:var(--text-2);font-size:12px;font-weight:500}.resident-membership-badge{display:inline-flex;padding:3px 11px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:700}.resident-requests-page,.resident-request-detail-page,.resident-request-create-page{width:100%;min-width:0}.request-create-link{width:100%;margin-bottom:16px}.request-create-context,.request-create-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.request-create-context{display:grid;gap:8px;margin-bottom:14px;padding:14px}.request-create-context>div{display:grid;grid-template-columns:minmax(72px,.6fr) minmax(0,1.4fr);gap:10px}.request-create-context dt{color:var(--text-2);font-size:12px}.request-create-context dd{min-width:0;overflow-wrap:anywhere;color:var(--navy);font-weight:700}.request-create-form{padding:16px}.request-create-field{margin-bottom:16px}.request-create-field label{display:block;margin-bottom:6px;color:var(--navy);font-weight:700}.request-create-field input,.request-create-field select,.request-create-field textarea{width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font:inherit}.request-preferred-visit,.request-preferred-visit-summary{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface-soft)}.request-preferred-visit{display:grid;gap:14px}.request-preferred-visit legend{padding-inline:6px;font-weight:800}.request-preferred-visit legend span,.request-preferred-visit-note{color:var(--muted);font-size:.86rem}.request-preferred-visit-summary dl{display:grid;gap:8px;margin:12px 0 0}.request-preferred-visit-summary dl div{display:flex;justify-content:space-between;gap:12px}.request-create-field input,.request-create-field select{min-height:46px;padding:0 12px}.request-create-field textarea{min-height:130px;padding:11px 12px;resize:vertical}.request-create-field input:focus-visible,.request-create-field select:focus-visible,.request-create-field textarea:focus-visible,.request-form-error-summary:focus-visible{outline:3px solid var(--navy);outline-offset:2px}.request-create-field [aria-invalid=true]{border-color:var(--danger)}.request-character-count{margin-top:4px;color:var(--text-2);font-size:12px;text-align:end}.request-field-error{margin-top:5px;color:var(--danger);font-size:13px}.request-form-error-summary{margin-bottom:16px;padding:12px;border:1px solid color-mix(in srgb,var(--danger) 45%,white);border-radius:10px;background:color-mix(in srgb,var(--danger) 8%,white)}.request-form-error-summary h3{color:var(--danger);font-size:15px}.request-form-error-summary ul{margin:6px 18px 0 0}.request-form-error-summary a{color:var(--danger)}.request-create-feedback:empty{margin:0}.request-create-actions{display:grid;gap:9px;margin-top:12px}.request-create-form[aria-busy=true] input,.request-create-form[aria-busy=true] textarea,.request-create-form[aria-busy=true] select,.request-create-form button[aria-disabled=true]{background:#f7f7f7;opacity:.78}.request-created-success{margin:0 0 12px;padding:12px;border:1px solid #a9d7b8;border-radius:10px;background:#e7f6ec;color:#22633b;font-weight:700}.request-page-heading{margin:4px 0 16px}.request-page-heading h2,.resident-request-detail h2,.request-timeline-section h2{color:var(--navy);line-height:1.4}.request-page-heading h2{font-size:20px}.request-page-heading p{margin-top:3px;color:var(--text-2);font-size:13px}.request-filter-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}.request-filter-group button{min-height:42px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-2);cursor:pointer;font:inherit;font-size:13px;font-weight:600}.request-filter-group button.request-filter-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.request-state{padding:18px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-2);font-size:13px;text-align:center;overflow-wrap:anywhere}.request-state h2{margin-bottom:5px;color:var(--navy);font-size:18px}.request-state-error{border-color:color-mix(in srgb,var(--danger) 35%,white);background:color-mix(in srgb,var(--danger) 8%,white);color:var(--danger)}.request-state button{min-height:40px;margin-top:9px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}.resident-request-list{display:grid;gap:11px;list-style:none}.resident-request-card{display:block;min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:14px;color:inherit;text-decoration:none;box-shadow:0 5px 18px #2336430d}.resident-request-card-compact{height:100%}.request-flow-page{min-height:100dvh;margin:-10px -16px -24px;background:var(--sand)}.request-flow-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:64px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.request-flow-header h1{margin:0;overflow:hidden;color:var(--navy);font-size:19px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.request-flow-header h1:focus,.resident-request-detail-page>h1:focus{outline:3px solid var(--primary);outline-offset:3px;border-radius:4px}.request-flow-back,.request-flow-cancel{display:grid;min-width:44px;min-height:44px;place-items:center;color:var(--navy);font-weight:700;text-decoration:none}.request-flow-back{border-radius:50%;font-size:22px}.request-flow-cancel{color:var(--primary-dark);font-size:13px}.request-flow-step{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:8px 16px 12px;background:var(--surface)}.request-flow-step span{height:5px;border-radius:999px;background:var(--border)}.request-flow-step .request-flow-step-active{background:var(--primary)}.request-scope-banner{display:flex;align-items:flex-start;gap:8px;margin:12px 16px;padding:10px 12px;border:1px solid #f3d9c6;border-radius:12px;background:var(--primary-soft);color:var(--text);font-size:12.5px}.request-scope-banner p{min-width:0;overflow-wrap:anywhere}.service-selection-content{padding:0 16px 24px}.service-selection-content>h3{margin:16px 0 10px;color:var(--navy);font-size:17px}.service-selection-list{display:grid;gap:10px;list-style:none}.service-selection-card{display:flex;min-width:0;min-height:82px;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none}.service-card-copy{min-width:0;flex:1}.service-card-copy strong,.service-card-copy small{display:block;overflow-wrap:anywhere}.service-card-copy small{margin-top:2px;color:var(--text-2);font-size:11.5px}.service-card-arrow{color:var(--primary);font-size:20px}.request-flow-page .request-state,.request-flow-page .request-create-form{margin-inline:16px}.request-flow-page .request-create-form{margin-bottom:24px}.request-selected-service{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;margin-bottom:18px;padding:12px;border:1px solid #f3d9c6;border-radius:12px;background:var(--primary-soft)}.request-selected-service span{grid-column:1;color:var(--text-2);font-size:12px}.request-selected-service strong{grid-column:1;overflow-wrap:anywhere}.request-selected-service a{grid-row:1 / span 2;grid-column:2;color:var(--primary-dark);font-size:13px;font-weight:700}.resident-account-page{width:100%}.account-page-heading h2{color:var(--navy);font-size:22px}.account-profile{display:flex;align-items:center;gap:14px;padding:16px 0 20px}.account-avatar{width:62px;height:62px;flex-basis:62px;font-size:20px}.account-profile h3{color:var(--navy);font-size:18px}.account-profile p{color:var(--text-2);font-size:13px}.account-section{margin-bottom:22px}.account-section>h3{margin-bottom:8px;color:var(--navy);font-size:16px}.account-detail-card,.account-membership-card,.account-language-row,.account-support-card{border:1px solid var(--border);border-radius:14px;background:var(--surface)}.account-detail-card{overflow:hidden}.account-detail-card>div{display:flex;justify-content:space-between;gap:16px;padding:10px 13px;border-bottom:1px solid var(--border)}.account-detail-card>div:last-child{border-bottom:0}.account-detail-card dt{color:var(--text-2)}.account-detail-card dd{min-width:0;font-weight:700;text-align:end;overflow-wrap:anywhere}.account-membership-list{display:grid;gap:9px;list-style:none}.account-membership-card{padding:12px 13px}.account-membership-selected{border-color:#f3d9c6;background:var(--primary-soft)}.account-membership-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.account-membership-card p,.account-membership-card>span{color:var(--text-2);font-size:12.5px}.account-current-badge{border-radius:999px;background:var(--primary);color:#fff;padding:2px 8px;font-size:10px}.account-language-row{display:flex;justify-content:space-between;padding:12px 13px}.account-support-card{padding:13px}.account-support-card>p:first-child{color:var(--text-2);font-size:13px}.account-support-actions{display:grid;gap:9px;margin-top:11px}.account-support-actions a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;color:var(--navy);text-decoration:none}.account-support-actions strong{min-width:0;color:var(--primary-dark);text-align:end;overflow-wrap:anywhere}.account-support-empty{margin-top:8px;color:var(--text-2)}.account-logout{width:100%;min-height:48px;border:1px solid color-mix(in srgb,var(--danger) 30%,white);border-radius:12px;background:var(--surface);color:var(--danger);cursor:pointer;font:inherit;font-weight:700}.request-card-topline,.request-card-meta,.request-detail-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.request-public-number{color:var(--text-2);font-size:12px;font-weight:600}.resident-request-card h3{margin-top:9px;color:var(--navy);font-size:16px;line-height:1.45;overflow-wrap:anywhere}.resident-request-card>p{margin-top:3px;color:var(--text-2);font-size:13px}.request-card-meta{align-items:flex-start;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);color:var(--text-2);font-size:11px}.request-card-meta time{max-width:62%;text-align:end}.request-status,.request-priority{display:inline-flex;padding:4px 9px;border-radius:999px;background:#edf2f5;color:var(--navy);font-size:11px;font-weight:700}.request-status-received,.request-status-in_review,.request-status-routed,.request-status-in_progress{background:#fff0e2;color:var(--primary-dark)}.request-status-completed{background:#e7f6ec;color:#22633b}.request-status-rejected,.request-status-cancelled{background:#fbeaea;color:#8d3030}.request-back-link{display:inline-flex;min-height:40px;align-items:center;margin-bottom:10px;color:var(--primary-dark);font-size:13px;font-weight:700;text-underline-offset:3px}.resident-request-detail>header,.request-detail-summary,.request-description,.request-timeline-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:15px}.resident-request-detail>header>p{color:var(--text-2);font-size:12px}.resident-request-detail h2{margin:4px 0 12px;font-size:20px;overflow-wrap:anywhere}.request-detail-badges{justify-content:flex-start}.request-detail-summary,.request-description,.request-timeline-section{margin-top:12px}.request-detail-summary>div{display:grid;grid-template-columns:minmax(88px,.75fr) minmax(0,1.25fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.request-detail-summary>div:last-child{border-bottom:0}.request-detail-summary dt{color:var(--text-2);font-size:12px}.request-detail-summary dd{color:var(--navy);font-size:13px;font-weight:600;overflow-wrap:anywhere}.request-description h3,.request-timeline-item h3{color:var(--navy);font-size:15px}.request-description p,.request-timeline-item p{margin-top:5px;font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.request-timeline-section h2{font-size:17px}.request-timeline,.request-timeline-empty{margin-top:12px}.request-timeline{list-style:none}.request-timeline-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;padding-bottom:18px}.request-timeline-item:last-child{padding-bottom:0}.request-timeline-item:before{position:absolute;inset-block:15px -2px;inset-inline-start:7px;width:2px;background:var(--border);content:""}.request-timeline-item:last-child:before{display:none}.request-timeline-marker{z-index:1;width:16px;height:16px;margin-top:2px;border:4px solid var(--surface);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.request-timeline-management-comment .request-timeline-marker{background:var(--navy);box-shadow:0 0 0 1px var(--navy)}.request-timeline-resident-comment .request-timeline-marker{background:#26734a;box-shadow:0 0 0 1px #26734a}.request-timeline-item time,.request-timeline-empty{display:block;margin-top:7px;color:var(--text-2);font-size:11px}.request-comment-composer,.request-comment-closed,.request-attachments-section{min-width:0;margin-top:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:15px}.request-attachments-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.request-attachments-heading h3{color:var(--navy);font-size:16px}.request-attachments-heading span,.request-attachment-copy span,.request-attachment-pending span,.request-attachment-upload p,.request-attachment-empty,.request-attachment-readonly{color:var(--text-2);font-size:12px}.request-attachment-list{display:grid;gap:9px;margin-top:12px;list-style:none}.request-attachment-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;border:1px solid var(--border);border-radius:12px;padding:11px}.request-attachment-copy,.request-attachment-pending>div{display:grid;min-width:0;gap:2px}.request-attachment-copy strong,.request-attachment-pending strong{overflow-wrap:anywhere}.request-attachment-pending{grid-template-columns:minmax(0,1fr) auto;background:var(--primary-soft)}.request-attachment-upload{display:grid;gap:4px;margin-top:12px;border-radius:12px;background:#f7f4f1;padding:12px}.request-attachment-upload button,.request-attachment-state button{min-height:44px;margin-top:6px;border:0;border-radius:11px;background:var(--primary);color:#fff;cursor:pointer;font:inherit;font-weight:700}.request-attachment-link,.request-attachment-remove,.request-attachment-action,.request-attachment-confirm button{min-height:40px;border:0;background:transparent;color:var(--primary-dark);cursor:pointer;font:inherit;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.request-attachment-action input{position:absolute;width:1px;height:1px;opacity:0}.request-attachment-confirm{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:8px;font-size:12px}.request-attachment-state,.request-attachment-feedback,.request-attachment-empty,.request-attachment-readonly{margin-top:10px}.request-attachment-state{border-radius:10px;background:#f7f4f1;padding:10px;color:var(--text-2);font-size:12px}.request-attachment-feedback{min-height:0;border-radius:10px;color:#26734a;font-size:12px}.request-attachment-feedback:empty{margin:0}.request-attachment-error{border:1px solid color-mix(in srgb,var(--danger) 35%,white);background:color-mix(in srgb,var(--danger) 8%,white);color:var(--danger);padding:9px}.request-attachment-upload button:disabled,.request-attachment-link:disabled,.request-attachment-remove:disabled,.request-attachment-action:has(input:disabled){cursor:wait;opacity:.65}.request-attachment-upload button:focus-visible,.request-attachment-link:focus-visible,.request-attachment-remove:focus-visible,.request-attachment-action:has(input:focus-visible),.request-attachment-confirm button:focus-visible,.request-attachment-state button:focus-visible{outline:3px solid var(--navy);outline-offset:2px}@media(max-width:350px){.request-attachment-item{grid-template-columns:minmax(0,1fr) auto}.request-attachment-remove{grid-column:2}}.request-comment-composer h3,.request-comment-closed h3{color:var(--navy);font-size:16px}.request-comment-closed p{margin-top:6px;color:var(--text-2);font-size:13px;line-height:1.7}.request-comment-composer form{display:grid;gap:8px;margin-top:10px}.request-comment-composer label{color:var(--navy);font-size:13px;font-weight:700}.request-comment-composer textarea{width:100%;min-width:0;resize:vertical;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:11px 12px;color:var(--text);font:inherit;font-size:14px;line-height:1.7}.request-comment-composer textarea:disabled,.request-comment-composer textarea[readonly]{background:#f6f3ef;opacity:.8}.request-comment-count{color:var(--text-2);font-size:11px;text-align:right}.request-comment-feedback{padding:9px 10px;border-radius:10px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;overflow-wrap:anywhere}.request-comment-feedback:empty{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.request-comment-error{border:1px solid color-mix(in srgb,var(--danger) 35%,white);background:color-mix(in srgb,var(--danger) 8%,white);color:var(--danger)}.request-comment-success{background:#e8f4ed;color:#26734a}.request-comment-composer button,.manager-write-reconcile button{min-height:44px;border:0;border-radius:12px;background:var(--primary);color:#fff;cursor:pointer;font:inherit;font-weight:700}.request-comment-composer button:disabled,.request-comment-composer button[aria-disabled=true]{cursor:not-allowed;opacity:.65}.request-filter-group button:focus-visible,.resident-request-card:focus-visible,.request-state button:focus-visible,.request-back-link:focus-visible,.request-comment-composer textarea:focus-visible,.request-comment-composer button:focus-visible,.manager-write-reconcile button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.resident-bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(100%,420px);min-height:72px;flex-shrink:0;align-items:stretch;justify-content:center;border-top:1px solid var(--border);background:var(--surface);padding-bottom:env(safe-area-inset-bottom);transform:translate(-50%)}.resident-request-detail-page>h1{margin:2px 0 14px;color:var(--navy);font-size:22px}.resident-nav-item{position:relative;display:flex;min-width:0;min-height:72px;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:var(--text-2);font-size:11px;text-decoration:none}.resident-nav-create{position:relative;display:flex;min-width:0;min-height:72px;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;padding-bottom:8px;color:var(--text-2);font-size:11px;text-decoration:none}.resident-nav-create-icon{position:absolute;top:-20px;display:grid;width:54px;height:54px;place-items:center;border:4px solid var(--surface);border-radius:50%;background:var(--primary);box-shadow:0 6px 14px #e0662066;color:#fff;font-size:28px;line-height:1}.resident-nav-item svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.resident-nav-item-active{color:var(--primary);font-weight:700}.resident-notification-badge{position:absolute;top:7px;right:calc(50% - 22px);display:grid;min-width:17px;height:17px;place-items:center;border:2px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:9px;font-weight:800;line-height:1;padding:0 3px}.resident-greeting-heading{margin:0;color:var(--navy);font-size:18px;font-weight:800}.resident-notifications-page{padding:4px 16px 24px}.notification-page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.notification-page-heading h1{margin:0;color:var(--navy);font-size:24px}.notification-page-heading h1:focus{outline:none}.notification-mark-all,.notification-read-action{border:0;background:transparent;color:var(--primary-dark);cursor:pointer;font:inherit;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.notification-mark-all:disabled,.notification-read-action:disabled,.notification-request-link:disabled{cursor:wait;opacity:.65}.notification-state,.notification-action-error{margin:16px 0;border-radius:14px;background:var(--surface);padding:18px 14px;color:var(--text-2);text-align:center}.notification-state-error,.notification-action-error{border:1px solid color-mix(in srgb,var(--danger) 35%,white);background:color-mix(in srgb,var(--danger) 8%,white);color:var(--danger)}.notification-state button{min-height:44px;margin-top:8px;border:0;border-radius:10px;background:var(--primary);color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:8px 14px}.notification-group>h2{margin:16px 0 8px;color:var(--text-2);font-size:13px}.notification-group ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.notification-card{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;width:100%;align-items:start;gap:11px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);padding:13px;text-align:start}.notification-unread .notification-card{border-color:#f3d9c6;background:#fdf3eb}.notification-request-link{min-height:82px;cursor:pointer;font:inherit}.notification-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--primary-soft);font-size:17px}.notification-icon svg{width:20px;height:20px;fill:none;stroke:var(--primary-dark);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.notification-copy{display:grid;min-width:0;gap:3px;font-size:13px}.notification-copy strong{color:var(--navy);font-size:14px}.notification-request-title,.notification-copy time{color:var(--text-2);font-size:12px}.notification-unread-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--primary)}.notification-read-action{grid-column:2 / -1;justify-self:start;min-height:36px;padding:6px 0}.notification-mark-all:focus-visible,.notification-read-action:focus-visible,.notification-request-link:focus-visible,.notification-state button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.membership-selector-layer{position:absolute;z-index:50;inset:0;display:flex;align-items:flex-end;justify-content:center}.membership-selector-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:#13222c80;cursor:pointer}.membership-selector-backdrop:focus-visible{outline:3px solid #fff;outline-offset:-6px}.membership-selector-sheet{position:relative;z-index:1;width:100%;max-height:min(82dvh,690px);overflow-y:auto;border-radius:24px 24px 0 0;background:var(--surface);padding:10px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 36px #13222c33;animation:membership-sheet-enter .18s ease-out}.membership-selector-handle{width:42px;height:4px;margin:0 auto 14px;border-radius:999px;background:var(--border)}.membership-selector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.membership-selector-heading h2{color:var(--navy);font-size:21px;line-height:1.35}.membership-selector-heading p{color:var(--text-2);font-size:13px}.membership-selector-close{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--navy);cursor:pointer;font-family:inherit;font-size:27px;line-height:1}.membership-selector-options{display:grid;gap:10px;min-width:0;border:0}.membership-selector-option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}.membership-selector-option:has(input:focus-visible){outline:3px solid var(--navy);outline-offset:2px}.membership-selector-option input{position:absolute;width:1px;height:1px;opacity:0}.membership-selector-option-current{border-color:var(--primary);background:var(--primary-soft)}.membership-selector-option-copy{min-width:0}.membership-selector-option-title,.membership-selector-option-role{display:block}.membership-selector-option-title{color:var(--navy);font-size:14px;font-weight:700;overflow-wrap:anywhere}.membership-selector-option-role{margin-top:2px;color:var(--text-2);font-size:12px}.membership-selector-option-state{min-width:54px;color:var(--primary-dark);font-size:12px;font-weight:700;text-align:end}.membership-selector-error,.membership-selector-status{margin-bottom:12px;padding:11px 12px;border-radius:11px;font-size:13px}.membership-selector-error{border:1px solid color-mix(in srgb,var(--danger) 35%,white);background:color-mix(in srgb,var(--danger) 8%,white);color:var(--danger)}.membership-selector-error button{margin-top:5px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}.membership-selector-status{background:var(--primary-soft);color:var(--primary-dark)}.membership-selector-cancel{margin-top:14px}.membership-selector-close:focus-visible,.membership-selector-error button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.membership-selector-close:disabled,.membership-selector-backdrop:disabled{cursor:not-allowed}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes membership-sheet-enter{0%{transform:translateY(18px);opacity:0}}.resident-logout:focus-visible,.resident-nav-item:focus-visible,.resident-nav-create:focus-visible,.resident-service-hero-action:focus-visible,.resident-service-tile:focus-visible,.resident-home-section-heading a:focus-visible,.home-section-error button:focus-visible,.service-selection-card:focus-visible,.request-flow-back:focus-visible,.request-flow-cancel:focus-visible,.request-selected-service a:focus-visible,.account-support-actions a:focus-visible,.account-logout:focus-visible{outline:3px solid var(--navy);outline-offset:-4px}@media(min-width:480px){.request-flow-page{min-height:840px}}@media(min-width:480px){.resident-application{min-height:840px}}@media(prefers-reduced-motion:reduce){.membership-selector-sheet{animation:none}}.workspace-switch{padding:.75rem 1rem}.workspace-switch .btn{width:100%}.manager-application{min-height:100dvh;background:var(--bg, #f7f7f4)}.manager-header{padding:20px 18px;background:#243745;color:#fff}.manager-header h1{margin:0 0 16px;font-size:1.15rem}.manager-actions{display:flex;flex-wrap:wrap;gap:8px}.manager-actions button{border:1px solid #81949f;border-radius:8px;color:#fff;background:transparent;padding:8px 10px;font:inherit;font-size:.78rem}.manager-application .resident-requests-page,.manager-application .resident-request-detail-page{padding:20px 18px 32px}.manager-filter{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-block:18px}.manager-filter select{min-width:140px;flex:1;border:1px solid #d5dce0;background:#fff;border-radius:8px;padding:10px;font:inherit;color:#243745}.manager-filter button,.manager-pagination button,.manager-attachments button,.manager-application .resident-request-detail-page>button{border:1px solid #d5dce0;border-radius:8px;background:#fff;padding:9px 12px;color:#243745;font:inherit;font-size:.85rem;cursor:pointer}.manager-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-block-start:24px;font-size:.8rem}.manager-application button:disabled{opacity:.45;cursor:default}.manager-history,.manager-attachments{margin-block:22px}.manager-history ol,.manager-attachments ul{list-style:none;margin:0;padding:0}.manager-history li{padding:14px;margin-block:8px;border-inline-start:3px solid #e06620;background:#fff;border-radius:6px}.manager-history time{display:block;font-size:.8rem;color:#647480;margin-block:6px}.manager-history p{white-space:pre-wrap;overflow-wrap:anywhere}.manager-attachments li{padding:12px;background:#fff;border:1px solid #e2e7ea;border-radius:8px;margin-block:8px;overflow-wrap:anywhere}.manager-attachments li>div{display:flex;flex-wrap:wrap;gap:8px;margin-block-start:10px}.manager-file-preview img{width:100%;max-height:480px;object-fit:contain}.manager-file-preview a{display:block;margin-block-start:12px;color:var(--primary);overflow-wrap:anywhere}.manager-application :is(button,select,a):focus-visible{outline:3px solid #e06620;outline-offset:3px}.manager-write{margin-block:22px}.manager-write h3{margin:0}.manager-status-options{display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0}.manager-status-options legend{margin-block-end:6px;padding:0;color:var(--navy);font-size:13px;font-weight:700}.manager-status-options label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px solid #d5dce0;border-radius:10px;background:#fff;color:#243745;font-size:14px;cursor:pointer}.manager-status-options label:has(input:checked){border-color:#e06620;background:#fdf3ec}.manager-status-options input{width:18px;height:18px;margin:0;accent-color:#e06620}.manager-status-options:disabled label{cursor:default;opacity:.75}.manager-status-target{color:#647480;font-size:12px}.manager-write-warning{margin:0;color:#8a4b12;font-size:12px}.manager-write-buttons{display:flex;flex-wrap:wrap;gap:8px}.manager-write-buttons button{flex:1 1 140px}.manager-application .request-comment-composer .manager-write-secondary{border:1px solid #d5dce0;background:#fff;color:#243745}.manager-write textarea{overflow-wrap:anywhere}.manager-status-options input:focus-visible{outline:3px solid #e06620;outline-offset:2px}.manager-write-reconcile{display:grid;gap:8px;margin-top:10px;min-width:0}.manager-write-reconcile figure{margin:0;color:var(--text-2);font-size:12px}.manager-write-reconcile blockquote{margin:6px 0 0;padding:10px 12px;border-inline-start:3px solid #e06620;border-radius:8px;background:#f6f8f9;color:#243745;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.admin-navigation{margin-top:10px}.admin-navigation a{border:1px solid #81949f;border-radius:8px;color:#fff;padding:8px 10px;font-size:.78rem;text-decoration:none}.admin-navigation a[aria-current=page]{background:#fff;color:#243745}.admin-navigation a:focus-visible{outline:3px solid #e06620;outline-offset:2px}.admin-invitation-form{display:grid;gap:8px}.admin-invitation-form h3{margin:0 0 4px}.admin-invitation-form input,.admin-invitation-form select{width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:11px 12px;color:var(--text);font:inherit;font-size:14px}.admin-invitation-form input:focus-visible,.admin-invitation-form select:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.admin-invitation-form button{margin-top:8px}.admin-invitation-summary dd{overflow-wrap:anywhere}.admin-invitation-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-read-only{margin-block:18px}
