/* ==========================================================================
   Mabnak — single stylesheet (base). Replaces every legacy stylesheet.
   Sections: fonts · tokens · reset · controls · login · dialogs · overlays
   The app shell and screens follow in the second half of this file.
   ========================================================================== */

/* ---------- fonts ---------- */
@font-face{font-family:Alexandria;src:url(/alexandria-regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Alexandria;src:url(/alexandria-semibold.ttf) format("truetype");font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:Alexandria;src:url(/alexandria-bold.ttf) format("truetype");font-weight:700 900;font-style:normal;font-display:swap}

/* ---------- tokens ---------- */
:root{
  --bg:#0b1a2a;--panel:#122638;--panel2:#173047;--card:#122638;--soft:#1a3448;
  --border:#264259;--text:#f2f5f7;--muted:#a9b8c5;
  --good:#3fbf9f;--danger:#ff9f9a;--gold:#e2bd74;--gold2:#f0d193;
  --accent-soft:#163d3a;--warning-soft:#3a3120;--shadow:none;
  --mk-navy:#e2bd74;--mk-teal:#3fbf9f;--mk-teal-soft:#163d3a;--mk-teal-ink:#8fe0cb;
  --mk-gold-soft:#3a3120;--mk-gold-line:#5a4a2a;--mk-red-soft:#4a2325;--mk-line:#264259;
  color-scheme:dark
}
html.boot-light,body.light{
  --bg:#f3f5f7;--panel:#ffffff;--panel2:#f7f9fa;--card:#ffffff;--soft:#f3f5f7;
  --border:#dee2e6;--text:#10233a;--muted:#5b6b7a;
  --good:#147866;--danger:#b3261e;--gold:#b8862b;--gold2:#d4ab5e;
  --accent-soft:#e3f3ef;--warning-soft:#fbf3e4;
  --mk-navy:#10233a;--mk-teal:#147866;--mk-teal-soft:#e3f3ef;--mk-teal-ink:#0f5f51;
  --mk-gold-soft:#fbf3e4;--mk-gold-line:#f0dfb8;--mk-red-soft:#fdecec;--mk-line:#dee2e6;
  color-scheme:light
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#0b1a2a}
html.boot-light,html:has(body.light){background:#f3f5f7}
body{margin:0;min-height:100%;font-family:Alexandria,Tahoma,Arial,sans-serif;font-size:15px;line-height:1.55;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
img,svg,video,canvas{max-width:100%}
img{display:inline-block}
h1,h2,h3,h4,p{margin:0}
a{color:var(--mk-teal)}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.55}
[hidden],.hidden{display:none!important}
.muted{color:var(--muted)}
.error{color:var(--danger);font-size:13px;line-height:1.5}
.error:empty{display:none}
.row{display:flex;gap:8px;align-items:center}
.full{width:100%}
.notice{padding:10px 12px;border-radius:12px;background:var(--mk-teal-soft);color:var(--text);font-size:13px;line-height:1.6}
:focus-visible{outline:2px solid var(--mk-teal);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- controls ---------- */
.primary,.secondary,.success,.danger-btn,.chip{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;
  border-radius:12px;border:1px solid transparent;font-size:14px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;white-space:normal
}
.primary{background:var(--mk-navy);color:#fff}
body:not(.light) .primary{color:#10233a}
.secondary,.chip{background:var(--panel);color:var(--text);border-color:var(--mk-line)}
.success{background:var(--mk-teal);color:#fff}
.danger-btn{background:var(--danger);color:#fff}
body:not(.light) .danger-btn{color:#10233a}
.primary.full,.secondary.full{width:100%}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 6px}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{
  display:block;width:100%;min-height:46px;padding:0 12px;border-radius:12px;border:1px solid var(--mk-line);
  background:var(--panel2);color:var(--text);font-size:16px;line-height:1.4;outline:none;-webkit-appearance:none;appearance:none
}
select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:14px 20px,20px 20px;background-size:6px 6px;background-repeat:no-repeat;padding-inline-start:12px;padding-inline-end:12px}
textarea{min-height:96px;padding:10px 12px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--mk-teal)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--mk-teal);margin:0}
input[type=date]{direction:ltr;text-align:end}
::placeholder{color:var(--muted);opacity:.8}

/* custom select (enhanceMabnakSelect) */
.mabnak-native-select{display:none!important}
.mabnak-select{position:relative;width:100%;min-width:0}
.mabnak-select-trigger{width:100%;justify-content:space-between!important;min-height:46px;padding:0 12px!important;background:var(--panel2)!important;font-weight:600}
.mabnak-select-trigger::after{content:"";width:8px;height:8px;border-inline-end:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);flex:none}
.mabnak-select-menu{position:absolute;z-index:90;inset-inline:0;top:calc(100% + 6px);display:grid;max-height:min(280px,46dvh);overflow:auto;padding:6px;border-radius:14px;background:var(--panel);border:1px solid var(--mk-line);box-shadow:0 12px 32px rgba(6,20,34,.18)}
.mabnak-select-option{width:100%;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:transparent;text-align:start;font-size:15px}
.mabnak-select-option[aria-selected="true"]{background:var(--mk-teal-soft);color:var(--mk-teal-ink);font-weight:700}

/* ---------- toast ---------- */
.toast{position:fixed;z-index:120;inset-inline:16px;bottom:calc(96px + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto;padding:12px 16px;border-radius:14px;background:var(--mk-navy);color:#fff;font-size:14px;font-weight:600;text-align:center;box-shadow:0 12px 32px rgba(6,20,34,.25)}
body:not(.light) .toast{color:#10233a}

/* ---------- login: illustration hero + bottom sheet ---------- */
.login{min-height:100dvh;display:flex;flex-direction:column;padding:0;background:var(--bg)}
.login-hero{position:relative;height:calc(272px + max(env(safe-area-inset-top,0px),24px));flex:none;overflow:hidden;background:#d2e4e9}
body:not(.light) .login-hero{background:#162940}
.login-art{position:absolute;inset:auto 0 0 0;width:100%;height:250px;display:block}
/* the status-bar / Dynamic Island band stays plain sky; the drawing starts below it, like the home screen */
.login-art-night{display:none}
/* softer drawing: it fades into the sky band behind it (no seam), the wordmark and buttons stay crisp */
.login-art-day{opacity:.7}
.login-art-night{opacity:.8}
body:not(.light) .login-art-day{display:none}
body:not(.light) .login-art-night{display:block}
.login-hero-top{position:absolute;inset-inline:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:calc(max(env(safe-area-inset-top,0px),24px) + 36px) 20px 0}
.login-hero-mark{display:flex;flex-direction:column;gap:3px}
.login-hero-mark b{font-size:26px;font-weight:700;line-height:1;color:#10233a;letter-spacing:-.5px}
.login-hero-mark small{font-size:9.5px;font-weight:700;letter-spacing:4px;color:#b8862b}
body:not(.light) .login-hero-mark b{color:#f2f5f7}
body:not(.light) .login-hero-mark small{color:#e2bd74}
.login-hero-actions{display:flex;gap:8px}
.login-hero-btn{width:42px;height:42px;min-height:0!important;padding:0!important;border-radius:13px!important;display:grid;place-items:center;border:1px solid var(--mk-line)!important;background-color:var(--panel)!important;color:var(--text)!important}
.login-hero-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#loginForm.box{position:relative;z-index:1;flex:1;width:100%;max-width:none;margin:-22px 0 0;display:flex;flex-direction:column;gap:14px;padding:26px 22px calc(22px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;background:var(--panel);border:0;border-top:1px solid var(--mk-line)}
@media (min-width:600px){.login{align-items:center}.login-hero{width:100%}#loginForm.box{max-width:480px;border-radius:28px;margin:-22px auto 24px;border:1px solid var(--mk-line)}}
.login-head h1{font-size:24px;font-weight:700;letter-spacing:-.3px;color:var(--text);margin:0}
#loginForm .subtitle{font-size:14px;color:var(--muted);margin-top:4px;text-align:start}
.production-login-fields{display:flex;flex-direction:column}
.production-login-fields>label{color:var(--text);font-weight:600;font-size:13.5px;margin:12px 2px 6px}
.production-login-fields input:not([type=checkbox]){min-height:52px!important;border-radius:14px!important}
.password-input-wrap{position:relative}
.password-input-wrap input{padding-inline-end:52px!important}
.password-toggle-btn{position:absolute;inset-inline-end:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--gold)}
.password-eye-icon{position:relative;display:block;width:20px;height:13px;border:2px solid currentColor;border-radius:50%/60%}
.password-eye-icon::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}
.password-toggle-btn.is-visible .password-eye-icon::before{content:"";position:absolute;left:-3px;top:4px;width:24px;height:2px;background:currentColor;transform:rotate(-35deg);border-radius:2px}
.login-remember-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.remember-row{display:flex!important;align-items:center;gap:10px;margin:0!important;color:var(--text)!important;font-size:14px!important;font-weight:600}
.login-remember-line .account-recovery-link{margin:0;padding:6px 0;text-decoration:none;font-size:13px;white-space:nowrap}
#loginMsg{margin:8px 0 0}
#loginBtn{min-height:54px;margin-top:16px;font-size:16px;font-weight:700;border-radius:16px}
.account-recovery-link{border:0;background:none;padding:6px;font-size:13.5px;font-weight:600;color:var(--mk-teal)}
.login-site-link{align-self:center;margin-top:14px;font-size:13px;color:var(--muted);text-decoration:none}
#themeLogin{font-size:0;color:transparent;background-repeat:no-repeat;background-position:center;background-size:22px 22px;text-indent:200%;white-space:nowrap;overflow:hidden}
#themeLogin>*{display:none}

/* ---------- app frame ---------- */
#app{min-height:100dvh}
.app-mobile-shell{min-height:100dvh;background:var(--bg)}
main#content{display:block;width:100%;margin:0;padding:0}
@media (min-width:768px){
  .app-mobile-shell{max-width:560px;margin:0 auto;border-inline:1px solid var(--mk-line)}
  .rz-tabs{max-width:560px;margin:0 auto}
}

/* ---------- dialogs: every modal is a bottom sheet ---------- */
.modalbg,.manager-sheet-bg{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;padding:0;background:rgba(6,20,34,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.modalbg.hidden,.manager-sheet-bg.hidden{display:none!important}
.modal,.manager-sheet{
  position:relative;width:100%;max-width:560px;max-height:90dvh;overflow:auto;margin:0;
  padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;
  background:var(--panel);color:var(--text);box-shadow:0 -12px 40px rgba(6,20,34,.25);animation:rzSheetUp .22s ease-out
}
.modal::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--mk-line);margin:0 auto 12px}
.manager-sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--mk-line);margin:0 auto 12px}
@keyframes rzSheetUp{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.modal h3,.manager-sheet h3,.modal .product-dialog-title{font-size:17px;font-weight:700;line-height:1.35;margin:0 0 6px}
.modal p{margin:0 0 8px;font-size:13.5px;color:var(--muted);line-height:1.6}
.modal .row,.manager-sheet .row{margin-top:14px}
.modal .row>button,.manager-sheet .row>button{flex:1}
.manager-sheet-head,.guard-alert-dialog-head,.payment-notification-head,.product-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.manager-close,.modal .close,.modal [data-product-action="close"]{min-height:40px!important;min-width:40px;padding:0 12px!important}
.modal details{border:1px solid var(--mk-line);border-radius:12px;background:var(--panel2);margin:8px 0}
.modal details>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:13.5px;font-weight:600}
.modal details>summary::-webkit-details-marker{display:none}
.modal details>*:not(summary){padding:0 14px 12px}
.note-points-wrap{margin:8px 0}
.reward-selection-note{font-size:12.5px}
.note-points-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.note-point{min-height:44px;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel2);font-weight:700}
.note-point[aria-pressed="true"],.note-point.active,.note-point.selected{background:var(--mk-teal-soft);border-color:var(--mk-teal);color:var(--mk-teal-ink)}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.choice{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:64px;padding:8px;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel2);font-size:13px}
.choice[aria-pressed="true"]{background:var(--mk-teal-soft);border-color:var(--mk-teal);color:var(--mk-teal-ink)}
.voicebox,.photo-box,.guard-alert-media-box{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.voice-actions,.photo-actions,.manager-media-row,.guard-alert-media-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rec,.stop{min-width:48px;min-height:44px;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel2);font-size:18px}
.voice-status,.guard-alert-media-status{font-size:12.5px;color:var(--muted)}
.photo-preview,.guard-alert-photo-preview,.manager-preview img{max-width:100%;border-radius:12px;margin-top:6px}
.audio-preview{width:100%}
.service-inline-reminder{margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--mk-gold-soft);font-size:12.5px}
.reward-confirm-note{font-size:13.5px;color:var(--muted);line-height:1.6}
.reward-confirm-amount{margin:10px 0;font-size:28px;font-weight:700;color:var(--gold);text-align:center}
.rating-star-picker{display:flex;justify-content:center;gap:6px;margin:10px 0;direction:ltr}
.rating-star-picker button{width:48px;height:48px;border:0;background:none;font-size:32px;line-height:1;color:var(--mk-line)}
.rating-star-picker button[aria-checked="true"],.rating-star-picker button.active,.rating-star-picker button.on{color:var(--gold)}
.rating-preview-label{text-align:center;font-size:13px;color:var(--muted);min-height:20px}
.password-rule,.owner-reset-target{margin:6px 0;padding:10px 12px;border-radius:12px;background:var(--panel2);font-size:12.5px;color:var(--muted)}
.owner-password-generator{margin-top:8px}
.gift-modal-card{text-align:center}
.gift-hero{font-size:44px}
.gift-title{font-size:18px;font-weight:700}
.gift-sub,.gift-balance,.gift-claimed{font-size:13px;color:var(--muted)}
.gift-points strong{display:block;font-size:34px;font-weight:700;color:var(--gold)}
.alert-form-grid,.guard-alert-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.guard-alert-photo-label,.manager-media-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel2);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;margin:0}
.font-size-controls,.font-size-actions{display:flex;gap:8px;margin-top:10px}
.font-size-controls>*,.font-size-actions>*{flex:1}
.font-size-preview{margin-top:10px;padding:14px;border-radius:12px;background:var(--panel2);text-align:center;font-weight:600}
.payment-notification-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.payment-notification-list>*{padding:12px 14px;border-radius:14px;background:var(--panel2);border:1px solid var(--mk-line)}
.payment-notification-push-state{margin-top:10px;font-size:12.5px;color:var(--muted)}
/* account recovery uses a native <dialog> */
dialog{border:0;padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px));margin:auto auto 0;width:100%;max-width:560px;max-height:90dvh;border-radius:24px 24px 0 0;background:var(--panel);color:var(--text)}
dialog::backdrop{background:rgba(6,20,34,.5)}

/* ---------- Ask Mabnak overlay ---------- */
#residentAiOverlay{position:fixed;inset:0;z-index:75;display:flex;align-items:flex-end;justify-content:center;background:rgba(6,20,34,.5)}
#residentAiOverlay.hidden{display:none!important}
.resident-ai-panel{width:100%;max-width:560px;height:min(86dvh,720px);display:flex;flex-direction:column;border-radius:24px 24px 0 0;background:var(--panel);overflow:hidden;animation:rzSheetUp .22s ease-out}
.resident-ai-handle{width:40px;height:4px;border-radius:2px;background:var(--mk-line);margin:10px auto 0}
.resident-ai-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;border-bottom:1px solid var(--mk-line)}
.resident-ai-brand{display:flex;align-items:center;gap:10px}
.resident-ai-brand b{font-size:16px}
.resident-ai-brand small{display:block;font-size:12px;color:var(--muted)}
.resident-ai-avatar{width:36px;height:36px;border-radius:11px;background:var(--mk-navy);color:#e2bd74;display:grid;place-items:center;font-size:16px}
body:not(.light) .resident-ai-avatar{color:#10233a}
.resident-ai-close{width:40px;height:40px;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel2);font-size:18px}
.resident-ai-messages{flex:1;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:10px}
.resident-ai-message{max-width:88%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.6}
.resident-ai-message.assistant{align-self:flex-start;background:var(--panel2);border:1px solid var(--mk-line)}
.resident-ai-message.user{align-self:flex-end;background:var(--mk-teal-soft);color:var(--mk-teal-ink)}
.resident-ai-evidence{margin-top:6px;padding-inline-start:16px;font-size:12.5px;color:var(--muted)}
.resident-ai-action{margin-top:8px;min-height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--mk-line);background:var(--panel);font-size:13px;font-weight:600}
.resident-ai-thinking,.resident-ai-status{font-size:12.5px;color:var(--muted)}
.resident-ai-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 10px}
.resident-ai-suggestions button{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--mk-gold-line);background:var(--mk-gold-soft);font-size:12.5px;font-weight:600}
.resident-ai-composer{display:flex;gap:8px;align-items:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--mk-line)}
.resident-ai-composer input,.resident-ai-composer textarea{flex:1;min-height:44px}
.resident-ai-mic,.resident-ai-send{width:44px;height:44px;flex:none;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel2);display:grid;place-items:center}
.resident-ai-send{background:var(--mk-navy);color:#fff;border:0}
body:not(.light) .resident-ai-send{color:#10233a}
.resident-ai-readonly{padding:0 18px 8px;font-size:11.5px;color:var(--muted);text-align:center}

/* ---------- national day banner ---------- */
.national-day-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:#002628;color:#fff}
.national-day-brand{width:88px;height:auto;flex:none}
.national-day-copy b{display:block;font-size:14px}
.national-day-copy span{font-size:12px;opacity:.85}

/* ---------- PWA install card / update ---------- */
.install-card{position:fixed;z-index:85;inset-inline:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));max-width:520px;margin:0 auto;padding:14px 16px;border-radius:18px;background:var(--panel);border:1px solid var(--mk-line);box-shadow:0 12px 32px rgba(6,20,34,.18)}
.install-title{font-weight:700}
.install-sub{font-size:13px;color:var(--muted)}
.install-actions{display:flex;gap:8px;margin-top:10px}
.install-actions>*{flex:1}

/* ==========================================================================
   App shell and screens
   ========================================================================== */

/* ---------- sweep fixes (components that only the legacy CSS styled) ---------- */
#themeLogin{font-size:0;color:transparent;background-repeat:no-repeat;background-position:center;background-size:22px 22px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310233a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z'/%3E%3C/svg%3E")}
body:not(.light) #themeLogin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f5f7' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E")}
/* radio choices as chips (contact type, payment method, schedules) */
fieldset{margin:8px 0;padding:0;border:0;min-width:0}
legend{padding:0;margin:0 0 8px;font-size:13px;color:var(--muted)}
.product-choice-grid,fieldset:has(> label > input[type=radio]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
label:has(> input[type=radio]),label:has(> input[type=checkbox]).product-choice-option{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:0 12px;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel2);color:var(--text);font-size:13.5px;font-weight:600;cursor:pointer;text-align:center}
label:has(> input[type=radio]) input[type=radio]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
label:has(> input[type=radio]:checked){background:var(--mk-teal-soft);border-color:var(--mk-teal);color:var(--mk-teal-ink)}
label:has(> input[type=radio]:focus-visible){outline:2px solid var(--mk-teal);outline-offset:2px}
fieldset:has(> label > input[type=radio])>legend{grid-column:1/-1}
/* extra-service and report icons are line icons */
.service-icon svg,.core-service-icon svg,.core-service-tile svg,.service-row svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-icon,.core-service-icon{color:var(--mk-teal)}
/* guard achievements */
.guard-achievements-card{display:flex;flex-direction:column;gap:10px}
.guard-achievements-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.guard-achievements-head .reward-title{display:flex;align-items:center;gap:10px}
.guard-achievements-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--mk-gold-soft);font-size:18px;flex:none}
.guard-achievements-count{padding:3px 10px;border-radius:999px;background:var(--mk-gold-soft);color:var(--gold);font-size:12.5px;font-weight:700}
.guard-achievement-level{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:var(--mk-navy);color:#fff;font-size:13px}
body:not(.light) .guard-achievement-level{color:#10233a}
.guard-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.guard-badge{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:14px;background:var(--panel2);border:1px solid var(--mk-line);text-align:center;font-size:12px;opacity:.6}
.guard-badge.earned,.guard-badge.unlocked,.guard-badge.is-earned{opacity:1;border-color:var(--mk-teal)}
.guard-badge b{font-size:12.5px}
.guard-badge small{font-size:11px;color:var(--muted)}
.guard-badge-symbol{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--mk-teal-soft);color:var(--mk-teal)}
.guard-badge-symbol svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.guard-achievement-progress{height:8px;border-radius:4px;background:var(--mk-line);overflow:hidden}
.guard-achievement-progress>*{display:block;height:100%;border-radius:4px;background:var(--mk-teal)}
.guard-achievement-note{font-size:12px;color:var(--muted);text-align:center}
/* team members */
.team-member-list{display:flex;flex-direction:column;gap:8px}
.team-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:14px;font-weight:700}
.team-member-card,.team-invitation-card{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start;padding:12px 14px;border-radius:14px;background:var(--panel2);border:1px solid var(--mk-line)}
.team-member-avatar{grid-row:span 2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--mk-teal-soft);color:var(--mk-teal);font-size:18px}
.team-member-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.team-member-copy b{font-size:14px}
.team-member-copy span,.team-member-copy small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.team-member-card>:not(.team-member-avatar):not(.team-member-copy),.team-invitation-actions{grid-column:1/-1}
.team-invitation-actions,.team-member-edit{display:flex;flex-wrap:wrap;gap:8px}
.team-invitation-actions>*,.team-member-edit>*{flex:1;min-width:120px}
.team-invite-status{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--mk-teal-soft);color:var(--mk-teal-ink);font-size:12px;font-weight:600}
.team-add-panel,.team-add-form,.team-form-grid{display:flex;flex-direction:column;gap:8px}
.team-credentials{padding:10px 12px;border-radius:12px;background:var(--mk-gold-soft);font-size:12.5px}
/* manager: four summary figures in one row */
.rz-manager .mz-today .ops-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
/* Mabnak — resident interface, built fresh for the new shell (#residentShell).
   Tokens come from mabnak-theme.css. Nothing here overrides old screens; it styles new markup. */


.rz{--x:18px;--gap:10px;--r:20px;--r-s:14px;--bar:62px;display:flex;flex-direction:column;min-height:100dvh;background:var(--bg);color:var(--text)}
.rz .rz-hidden{display:none}
.rz .hidden{display:none!important}

/* header */
.rz-top{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:calc(18px + env(safe-area-inset-top,0px)) var(--x) 4px}
.rz-top-actions{display:flex;align-items:center;gap:8px}
.rz-top-id{display:flex;align-items:center;gap:10px;min-width:0}
.rz-mark{width:40px;height:40px;border-radius:12px;background:var(--mk-navy);display:grid;place-items:center;overflow:hidden;flex:none}
.rz-mark img{width:26px;height:26px}
body:not(.light) .rz-mark{background:#1c3a55}
.rz-top-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rz-top-name{font-size:14px;font-weight:700;line-height:1.3}
.rz-iconbtn{position:relative;width:42px;height:42px;border-radius:13px;border:1px solid var(--mk-line);background:var(--panel);display:grid;place-items:center;color:var(--text);cursor:pointer;flex:none;box-shadow:none}
.rz-iconbtn>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rz-iconbtn[hidden]{display:none}
.rz-iconbtn .role-hub-icon{width:22px;height:22px;background:none;border:0;padding:0;margin:0}
.rz-dot{position:absolute;top:8px;inset-inline-end:9px;width:8px;height:8px;border-radius:50%;background:var(--danger)}

/* pages */
.rz-pages{flex:1;padding:8px var(--x) calc(var(--bar) + env(safe-area-inset-bottom,0px) + 28px)}
.rz-page{display:none;flex-direction:column;gap:var(--gap)}
.rz-page.is-active{display:flex}
.rz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0 4px}
.rz-head h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.3px;line-height:1.3}
.rz-sub{margin:6px 0 0;font-size:13px;color:var(--muted)}
.rz-btn{flex:none;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px;border-radius:14px;border:0;background:var(--mk-navy);color:#fff;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
body:not(.light) .rz-btn{color:#10233a}
.rz-btn .role-hub-icon{width:18px;height:18px;background:none;border:0;padding:0;margin:0;color:inherit}
.rz-card{background:var(--panel);border:1px solid var(--mk-line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:10px}

/* icon helper: every dashboardSectionIcon inside .rz is a plain line icon */
.rz .role-hub-icon{display:inline-grid;place-items:center;width:22px;height:22px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;color:inherit}
.rz .role-hub-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* home: daily brief */
.rz-brief{background:var(--panel)!important;border:1px solid var(--mk-line)!important;border-radius:var(--r)!important;padding:16px!important;display:flex;flex-direction:column;gap:12px;box-shadow:none!important}
.rz-brief.critical{border-color:var(--danger)!important}
.rz-brief .resident-ai-brief-greeting-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rz-brief .resident-ai-brief-greeting{font-size:22px!important;font-weight:700!important;letter-spacing:-.3px;line-height:1.3;color:var(--text)!important;min-width:0}
.rz-brief .resident-weather-chip{flex:none;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--mk-line);font-size:13px}
.rz-brief .resident-weather-chip small{font-size:11px;color:var(--muted)}
.rz-brief .resident-ai-brief-heading{margin:0!important;font-size:13px!important;color:var(--muted)!important;font-weight:400!important}
.rz-brief .resident-ai-brief-clear{display:flex;flex-direction:column;gap:2px}
.rz-brief .resident-ai-brief-clear b{font-size:14px}
.rz-brief .resident-ai-brief-clear p{margin:0;font-size:13px;color:var(--muted)}
.rz-brief .resident-ai-brief-loading{margin:0;font-size:13px;color:var(--muted)}
.rz-brief .resident-ai-brief-items{display:flex;flex-direction:column;gap:8px}
.rz-brief .resident-ai-brief-item{display:flex;align-items:center;gap:12px;padding:11px 12px;min-height:56px;border-radius:14px;background:var(--bg);border:1px solid var(--mk-line);color:var(--text);font:inherit;text-align:start;width:100%;box-sizing:border-box}
.rz-brief button.resident-ai-brief-item{cursor:pointer}
.rz-brief .resident-ai-brief-item.tone-gold{background:var(--mk-gold-soft);border-color:var(--mk-gold-line)}
.rz-brief .resident-ai-brief-item.tone-danger{background:var(--mk-red-soft);border-color:transparent}
.rz-brief .resident-ai-brief-item .role-hub-icon{width:36px;height:36px;border-radius:10px!important;background:var(--panel)!important;flex:none;color:var(--mk-teal)}
.rz-brief .resident-ai-brief-item.tone-gold .role-hub-icon{color:var(--gold)}
.rz-brief .resident-ai-brief-item.tone-danger .role-hub-icon{color:var(--danger)}
.rz-brief .resident-ai-brief-item b{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.4}
.rz-brief .resident-ai-brief-go{font-style:normal;font-size:18px;line-height:1;color:var(--muted)}
html[dir="ltr"] .rz-brief .resident-ai-brief-go{display:inline-block;transform:scaleX(-1)}
.rz-brief .resident-ai-brief-warning{font-size:12px;color:var(--danger)}
.rz-brief .resident-ai-brief-ask{align-self:flex-start;border:0!important;background:none!important;padding:0!important;font:inherit;font-size:13px;font-weight:600;color:var(--mk-teal)!important;cursor:pointer;min-height:0!important}

/* home: quick actions */
.rz-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.rz-quick-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:86px;padding:12px 8px;border-radius:var(--r-s);border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font:inherit;font-size:12.5px;font-weight:600;line-height:1.35;text-align:center;cursor:pointer}
.rz-quick-btn .role-hub-icon{width:38px;height:38px;border-radius:11px!important;background:var(--mk-teal-soft)!important;color:var(--mk-teal)}
.rz-quick-btn.is-report .role-hub-icon{background:var(--mk-red-soft)!important;color:var(--danger)}
.rz-quick-btn.is-manager .role-hub-icon{background:var(--bg)!important;color:var(--text)}
.rz-quick-btn:active{transform:scale(.98)}

/* home: guard alerts (markup rendered by the app) */
.rz .guard-alerts-section{display:flex;flex-direction:column;gap:8px}
.rz .guard-alerts-section>.section{font-size:14px;font-weight:700;margin:4px 0 0}
.rz .guard-alerts-section .guard-alert-card,.rz .guard-alerts-section .alert-card{background:#fffaf0;border:1px solid var(--mk-gold-line);border-radius:var(--r);padding:14px 16px}
body:not(.light) .rz .guard-alerts-section .guard-alert-card,body:not(.light) .rz .guard-alerts-section .alert-card{background:var(--mk-gold-soft)}

/* requests */
.rz-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.rz-filters::-webkit-scrollbar{display:none}
.rz-filters button{flex:none;height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font:inherit;font-size:13px;cursor:pointer}
.rz-filters button.active{background:var(--mk-navy);border-color:var(--mk-navy);color:#fff}
body:not(.light) .rz-filters button.active{color:#10233a}
.rz-list{display:flex;flex-direction:column;gap:var(--gap)}
.rz-req{background:var(--panel)!important;border:1px solid var(--mk-line)!important;border-radius:var(--r)!important;padding:14px 16px!important;display:flex!important;flex-direction:column;gap:12px;box-shadow:none!important;margin:0!important}
.rz-req-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.rz-req-title b{display:block;font-size:15px;font-weight:700;line-height:1.35}
.rz-req-title small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.rz-pill{flex:none;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg);color:var(--text)}
.rz-pill.st-inProgress,.rz-pill.st-paused{background:var(--mk-teal-soft);color:var(--mk-teal-ink)}
.rz-pill.st-waiting,.rz-pill.st-accepted{background:var(--mk-gold-soft);color:var(--gold)}
.rz-pill.st-completed{background:var(--bg);color:var(--text)}
.rz-pill.st-cancelled{background:var(--mk-red-soft);color:var(--danger)}
.rz-req-details{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--muted)}
.rz-steps{display:flex;padding:2px 6px 0}
.rz-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;font-size:10.5px;color:var(--muted);text-align:center}
.rz-step i{width:12px;height:12px;border-radius:50%;background:var(--mk-line);border:2px solid var(--panel);box-shadow:0 0 0 1px var(--mk-line)!important;z-index:1}
.rz-step+.rz-step::before{content:"";position:absolute;top:6px;inset-inline-start:-50%;width:100%;height:2px;background:var(--mk-line)}
.rz-step.done i,.rz-step.now i{background:var(--mk-teal);box-shadow:0 0 0 1px var(--mk-teal)!important}
.rz-step.now i{width:14px;height:14px}
.rz-step.now{color:var(--text);font-weight:700}
.rz-step.done+.rz-step::before{background:var(--mk-teal)}
.rz-req-latest{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--bg);font-size:12.5px}
.rz-req-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rz-req-actions button,.rz-req-actions .rz-mini{min-height:40px!important;padding:0 14px!important;border-radius:12px!important;font-size:13px!important;font-weight:600!important;flex:none}
.rz-req-actions .rz-mini.danger{background:var(--panel)!important;border:1px solid var(--mk-line)!important;color:var(--danger)!important}
.rz-req-actions .confirm-service{background:var(--mk-teal)!important;color:#fff!important;border:0!important}
.rz-req-actions .rating-box,.rz-req-actions .rating-confirm-box{width:100%;display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;background:var(--mk-gold-soft);border:1px solid var(--mk-gold-line)}
.rz-req-actions .rating-box p,.rz-req-actions .rating-confirm-box p{margin:0;font-size:13px}
.rz-req-actions .notice{width:100%;margin:0}
.rz-req .photo-thumb,.rz-req img{max-width:100%;border-radius:12px}
.rz-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;border-radius:var(--r);background:var(--panel);border:1px dashed var(--mk-line);text-align:center}
.rz-empty b{font-size:15px}

/* services (temporary: app markup inside a card) */
.rz .resident-services-card .resident-core-services{display:flex;flex-direction:column;gap:10px}
.rz .resident-services-card .resident-core-services>h3{margin:0;font-size:14px}
.rz .resident-services-card .notice{margin:0;padding:10px 12px;border-radius:12px;background:var(--mk-gold-soft);border:1px solid var(--mk-gold-line);font-size:13px}
.rz .resident-core-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rz .core-service-tile{min-height:64px!important;border-radius:var(--r-s)!important;display:flex!important;align-items:center;justify-content:center;gap:8px;font-weight:600!important}
.rz .core-service-tile .core-service-icon{color:var(--mk-teal)}
.rz #residentAdditionalToggle{width:100%;min-height:44px!important;border-radius:12px!important}
.rz #residentAdditionalPanel{display:flex;flex-direction:column;gap:10px}
.rz #residentAdditionalPanel.hidden{display:none}
.rz .resident-additional-heading{margin:0;font-size:14px}
.rz .resident-additional-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rz .resident-additional-services .service-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:84px;padding:12px 14px;border-radius:var(--r-s);border:1px solid var(--mk-line);background:var(--panel2);text-align:start;font:inherit;cursor:pointer;color:var(--text)}
.rz .resident-additional-services .service-icon{width:36px;height:36px;border-radius:10px;background:var(--mk-teal-soft);display:grid;place-items:center;font-size:18px}
.rz .resident-additional-services .service-main b{font-size:13.5px;font-weight:600}

/* finance (temporary: app markup) */
.rz .financial-dues{background:var(--panel);border:1px solid var(--mk-line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.rz .financial-dues-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rz .financial-dues-head .resident-section-title{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.rz .financial-demo-badge{font-size:11.5px;color:var(--muted)}
.rz .financial-dues-main{display:flex;flex-direction:column;gap:10px}
.rz .debt-total-box{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:16px;background:var(--mk-gold-soft);border:1px solid var(--mk-gold-line)}
.rz .debt-total-box>span{font-size:13px;color:var(--muted)}
.rz .debt-total-box strong{font-size:30px;line-height:1.15}
.rz .debt-total-box .financial-status{font-size:12.5px;color:var(--gold)}
.rz .monthly-fee-box{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:var(--r-s);background:var(--bg);border:1px solid var(--mk-line)}
.rz .monthly-fee-box strong{font-size:16px;color:var(--mk-teal)}
.rz #financialDetailsBtn{width:100%;min-height:44px!important;border-radius:12px!important}
.rz .resident-points-card .reward-title h3{margin:0;font-size:14px;display:flex;align-items:center;gap:8px}

/* more */
.rz-account{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r);background:var(--panel);border:1px solid var(--mk-line)}
.rz-avatar{width:44px;height:44px;border-radius:50%;background:var(--mk-navy);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:700;flex:none}
body:not(.light) .rz-avatar{color:#10233a}
.rz-account b{display:block;font-size:15px}
.rz-account small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}
.rz-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.rz-tiles>:last-child:nth-child(odd){grid-column:1/-1}
.rz-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:96px;padding:12px 14px;border-radius:var(--r-s);border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font:inherit;text-align:start;cursor:pointer;box-sizing:border-box}
.rz-tile .role-hub-icon{width:38px;height:38px;border-radius:11px!important;background:var(--mk-teal-soft)!important;color:var(--mk-teal);margin-bottom:4px!important}
.rz-tile b{font-size:14px;font-weight:700;line-height:1.4}
.rz-tile small{font-size:12px;line-height:1.5;color:var(--muted)}
.rz-tile.is-open{border-color:var(--mk-teal)}
.rz-tile-select select{width:100%;min-height:40px!important;border-radius:10px!important;font-size:14px!important;padding:0 10px}
.rz-sub-block{display:flex;flex-direction:column;gap:var(--gap)}
.rz-sub-block>*{background:var(--panel);border:1px solid var(--mk-line);border-radius:var(--r);padding:14px 16px}
.rz-more-foot{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 0}
.rz-logout{display:inline-flex;align-items:center;gap:6px;padding:8px 4px;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--danger);cursor:pointer}
.rz-logout .role-hub-icon{width:18px;height:18px;color:inherit}
.rz-version{font-size:11.5px;color:var(--muted)}

/* bottom bar */
.rz-tabs{position:fixed;bottom:0;inset-inline:0;z-index:60;display:flex;justify-content:space-around;align-items:center;gap:4px;min-height:calc(var(--bar,62px) + env(safe-area-inset-bottom,0px));padding:8px max(9px,env(safe-area-inset-right,0px)) calc(9px + env(safe-area-inset-bottom,0px)) max(9px,env(safe-area-inset-left,0px));box-sizing:border-box;background:var(--panel);border-top:1px solid var(--mk-line)}
.rz-tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:46px;padding:2px 6px;border:0;border-radius:12px;background:none;color:var(--muted);font:inherit;font-size:11px;line-height:1.5;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rz-tab .role-hub-icon{width:22px;height:22px}
.rz-tab[aria-current="page"]{background:var(--mk-teal-soft);color:var(--mk-teal-ink);font-weight:700}
.rz-tab:focus-visible{outline:2px solid var(--mk-teal);outline-offset:2px}
.rz-tab-badge{position:absolute;top:0;right:50%;margin-right:3px;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:8px;background:var(--danger);color:#fff;font-style:normal;font-size:10px;font-weight:700;line-height:16px;text-align:center}
html[dir="rtl"] .rz-tab-badge{right:auto;left:50%;margin-right:0;margin-left:3px}
body.light .rz-tab-badge{background:#b3261e}
.rz-tab-badge.hidden{display:none}

@media (min-width:768px){
  html:not(.phone-device) .rz-tabs{position:sticky;inset-inline:auto;margin-top:auto}
}
@media (prefers-reduced-motion:reduce){.rz *{transition:none!important}}

/* requests: status note the app renders above the list */
.rz #tenantStatusAlert:empty{display:none}
.rz #tenantStatusAlert>*{margin:0;padding:10px 12px;border-radius:12px;background:var(--mk-teal-soft);border:1px solid transparent;font-size:13px;color:var(--text)}
.rz #tenantStatusAlert b{font-weight:700}

/* home extras */
.rz-extras{display:flex;flex-direction:column;gap:var(--gap)}
.rz-extras:empty{display:none}
.rz-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rz-card-head b{font-size:14px;font-weight:700}
.rz-row{display:flex;align-items:center;gap:12px;min-height:44px}
.rz-row .role-hub-icon{width:36px;height:36px;border-radius:10px!important;background:var(--bg)!important;color:var(--text);flex:none}
.rz-row.ok .role-hub-icon{background:var(--mk-teal-soft)!important;color:var(--mk-teal)}
.rz-row>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.rz-row b{font-size:14px;font-weight:600;line-height:1.35}
.rz-row small{font-size:12px;color:var(--muted)}
.rz-row+.rz-row{border-top:1px solid var(--mk-line);padding-top:8px}
.rz-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.rz-strip-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border-radius:var(--r-s);border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font:inherit;text-align:start;cursor:pointer;min-height:96px}
.rz-strip-item small{font-size:12px;color:var(--muted)}
.rz-strip-item b{font-size:24px;font-weight:700;line-height:1.2}
.rz-strip-item b span{font-size:12px;font-weight:500;color:var(--muted)}
.rz-strip-note{font-size:12px;color:var(--muted)}
.rz-strip-item.is-due{background:var(--mk-gold-soft);border-color:var(--mk-gold-line)}
.rz-strip-item.is-due b,.rz-strip-item.is-due .rz-strip-note{color:var(--gold)}
.rz-strip-item.is-gold b{color:var(--gold)}
.rz-mini-req{width:100%;text-align:start;font:inherit;color:var(--text);cursor:pointer}
.rz-mini-req-body{display:flex;align-items:center;gap:12px}
.rz-mini-req-body .role-hub-icon{width:38px;height:38px;border-radius:11px!important;background:var(--mk-teal-soft)!important;color:var(--mk-teal);flex:none}
.rz-mini-req.is-empty .role-hub-icon{background:var(--bg)!important;color:var(--muted)}
.rz-mini-req-body>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rz-mini-req-body b{font-size:14px;font-weight:600}
.rz-mini-req-body small{font-size:12px;color:var(--muted)}
.rz-go{font-style:normal;font-size:18px;color:var(--muted)}
html[dir="ltr"] .rz-go{display:inline-block;transform:scaleX(-1)}
.rz-survey{width:100%;text-align:start;font:inherit;color:var(--text);cursor:pointer}
.rz-survey p{margin:0;font-size:14px;font-weight:600;line-height:1.5}

/* home hero scene (regional theme) */
.rz-page[data-rz-page="home"]{padding-top:0}
.rz-hero{margin:0 calc(-1 * var(--x));width:calc(100% + 2 * var(--x));position:relative;overflow:hidden;background:var(--rz-sky,var(--bg));padding-top:calc(30px + env(safe-area-inset-top,0px))}
.rz-hero-scene{aspect-ratio:390/170;max-height:230px}
.rz-hero-scene svg{display:block;width:100%;height:100%}
.rz-brief-over{margin-top:-36px;position:relative;z-index:1}
body:has(#residentShell[data-rz-active="home"]) .rz-top{position:absolute;inset-inline:0;top:0;z-index:2;background:transparent}
body:has(#residentShell[data-rz-active="home"]) .rz-top .rz-top-sub,body:has(#residentShell[data-rz-active="home"]) .rz-top .rz-top-name{color:var(--text)}
body:has(#residentShell[data-rz-active="home"]) .rz-top .rz-iconbtn{background:var(--panel);border-color:var(--mk-line)}
body:not(.light):has(#residentShell[data-rz-active="home"]) .rz-top .rz-iconbtn{background:rgba(18,38,56,.85);border-color:rgba(255,255,255,.12)}
body:has(#residentShell[data-rz-active="home"]) .rz-pages{padding-top:0}
.rz-page[data-rz-page="home"] .rz-hero{margin-top:0}
.rz .rz-muted{font-size:12px;color:var(--muted);font-weight:400}
.rz-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rz-scene-chip{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:56px;padding:8px 6px;border-radius:12px;border:1px solid var(--mk-line);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;text-align:center}
.rz-scene-chip b{font-size:13px;font-weight:700}
.rz-scene-chip small{font-size:10.5px;color:var(--muted);line-height:1.3}
.rz-scene-chip[aria-pressed="true"]{border-color:var(--mk-teal);background:var(--mk-teal-soft);color:var(--mk-teal-ink)}

/* header/bar review: one bell on top, five clear actions at the bottom */
.rz-brief .resident-ai-brief-ask{display:none!important}
.rz-back{display:inline-flex;align-items:center;gap:4px;margin:0 0 8px;padding:0 10px 0 6px;height:34px;border-radius:10px;border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.rz-back .role-hub-icon{width:16px;height:16px}
.rz-tab-ai{gap:2px}
.rz-ai-mark{width:36px;height:36px;border-radius:11px;background:var(--mk-navy);color:#e2bd74;display:grid;place-items:center}
.rz-ai-mark svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
body:not(.light) .rz-ai-mark{background:#e2bd74;color:#10233a}
.rz-tab-ai span:last-child{font-weight:700;color:var(--text)}
.rz-tab-ai[aria-current="page"]{background:none}
.rz .resident-points-card .reward-title h3{margin:0 0 4px;font-size:14px;display:flex;align-items:center;gap:8px}
html[dir="rtl"] .rz-back .role-hub-icon svg{transform:scaleX(-1)}
.rz-tab-ai span:last-child{font-size:10.5px;line-height:1.2}

/* dues (association) */
.rz-dues{display:flex;flex-direction:column;gap:var(--gap)}
.rz-due-hero{display:flex;flex-direction:column;gap:6px;padding:20px 18px;border-radius:var(--r);background:var(--panel);border:1px solid var(--mk-line)}
.rz-due-hero.is-due{background:var(--mk-gold-soft);border-color:var(--mk-gold-line)}
.rz-due-hero.is-clear{background:var(--mk-teal-soft);border-color:transparent}
.rz-due-hero small{font-size:13px;color:var(--muted)}
.rz-due-hero strong{font-size:36px;font-weight:700;line-height:1.1;letter-spacing:-.5px}
.rz-due-hero strong span{font-size:14px;font-weight:500;color:var(--muted)}
.rz-due-status{font-size:12.5px;color:var(--muted)}
.rz-due-hero.is-due .rz-due-status{color:var(--gold)}
.rz-due-hero.is-clear .rz-due-status{color:var(--mk-teal-ink)}
.rz-dues-details{display:flex;flex-direction:column;gap:var(--gap)}
.rz-lines{display:flex;flex-direction:column}
.rz-line{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:10px 0;border-top:1px solid var(--mk-line);font-size:13.5px}
.rz-line:first-child{border-top:0;padding-top:2px}
.rz-line small{grid-column:1;font-size:11.5px;color:var(--muted)}
.rz-line b{grid-column:2;grid-row:1/span 2;font-weight:700}
.rz-line b.ok{color:var(--mk-teal)}
.rz .payment-notice-stack{display:flex;flex-direction:column;gap:8px}
.rz .payment-notice-stack>*{padding:10px 12px;border-radius:12px;background:var(--mk-teal-soft);font-size:13px}
/* association payments block (rendered by the product module inside #financialDetails) */
.rz #productAssociation{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--r);background:var(--panel);border:1px solid var(--mk-line)}
.rz #productAssociation .association-payment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rz #productAssociation h4{margin:0;font-size:14px}
.rz #productAssociation small{font-size:12px;color:var(--muted)}
.rz #productAssociation .association-payment-head button{min-height:40px!important;border-radius:12px!important;background:var(--mk-navy)!important;color:#fff!important;border:0!important;font-weight:600!important}
body:not(.light) .rz #productAssociation .association-payment-head button{color:#10233a!important}
.rz #productAssociation details{border:1px solid var(--mk-line);border-radius:12px;padding:8px 12px}
.rz #productAssociation summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text)}
.rz #productAssociation .association-payment-card{margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--mk-line)}
.rz #productAssociation .association-payment-title{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.rz #productAssociation .association-status-pill{font-size:11.5px;color:var(--muted)}
.rz #productAssociation p{margin:4px 0 0;font-size:12.5px;color:var(--muted)}

/* services page */
.rz .resident-services-card .resident-core-services{display:flex;flex-direction:column;gap:10px}
.rz .resident-core-services>.notice,.rz .resident-core-services #productResidentService{margin:0;padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--mk-line);font-size:12.5px;color:var(--muted)}
.rz .resident-core-services #productResidentService p{margin:0}
.rz .resident-extra-card #residentAdditionalStatus:empty{display:none}
.rz .resident-extra-card #residentAdditionalStatus>*{margin:0;padding:10px 12px;border-radius:12px;background:var(--mk-gold-soft);border:1px solid var(--mk-gold-line);font-size:12.5px}
.rz .resident-additional-panel{display:flex;flex-direction:column;gap:10px}
.rz #financialDuesSection{border:0!important;background:none!important;padding:0!important;box-shadow:none!important}
.rz-strip-text{font-size:14px!important;font-weight:700!important;line-height:1.35!important}
/* association payments block: same card language as the rest */
.rz #productAssociation.role-detail-card{background:var(--panel)!important;border:1px solid var(--mk-line)!important;border-radius:var(--r)!important;padding:14px 16px!important;box-shadow:none!important;margin:0!important}
.rz #productAssociation .product-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rz #productAssociation .association-payment-head h4{margin:0;font-size:14px;font-weight:700}
.rz #productAssociation .association-payment-head>div{display:flex;flex-direction:column;gap:2px}
.rz #productAssociation .association-payment-head button.secondary{background:var(--mk-navy)!important;color:#fff!important;border:0!important;border-radius:12px!important;min-height:40px!important;padding:0 14px!important;font-weight:600!important;font-size:13px!important}
body:not(.light) .rz #productAssociation .association-payment-head button.secondary{color:#10233a!important}
.rz #productAssociation details.association-history{margin-top:10px;border:1px solid var(--mk-line);border-radius:12px;padding:8px 12px;background:var(--bg)}
.rz #productAssociation .association-payment-card{margin:8px 0 0!important;padding:10px 12px!important;border-radius:12px!important;background:var(--panel)!important;border:1px solid var(--mk-line)!important;box-shadow:none!important}
.rz #productAssociation .association-payment-title{display:flex;justify-content:space-between;gap:8px;font-size:13px;flex-wrap:wrap}
.rz #productAssociation .association-status-pill{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--mk-teal-soft);color:var(--mk-teal-ink)}
.rz #productAssociation .status-pending .association-status-pill{background:var(--mk-gold-soft);color:var(--gold)}
.rz #productAssociation .status-rejected .association-status-pill,.rz #productAssociation .status-reversed .association-status-pill{background:var(--mk-red-soft);color:var(--danger)}
.rz #productAssociation p{margin:4px 0 0;font-size:12.5px;color:var(--muted)}
/* guard points card (services page) */
.rz .resident-points-card .reward-title h3 .resident-section-icon{color:var(--gold)}
.rz .resident-points-card .reward-title h3 span:last-child{color:var(--text)}
.rz .points-summary{display:flex;flex-direction:column;gap:10px}
.rz .points-conversion{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--mk-line);font-size:12.5px;color:var(--muted)}
.rz .reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rz .reward-box{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--r-s);background:var(--bg)!important;border:1px solid var(--mk-line)!important;box-shadow:none!important}
.rz .reward-box.points{background:var(--mk-gold-soft)!important;border-color:var(--mk-gold-line)!important}
.rz .reward-label{font-size:12px;color:var(--muted)}
.rz .reward-value{font-size:22px;font-weight:700;color:var(--text)!important}
.rz .reward-box.points .reward-value{color:var(--gold)!important}
.rz .reward-box.money .reward-value{color:var(--mk-teal)!important}
.rz .reward-unit{font-size:12px;color:var(--muted);margin-inline-start:4px}
.rz .points-pending-row{display:flex;justify-content:space-between;padding:8px 12px;border-radius:12px;background:var(--bg);font-size:12.5px}
.rz .points-settlement-note{margin:0;font-size:12px;color:var(--muted);line-height:1.6}
.rz .resident-settlement-action{margin:0!important;padding:12px 14px!important;border-radius:var(--r-s)!important;background:var(--bg)!important;border:1px solid var(--mk-line)!important;box-shadow:none!important}
.rz .resident-settlement-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rz .resident-settlement-row b{font-size:14px}
.rz .resident-settlement-row .ledger-status{display:block;font-size:12px;color:var(--muted);margin-top:2px}
html body #content #financialDuesSection.rz-dues{border:0!important;background:none!important;padding:0!important;box-shadow:none!important;border-radius:0!important}
html body #content .rz #productAssociation .product-row{background:none!important;border:0!important;padding:0!important;border-radius:0!important}
html body #content .rz #productAssociation .association-payment-card{background:var(--panel)!important}
html body #content .rz .notice{background:var(--bg)!important;border:1px solid var(--mk-line)!important;color:var(--muted)!important}

/* fit every phone: the shell owns the horizontal padding; nothing outside adds more */
body:has(#residentShell) main#content,body:has(#residentShell) main#content.wrap{padding:0!important;margin:0!important;max-width:none!important;width:100%!important}
body:has(#residentShell) .app-mobile-shell{padding:0!important}
.rz{--x:16px;width:100%;max-width:100%;box-sizing:border-box}
@media (min-width:430px){.rz{--x:18px}}
@media (max-width:360px){.rz{--x:14px}.rz-quick-btn{font-size:12px;padding:10px 6px}.rz-quick-btn .role-hub-icon{width:34px;height:34px}}
.rz-top{padding-top:calc(18px + env(safe-area-inset-top,0px))}
body:has(#residentShell[data-rz-active="home"]) .rz-top{padding-top:calc(18px + env(safe-area-inset-top,0px))}
.rz-quick-btn span{white-space:nowrap}
@media (max-width:379px){.rz-quick-btn span{white-space:normal}}

/* header: mark + bell only; on Home it floats on the sky band above the drawing */
.rz-top-id .rz-mark{width:40px;height:40px}

/* ===== guard ===== */
.rz-greet .resident-ai-brief-greeting{font-size:22px;font-weight:700;letter-spacing:-.3px}
.rz-greet .rz-sub{margin:0}
.rz-duty{display:flex;flex-direction:column;gap:10px}
.rz-duty:empty{display:none}
.rz-duty-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;background:var(--mk-navy);color:#fff}
body:not(.light) .rz-duty-card{background:#1c3a55;color:#f2f5f7}
.rz-duty-card small{font-size:12px;color:rgba(255,255,255,.72)}
.rz-duty-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rz-duty-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:600}
.rz-duty-pill i{width:7px;height:7px;border-radius:50%;background:#e2bd74}
.rz-duty-card.is-on .rz-duty-pill i{background:#5ad0b6}
.rz-duty-main{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.rz-duty-main>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rz-duty-main strong{font-size:30px;font-weight:700;line-height:1.1}
.rz-duty-btn{flex:none;height:44px;padding:0 16px;border-radius:14px;border:0;background:#e2bd74;color:#10233a;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.rz-duty-btn:disabled{opacity:.5;cursor:default}
.rz-duty-avail{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-align:start}
.rz-duty-avail.is-on{border-color:rgba(90,208,182,.5);background:rgba(90,208,182,.12)}
.rz-duty-avail .role-hub-icon{width:22px;height:22px;color:#e2bd74}
.rz-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--mk-teal-ink)}
.rz-live i{width:7px;height:7px;border-radius:50%;background:var(--mk-teal)}
.rz-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rz-kpis .ops-kpi{display:flex!important;flex-direction:column;align-items:center;gap:4px;padding:12px 8px!important;border-radius:var(--r-s)!important;background:var(--bg)!important;border:1px solid var(--mk-line)!important;box-shadow:none!important;text-align:center}
.rz-kpis .ops-kpi-icon{display:none}
.rz-kpis .ops-kpi strong{font-size:24px;font-weight:700;line-height:1.2;color:var(--text)}
.rz-kpis .ops-kpi.open strong{color:var(--gold)}
.rz-kpis .ops-kpi.ok strong{color:var(--mk-teal)}
.rz-kpis .ops-kpi small{font-size:11.5px;color:var(--muted)}
.rz-round{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 0}
.rz-round+.rz-round{border-top:1px solid var(--mk-line)}
.rz-round>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.rz-round b{font-size:14px;font-weight:600}
.rz-round small{font-size:12px;color:var(--muted)}
.rz-round.is-done b{color:var(--muted);text-decoration:line-through}
.rz-check{width:26px;height:26px;border-radius:8px;border:2px solid var(--mk-line);display:grid;place-items:center;color:#fff;flex:none}
.rz-round.is-done .rz-check{background:var(--mk-teal);border-color:var(--mk-teal)}
.rz-round.is-done .rz-check .role-hub-icon{width:16px;height:16px;color:#fff}
.rz-mini{min-height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.rz-mini:disabled{opacity:.5;cursor:default}
.rz-work{display:flex;flex-direction:column;gap:var(--gap)}
.rz .guard-request-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.rz .guard-filter-btn{flex:none;height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.rz .guard-filter-btn span{font-size:11.5px;padding:1px 6px;border-radius:999px;background:var(--bg);color:var(--muted)}
.rz .guard-filter-btn.active{background:var(--mk-navy);border-color:var(--mk-navy);color:#fff}
.rz .guard-filter-btn.active span{background:rgba(255,255,255,.18);color:#fff}
body:not(.light) .rz .guard-filter-btn.active{color:#10233a}
.rz .manager-results-meta{font-size:12px;color:var(--muted);padding:0 4px}
.rz-req.is-security{border-color:var(--danger)!important}
.rz-req-title b .role-hub-icon{width:18px;height:18px;vertical-align:-3px;color:var(--danger)}
.rz-btn.is-teal{background:var(--mk-teal)!important;color:#fff!important}
.rz #productGuard{display:none}
.rz-achievements .guard-achievements-head b{font-size:14px}
.rz-alerts #openGuardAlert{width:100%;min-height:48px!important;border-radius:14px!important;background:var(--mk-navy)!important;color:#fff!important;border:0!important;font-weight:600!important}
body:not(.light) .rz-alerts #openGuardAlert{color:#10233a!important}
.rz-alerts .guard-alert-expandable{display:flex;flex-direction:column;gap:10px}
.rz-alerts .guard-alert-expandable>p{margin:0;font-size:13px;color:var(--muted)}
.rz-alerts .guard-alert-history{display:flex;flex-direction:column;gap:8px}
.rz-alerts .guard-alert-history>*{padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--mk-line)}
.rz .guard-reward-highlight,.rz .guard-reward-history{background:var(--panel);border:1px solid var(--mk-line);border-radius:var(--r);padding:14px 16px}

html body #content .rz .role-hub-icon{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;border-radius:0!important}
html body #content .rz .rz-tab .role-hub-icon{width:22px;height:22px}
html body #content .rz #productGuard{display:none!important}
.rz .guard-reward-history:has(#history:empty){display:none}
.rz .guard-reward-highlight:has(#reward:empty){display:none}

/* ===== manager ===== */
.rz-seg{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.rz-seg::-webkit-scrollbar{display:none}
.rz-seg-btn{flex:none;height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font:inherit;font-size:13px;cursor:pointer}
.rz-seg-btn.active{background:var(--mk-navy);border-color:var(--mk-navy);color:#fff}
body:not(.light) .rz-seg-btn.active{color:#10233a}
.rz-seg-pages{display:flex;flex-direction:column;gap:var(--gap)}
.rz .rz-section{display:flex;flex-direction:column;gap:var(--gap);background:none;border:0;padding:0;margin:0}
.rz .rz-section.hidden{display:none}
.rz .rz-section>.role-detail-head{display:none}
.rz .rz-section.rz-inline>.role-detail-head{display:block;padding:0;background:none;border:0}
.rz .rz-section.rz-inline .role-detail-back{display:none}
.rz .rz-section.rz-inline .role-detail-heading{display:flex;align-items:center;gap:8px}
.rz .rz-section.rz-inline .role-detail-heading h2{margin:0;font-size:14px;font-weight:700}
.rz .rz-section.rz-inline .role-detail-heading p{display:none}
.rz .rz-section.rz-inline .role-detail-heading .role-hub-icon{width:22px;height:22px;color:var(--danger)}
html body #content .rz :is(.role-detail-card,.ops-panel,.guard-block,.team-management-card,.management-survey-panel){background:var(--panel)!important;border:1px solid var(--mk-line)!important;border-radius:var(--r)!important;padding:14px 16px!important;box-shadow:none!important;margin:0!important;display:flex;flex-direction:column;gap:10px}
.rz .mz-today{padding:14px 16px}
.rz .mz-today .role-hub-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rz .mz-today .role-hub-summary-head b{font-size:14px}
.rz .mz-today .role-hub-summary-head span{font-size:12px;color:var(--muted)}
.rz .mz-today .role-hub-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--mk-teal-ink)}
.rz .mz-today .role-hub-live i{width:7px;height:7px;border-radius:50%;background:var(--mk-teal)}
.rz .mz-today .ops-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px}
.rz .mz-today .ops-kpi{display:flex!important;flex-direction:column;align-items:center;gap:4px;padding:12px 6px!important;border-radius:var(--r-s)!important;background:var(--bg)!important;border:1px solid var(--mk-line)!important;box-shadow:none!important;text-align:center}
.rz .mz-today .ops-kpi-icon{display:none}
.rz .mz-today .ops-kpi strong{font-size:22px;font-weight:700;line-height:1.2;color:var(--text)}
.rz .mz-today .ops-kpi.open strong,.rz .mz-today .ops-kpi.warn strong{color:var(--gold)}
.rz .mz-today .ops-kpi.danger strong{color:var(--danger)}
.rz .mz-today .ops-kpi.ok strong{color:var(--mk-teal)}
.rz .mz-today .ops-kpi small{font-size:11.5px;color:var(--muted)}
.rz .ops-attention-list{display:flex;flex-direction:column;gap:8px}
.rz .ops-attention-list>*{padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--mk-line)}
.rz .ops-attention-list .ops-attention-empty,.rz .ops-attention-list .muted{color:var(--muted);font-size:13px}
.rz .manager-readonly-note{padding:10px 12px;border-radius:12px;background:var(--bg);font-size:12.5px;color:var(--muted)}
.rz .manager-group-tools{display:none}
.rz-tab-badge.is-info{background:var(--mk-teal)}
.rz .rz-section h3,.rz .rz-section h4{margin:0;font-size:14px}
.rz .rz-section .section{font-size:14px;font-weight:700}
.rz .rz-section input,.rz .rz-section select,.rz .rz-section textarea{width:100%;box-sizing:border-box}
.rz .rz-section .manager-filter-grid,.rz .rz-section .manager-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rz .rz-section table{width:100%;border-collapse:collapse;font-size:13px}
.rz .rz-section td,.rz .rz-section th{padding:8px 6px;border-bottom:1px solid var(--mk-line);text-align:start}

html body #content .rz .rz-section [data-role-back]{display:none!important}
html body #content .rz .rz-section>.role-detail-head{display:none!important;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
html body #content .rz .rz-section.rz-inline>.role-detail-head{display:block!important}
html body #content .rz .rz-section.rz-inline .role-detail-heading h2{font-size:14px!important;font-weight:700!important;margin:0!important;line-height:1.4!important}
html body #content .rz .rz-section.rz-inline .role-detail-heading p{display:none!important}
html body #content .rz .rz-section.rz-inline .role-detail-heading .role-hub-icon{width:22px!important;height:22px!important}
.rz .ops-attention-list>*:empty,.rz .role-detail-card>*:empty{display:none!important}
html body #content .rz [id^="product"].role-detail-card:empty{display:none!important}
/* president: same console shell */
.rz-owner .mz-today .ops-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rz .owner-hero-role{display:none}
html body #content .rz-owner #ownerQuickSummary,html body #content .rz-owner .mz-today .ops-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* ===== console sections (manager / president): one visual language for every block ===== */
.rz .rz-section .card,.rz .rz-section article.card{background:var(--bg)!important;border:1px solid var(--mk-line)!important;border-radius:14px!important;padding:12px 14px!important;box-shadow:none!important;margin:0!important}
.rz .rz-section .ops-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rz .rz-section .ops-kpi{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px!important;border-radius:var(--r-s)!important;background:var(--bg)!important;border:1px solid var(--mk-line)!important;box-shadow:none!important}
.rz .rz-section .ops-kpi-icon{display:none}
.rz .rz-section .ops-kpi strong{font-size:22px;font-weight:700;line-height:1.2;color:var(--text)}
.rz .rz-section .ops-kpi.danger strong{color:var(--danger)}
.rz .rz-section .ops-kpi.open strong,.rz .rz-section .ops-kpi.warn strong{color:var(--gold)}
.rz .rz-section .ops-kpi.ok strong{color:var(--mk-teal)}
.rz .rz-section .ops-kpi small{font-size:11.5px;color:var(--muted)}
/* nested product blocks sit flat inside the section card */
html body #content .rz .role-detail-card [id^="product"].role-detail-card,html body #content .rz .role-detail-card .role-detail-card{background:none!important;border:0!important;padding:0!important;border-radius:0!important;margin:0!important;box-shadow:none!important;display:flex;flex-direction:column;gap:10px}
.rz .rz-section h4{margin:0;font-size:14px;font-weight:700}
.rz .product-aging{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rz .product-aging .reward-box{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--bg)!important;border:1px solid var(--mk-line)!important;box-shadow:none!important}
.rz .product-aging .reward-box b{font-size:12px;color:var(--muted);font-weight:600}
.rz .product-aging .reward-box p{margin:0;font-size:14px;font-weight:700}
.rz .product-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rz .product-summary-grid>div{padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--mk-line);display:flex;flex-direction:column;gap:4px}
.rz .product-summary-grid>div b{font-size:13px}
.rz .product-summary-grid>div p,.rz .product-summary-grid>div small{margin:0;font-size:12px;color:var(--muted)}
/* buttons inside sections */
.rz .rz-section button.primary,.rz .rz-section .primary.full{min-height:44px!important;border-radius:12px!important;background:var(--mk-navy)!important;color:#fff!important;border:0!important;font-weight:600!important;font-size:13.5px!important;padding:0 14px!important}
body:not(.light) .rz .rz-section button.primary{color:#10233a!important}
.rz .rz-section button.secondary{min-height:40px!important;border-radius:12px!important;background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--mk-line)!important;font-weight:600!important;font-size:13px!important;padding:0 14px!important}
.rz .rz-section .primary.full,.rz .rz-section .secondary.full{width:100%}
.rz .manager-reminder-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
/* collapsible forms */
.rz details.manager-inline-form,.rz details.guard-secondary-panel,.rz details.association-history{border:1px solid var(--mk-line);border-radius:12px;background:var(--bg);padding:0}
.rz details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 14px;font-size:13.5px;font-weight:600;color:var(--text)}
.rz details>summary::-webkit-details-marker{display:none}
.rz details>summary::after{content:"";width:8px;height:8px;border-inline-end:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s;flex:none}
.rz details[open]>summary::after{transform:rotate(-135deg)}
.rz details>*:not(summary){padding:0 14px 14px}
.rz details>form,.rz details>div{display:flex;flex-direction:column;gap:10px}
/* forms */
.rz .rz-section form{display:flex;flex-direction:column;gap:10px}
.rz .rz-section label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}
.rz .rz-section label>span{font-size:12.5px;color:var(--muted)}
.rz .rz-section .manager-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rz .rz-section fieldset{border:1px solid var(--mk-line);border-radius:12px;padding:8px 12px;margin:0;display:flex;flex-direction:column;gap:6px}
.rz .rz-section legend{font-size:12.5px;font-weight:600;color:var(--text);padding:0 4px}
.rz .rz-section p{margin:0;font-size:13px;color:var(--muted);line-height:1.6}
.rz .rz-section p.error:empty,.rz .rz-section div.error:empty{display:none}
.rz .rz-section .error{color:var(--danger);font-size:12.5px}
/* activity / insights */
.rz .manager-activity-grid{display:flex;flex-direction:column;gap:10px}
.rz .manager-insight-card{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:12px;background:var(--mk-teal-soft)}
.rz .manager-insight-card small{font-size:12px;color:var(--mk-teal-ink)}
.rz .manager-insight-card strong{font-size:20px;font-weight:700;color:var(--mk-teal-ink)}
.rz .manager-insight-card span{font-size:12px;color:var(--muted)}
.rz .manager-activity-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--mk-line);border-radius:12px;padding:6px 12px;background:var(--bg)}
.rz .manager-activity-list:empty{display:none}
.rz .manager-activity-list>b{font-size:13px;padding:6px 0 2px}
.rz .manager-activity-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;border-top:1px solid var(--mk-line);font-size:13px}
.rz .manager-activity-list>div button{min-height:32px!important;padding:0 10px!important;border-radius:10px!important;border:1px solid var(--mk-line)!important;background:var(--panel)!important;font-size:12px!important;color:var(--text)!important}
/* people / team */
.rz .team-management-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.rz .team-management-head>div>span{display:block;font-size:12px;color:var(--muted)}
.rz .team-management-head h3{margin:2px 0 4px;font-size:15px}
.rz .team-security-badge,.rz .owner-publish-badge{flex:none;font-size:11.5px;padding:3px 9px;border-radius:999px;background:var(--mk-teal-soft);color:var(--mk-teal-ink)}
.rz .team-setup-progress{display:flex;flex-direction:column;gap:6px}
.rz .team-progress-step{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--mk-line)}
.rz .team-progress-step>span:first-child{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--mk-line);color:var(--text);flex:none}
.rz .team-progress-step.complete>span:first-child{background:var(--mk-teal);color:#fff}
.rz .team-progress-step b{font-size:13px}
.rz .team-progress-step small{display:block;font-size:11.5px;color:var(--muted)}
.rz .owner-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rz .owner-section-head b{font-size:14px}
/* members list */
.rz .team-member-card,.rz .member-card{padding:12px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--mk-line);display:flex;flex-direction:column;gap:6px}
.rz .team-member-card b{font-size:14px}
.rz .team-member-card .muted,.rz .member-card .muted{font-size:12px;color:var(--muted)}
.rz .rz-section .status-pill,.rz .rz-section .badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--bg);color:var(--text);border:1px solid var(--mk-line)}
.rz .rz-section .badge.ok,.rz .rz-section .status-pill.active{background:var(--mk-teal-soft);color:var(--mk-teal-ink);border-color:transparent}
.rz .rz-section .badge.warn,.rz .rz-section .status-pill.pending{background:var(--mk-gold-soft);color:var(--gold);border-color:transparent}
.rz .rz-section .badge.danger{background:var(--mk-red-soft);color:var(--danger);border-color:transparent}
.rz .rz-section .manager-results-meta{font-size:12px;color:var(--muted)}
.rz .rz-section .manager-empty,.rz .rz-section .empty{padding:16px;border-radius:12px;border:1px dashed var(--mk-line);text-align:center;font-size:13px;color:var(--muted)}
/* filters inside sections (manager request filters) */
.rz .manager-filter-card,.rz .manager-request-filters{display:flex;flex-direction:column;gap:8px}
.rz .rz-section select,.rz .rz-section input:not([type=checkbox]):not([type=radio]){min-height:44px!important;border-radius:12px!important;padding:0 12px!important;font-size:15px!important}
.rz .rz-section textarea{min-height:88px!important;border-radius:12px!important;padding:10px 12px!important}
.rz .rz-section input[type=checkbox],.rz .rz-section input[type=radio]{width:18px;height:18px;accent-color:var(--mk-teal)}

/* announcements */
.rz-ann-card{gap:8px}
.rz-ann-list{display:flex;flex-direction:column;gap:8px}
.rz-ann{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:var(--bg);border:1px solid var(--mk-line)}
.rz-ann.is-alert{background:var(--mk-red-soft);border-color:transparent}
.rz-ann-head{display:flex;align-items:center;gap:8px}
.rz-ann-head .role-hub-icon{width:20px;height:20px;color:var(--mk-teal);flex:none}
.rz-ann.is-alert .rz-ann-head .role-hub-icon{color:var(--danger)}
.rz-ann-head b{flex:1;font-size:14px;font-weight:700;min-width:0}
.rz-ann p{margin:0;font-size:13.5px;line-height:1.6;color:var(--text)}
.rz-ann p.rz-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rz-ann small{font-size:11.5px;color:var(--muted)}
.rz-link{border:0;background:none;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--mk-teal);cursor:pointer}
.rz-tile-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-inline-start:6px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;vertical-align:middle}
.rz-tile-count[hidden]{display:none}
.rz-req-translation{display:flex;flex-direction:column;gap:2px;margin-top:6px;padding:8px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--mk-line);font-size:13.5px;color:var(--text)}
.rz-req-translation small{font-size:11px;color:var(--muted)}
.rz-translate{align-self:flex-start;margin-top:6px;border:0;background:none;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--mk-teal);cursor:pointer}

/* ===== modals become bottom sheets in the new shell ===== */
body:has(#residentShell) .modalbg:not(.hidden){display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:0!important;background:rgba(6,20,34,.5)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
body:has(#residentShell) .modalbg:not(.hidden)>.modal{
  width:100%!important;max-width:560px!important;max-height:88vh!important;overflow:auto!important;box-sizing:border-box;margin:0!important;
  border-radius:24px 24px 0 0!important;padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px))!important;
  background:var(--panel)!important;border:0!important;box-shadow:0 -12px 40px rgba(6,20,34,.25)!important;color:var(--text)!important;
  animation:rzSheetUp .22s ease-out
}
@keyframes rzSheetUp{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
body:has(#residentShell) .modal::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--mk-line);margin:0 auto 12px}
body:has(#residentShell) .modal :is(h2,h3,.modal-title,.product-dialog-title){font-size:17px!important;font-weight:700!important;color:var(--text)!important;margin:0 0 6px!important;line-height:1.35}
body:has(#residentShell) .modal .product-dialog-head,body:has(#residentShell) .modal .modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
body:has(#residentShell) .modal p{margin:0 0 8px;font-size:13px;color:var(--muted);line-height:1.6}
body:has(#residentShell) .modal label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);margin-bottom:8px}
body:has(#residentShell) .modal :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){width:100%;box-sizing:border-box;min-height:44px!important;border-radius:12px!important;border:1px solid var(--mk-line)!important;background:var(--bg)!important;color:var(--text)!important;font-size:16px!important;padding:0 12px!important}
body:has(#residentShell) .modal textarea{min-height:96px!important;padding:10px 12px!important}
body:has(#residentShell) .modal button.primary,body:has(#residentShell) .modal .primary{min-height:46px!important;border-radius:14px!important;background:var(--mk-navy)!important;color:#fff!important;border:0!important;font-weight:600!important;font-size:14px!important;padding:0 16px!important}
body:not(.light):has(#residentShell) .modal button.primary{color:#10233a!important}
body:has(#residentShell) .modal button.secondary,body:has(#residentShell) .modal .secondary,body:has(#residentShell) .modal button.close,body:has(#residentShell) .modal .modal-close{min-height:40px!important;border-radius:12px!important;background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--mk-line)!important;font-weight:600!important;font-size:13px!important;padding:0 14px!important}
body:has(#residentShell) .modal .note-points-grid{display:flex;flex-wrap:wrap;gap:8px}
body:has(#residentShell) .modal .note-point{min-width:52px;height:44px;border-radius:12px!important;border:1px solid var(--mk-line)!important;background:var(--bg)!important;color:var(--text)!important;font-weight:700!important}
body:has(#residentShell) .modal .note-point.active,body:has(#residentShell) .modal .note-point[aria-pressed="true"],body:has(#residentShell) .modal .note-point.selected{background:var(--mk-teal-soft)!important;border-color:var(--mk-teal)!important;color:var(--mk-teal-ink)!important}
body:has(#residentShell) .modal details{border:1px solid var(--mk-line);border-radius:12px;background:var(--bg);margin-bottom:8px}
body:has(#residentShell) .modal details>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:13.5px;font-weight:600}
body:has(#residentShell) .modal details>summary::-webkit-details-marker{display:none}
body:has(#residentShell) .modal details>*:not(summary){padding:0 14px 12px}
body:has(#residentShell) .modal .product-actions,body:has(#residentShell) .modal .modal-actions{display:flex;gap:8px;justify-content:flex-start;margin-top:10px}
body:has(#residentShell) .modal .product-actions button,body:has(#residentShell) .modal .modal-actions button{flex:1}
body:has(#residentShell) .modal .notice{padding:10px 12px;border-radius:12px;background:var(--mk-teal-soft);border:0;font-size:13px;color:var(--mk-teal-ink)}
body:has(#residentShell) .modal .guard-alert-option,body:has(#residentShell) .modal .option-card{border-radius:12px!important;border:1px solid var(--mk-line)!important;background:var(--bg)!important}
/* guard: achievements + alert history */
html body #content .rz .rz-achievements{background:var(--panel)!important;border:1px solid var(--mk-line)!important;border-radius:var(--r)!important;padding:14px 16px!important}
html body #content .rz .rz-achievements *{background-image:none!important}
html body #content .rz .rz-achievements .guard-achievement-badge,html body #content .rz .rz-achievements .achievement-card{background:var(--bg)!important;border:1px solid var(--mk-line)!important;border-radius:14px!important;box-shadow:none!important}
html body #content .rz .rz-achievements .achievement-progress-bar,html body #content .rz .rz-achievements .progress{background:var(--mk-line)!important;border-radius:4px}
html body #content .rz .rz-achievements .achievement-progress-fill,html body #content .rz .rz-achievements .progress>i,html body #content .rz .rz-achievements .progress>span{background:var(--mk-teal)!important;border-radius:4px}
.rz-alerts .guard-alert-history-head,.rz-alerts .guard-alert-history>.row{display:flex;align-items:center;justify-content:space-between}
.rz-alerts .guard-alert-history button.secondary{min-height:32px!important;min-width:32px;padding:0 10px!important;border-radius:10px!important;font-size:12px!important}
/* console analytics insight cards */
.rz .manager-activity-grid .manager-insight-card strong{font-size:18px!important;color:var(--text)!important}
.rz .manager-activity-grid .manager-insight-card{background:var(--bg)!important}
.rz-row.is-danger .role-hub-icon{background:var(--mk-red-soft)!important;color:var(--danger)}
.rz-strip-item.is-ok b{color:var(--mk-teal)}
body:has(#residentShell) .modal .note-points-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px}
body:has(#residentShell) .modal .note-point{min-width:0;width:100%}

/* page ends: same ground everywhere (no lighter band on overscroll), tighter bottom padding */
html.app-screen body,html.app-screen #app,html.app-screen .app-mobile-shell{background:var(--bg)!important;background-image:none!important}
.rz-pages{padding-bottom:calc(var(--bar) + env(safe-area-inset-bottom,0px) + 12px)}
/* text: no awkward wraps */
.rz-logout span,.rz-tab>span,.rz-version,.rz-strip-item small,.rz-card-head b{white-space:nowrap}
.rz-tab>span{overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* language sheet */
.rz-sheet-bg{position:fixed;inset:0;z-index:80;background:rgba(6,20,34,.5);display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.rz-sheet-bg[hidden]{display:none}
.rz-sheet{width:100%;max-width:560px;box-sizing:border-box;background:var(--panel);border-radius:24px 24px 0 0;padding:12px 18px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;animation:rzSheetUp .22s ease-out}
.rz-sheet-grab{width:40px;height:4px;border-radius:2px;background:var(--mk-line);margin:0 auto 4px}
.rz-sheet h3{margin:0;font-size:17px;font-weight:700}
.rz-lang-list{display:flex;flex-direction:column;gap:6px}
.rz-lang-opt{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--mk-line);background:var(--bg);color:var(--text);font:inherit;font-size:15px;cursor:pointer;text-align:start}
.rz-lang-opt.is-on{border-color:var(--mk-teal);background:var(--mk-teal-soft);color:var(--mk-teal-ink)}
.rz-lang-opt .role-hub-icon{width:20px;height:20px}
.rz-sheet-close{min-height:44px;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}

/* bottom bar: bigger icons, clearer labels */
.rz{--bar:68px}
.rz-tabs{padding:8px max(6px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));gap:2px}
.rz-tab{min-height:52px;gap:5px;padding:4px 4px;font-size:11.5px;font-weight:500}
html body #content .rz .rz-tab .role-hub-icon{width:28px!important;height:28px!important}
html body #content .rz .rz-tab .role-hub-icon svg{width:28px;height:28px;stroke-width:1.7}
.rz-tab[aria-current="page"]{font-weight:700}
.rz-ai-mark{width:44px;height:44px;border-radius:13px}
.rz-ai-mark svg{width:24px;height:24px}
.rz-tab-ai{gap:3px}
.rz-tab-ai span:last-child{font-size:11px}
.rz-tab-badge{top:-2px;margin-left:8px}
html[dir="rtl"] .rz-tab-badge{margin-right:8px}
html body #content .rz .rz-tabs .rz-tab{color:var(--muted)!important}
html body #content .rz .rz-tabs .rz-tab[aria-current="page"]{color:var(--mk-teal-ink)!important}
html body #content .rz .rz-tabs .role-hub-icon,html body #content .rz .rz-tabs .role-hub-icon svg{width:28px!important;height:28px!important;color:inherit!important;stroke:currentColor!important;fill:none!important}
html body #content .rz .rz-tabs .rz-tab-ai span:last-child{color:var(--text)!important}

/* page ends (round 2)
   1) the root canvas showed the dark theme colour on iOS overscroll in light mode → match the page ground, stop the bounce
   2) the bar is ~90px tall, so the last card sat partly under it → reserve its real height */
html.app-screen.light{background:#f3f5f7!important}
html.app-screen:not(.light){background:#0b1a2a!important}
html:has(#residentShell),html:has(#residentShell) body{overscroll-behavior-y:none}
.rz-tabs{box-sizing:border-box}
.rz-pages{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))!important}
.rz{min-height:100dvh;min-height:100svh}

/* bottom bar, compact (iOS-like ~50pt of content + part of the home-indicator zone) */
html body #content .rz .rz-tabs{min-height:0!important;gap:0;padding:5px max(6px,env(safe-area-inset-right,0px)) max(5px,calc(env(safe-area-inset-bottom,0px) - 12px)) max(6px,env(safe-area-inset-left,0px))!important}
html body #content .rz .rz-tab{min-height:0!important;gap:2px!important;padding:4px 2px!important;font-size:11px!important;line-height:1.25!important;border-radius:10px}
html body #content .rz .rz-tabs .role-hub-icon,html body #content .rz .rz-tabs .role-hub-icon svg{width:26px!important;height:26px!important}
html body #content .rz .rz-ai-mark{width:34px!important;height:34px!important;border-radius:11px!important}
html body #content .rz .rz-ai-mark svg{width:20px!important;height:20px!important}
html body #content .rz .rz-tab-ai{gap:2px!important;padding-top:2px!important;padding-bottom:2px!important}
html body #content .rz .rz-tab-ai span:last-child{font-size:10.5px!important}
html body #content .rz .rz-tab-badge{top:0}
.rz-pages{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
html body #content .rz .rz-tabs .rz-tab>.role-hub-icon{display:grid!important;place-items:center!important;flex:none!important;width:26px!important;height:26px!important;min-width:0!important;min-height:0!important;max-height:26px!important;line-height:0!important;padding:0!important;margin:0!important}
html body #content .rz .rz-tabs .rz-tab>span:not(.role-hub-icon):not(.rz-ai-mark){line-height:1.25!important}
.rz-pages{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))!important}

/* console sections (native markup since P-9.27.383) */
.rz .rz-section{display:flex;flex-direction:column;gap:var(--gap)}
.rz .rz-section.hidden{display:none!important}
.rz .mz-today{padding:14px 16px}
.rz .mz-today .role-hub-summary{display:flex;flex-direction:column;gap:10px;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;margin:0!important}
.mz-block{display:flex;flex-direction:column;gap:8px}
.mz-block-title{display:flex;align-items:center;gap:8px;margin:6px 2px 0;font-size:15px;font-weight:700;color:var(--text)}
.mz-block-title .role-hub-icon{width:22px!important;height:22px!important;color:var(--danger)}
.rz .resident-section-title{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700}
.rz .resident-section-icon{display:inline-grid;place-items:center;width:22px;height:22px;flex:none;color:var(--gold)}
.rz .resident-section-icon svg{width:22px!important;height:22px!important;fill:none;stroke:currentColor;stroke-width:1.8}

/* ---------- post-sign-in loading screen ---------- */
.boot-splash{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:opacity .25s ease}
.boot-splash[hidden]{display:none!important}
.boot-splash.is-leaving{opacity:0}
.boot-card{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:24px}
.boot-logo{width:72px;height:72px;border-radius:20px;background:#10233a;display:grid;place-items:center}
.boot-logo img{width:44px;height:44px}
.boot-spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--mk-line);border-top-color:var(--mk-teal);animation:bootSpin .8s linear infinite}
@keyframes bootSpin{to{transform:rotate(360deg)}}
.boot-card b{font-size:16px;font-weight:700;color:var(--text)}
.boot-card small{font-size:13px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.boot-spinner{animation-duration:2s}}

/* Login canvas. iOS standalone (translucent status bar) can report 100dvh without the status-bar height, so the
   login may end above the bottom edge: the canvas behind it is the sheet colour, and the hero paints the sky. */
html.login-screen,html.login-screen body{background:#ffffff!important}
html.login-screen:not(.light),html.login-screen:not(.light) body{background:#122638!important}
html.login-screen .login{background:transparent}
.login{min-height:100dvh;min-height:100svh}

/* ---------- account recovery (forgot username / password) ---------- */
dialog#accountRecoveryDialog{position:fixed;inset:auto 0 0 0;margin:0 auto;width:100%;max-width:560px;max-height:calc(var(--mabnak-visual-viewport-height,100dvh) - 24px);overflow:auto;
  padding:12px 20px calc(20px + env(safe-area-inset-bottom,0px));border:0;border-radius:24px 24px 0 0;background:var(--panel);color:var(--text);box-shadow:0 -12px 40px rgba(6,20,34,.25);animation:rzSheetUp .22s ease-out}
dialog#accountRecoveryDialog::backdrop{background:rgba(6,20,34,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
dialog#accountRecoveryDialog form{display:flex;flex-direction:column}
dialog#accountRecoveryDialog form::before{content:"";width:40px;height:4px;border-radius:2px;background:var(--mk-line);margin:0 auto 14px}
dialog#accountRecoveryDialog h2{font-size:20px;font-weight:700;letter-spacing:-.2px;line-height:1.35;margin:0 0 6px}
dialog#accountRecoveryDialog p{margin:0;font-size:13.5px;line-height:1.65;color:var(--muted)}
dialog#accountRecoveryDialog label{margin:16px 2px 6px;font-size:13.5px;font-weight:600;color:var(--text)}
dialog#accountRecoveryDialog input{min-height:52px!important;border-radius:14px!important}
dialog#accountRecoveryDialog p[data-copy="6"]{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--panel2);border:1px solid var(--mk-line);font-size:12.5px}
dialog#accountRecoveryDialog p[role=status]:empty{display:none}
dialog#accountRecoveryDialog p[role=status]{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--mk-teal-soft);color:var(--mk-teal-ink);font-weight:600}
dialog#accountRecoveryDialog .recovery-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}
dialog#accountRecoveryDialog .recovery-actions button{width:100%;min-height:50px;border-radius:14px}
/* the login's language list is chosen from the globe button; its select stays offscreen */
#loginForm .login-language-mabnak-select,#loginForm .login-language-select{display:none!important}

/* autofill (Safari/Chrome paint saved credentials yellow): keep the field colours */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,input:autofill{
  -webkit-box-shadow:0 0 0 1000px var(--panel2) inset!important;box-shadow:0 0 0 1000px var(--panel2) inset!important;
  -webkit-text-fill-color:var(--text)!important;caret-color:var(--text);background-color:var(--panel2)!important;transition:background-color 99999s ease-out 0s}
/* home scene: a soft background impression (fainter than the sign-in drawing) */
.rz-hero-scene svg{opacity:.5}

/* ---------- region emblem on inner pages ---------- */
.rz-page{position:relative}
.rz-page>*:not(.rz-emblem){position:relative;z-index:1}
.rz-emblem{position:absolute;top:-10px;inset-inline-start:-26px;width:210px;height:144px;color:var(--mk-teal);opacity:.11;pointer-events:none;z-index:0}
body:not(.light) .rz-emblem{opacity:.14}
.rz-emblem svg{display:block;width:100%;height:100%;--em-cut:var(--bg)}
/* dues page: two separate sections (association / guard points) */
.rz-section-title{margin:10px 2px 0;font-size:15px;font-weight:700;color:var(--text)}
.rz-page[data-rz-page="finance"] .resident-points-card .reward-title h3{display:none}

/* ===== formatting pass: every section (P-9.28.404) ===== */
/* screen-reader-only status region (was printed at the bottom of pages) */
.mabnak-action-live{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}
/* product dialogs (service requests, reports, task details): full-width actions in the footer */
.product-dialog-body{display:flex;flex-direction:column;gap:10px}
.product-dialog-body>p,.product-dialog-body>small{margin:0}
.product-dialog-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.product-dialog-actions:empty{display:none}
.product-dialog-actions>button,.product-dialog-actions .row>button{width:100%;min-height:50px!important;border-radius:14px!important;font-size:15px!important}
.product-dialog-actions .row{display:flex;flex-direction:column;gap:8px}
#productError:empty{display:none}
#productError{margin:0;font-size:13px;color:var(--danger)}
.product-dialog-body .included-badge,.product-dialog-body .product-included{display:inline-flex;gap:6px;align-items:center}
/* status line above my requests */
.status-alert{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:10px 12px;border-radius:12px;background:var(--mk-teal-soft);font-size:13px;color:var(--text)}
.status-alert strong{flex-basis:100%;font-size:13px}
/* payment reminders */
.payment-notice-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;background:var(--mk-teal-soft);color:var(--text)}
.payment-notice-item.is-read{background:var(--panel2)}
.payment-notice-icon{font-size:18px;line-height:1.4;flex:none}
.payment-notice-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.payment-notice-copy>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.payment-notice-copy strong{font-size:14px}
.payment-notice-new{padding:1px 8px;border-radius:999px;background:var(--mk-teal);color:#fff;font-size:11px;font-weight:700}
.payment-notice-copy p{margin:0;font-size:13px;color:var(--text)}
.payment-notice-copy small{font-size:11.5px;color:var(--muted)}
.payment-notice-read-state{font-size:12px;color:var(--muted);flex:none}
.payment-notice-item button{flex:none;min-height:36px!important;padding:0 12px!important;border-radius:10px!important}
/* rated service line on a request */
.request-mini-action.rating-done{display:flex;align-items:center;gap:8px}
.request-rating-stars{color:var(--gold);letter-spacing:1px;font-size:15px}
.request-mini-action.rating-done small{font-size:12px;color:var(--muted)}
/* surveys & voting (resident, inside More) */
#residentSurveySection{display:flex;flex-direction:column;gap:10px}
.resident-survey-trigger{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:0!important;border:0!important;background:none!important;color:var(--text)!important;font-size:15px!important;font-weight:700!important;cursor:pointer}
.resident-survey-title{display:flex;align-items:center;gap:8px}
.resident-survey-arrow{color:var(--muted);transition:transform .15s}
.resident-survey-trigger[aria-expanded="true"] .resident-survey-arrow{transform:rotate(-90deg)}
#residentSurveyList{display:flex;flex-direction:column;gap:10px}
#residentSurveyList.hidden{display:none!important}
.resident-survey-empty{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--panel2);border:1px dashed var(--mk-line)}
.resident-survey-empty>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--mk-gold-soft);color:var(--gold);flex:none}
.resident-survey-empty>span svg{width:20px!important;height:20px!important;fill:none;stroke:currentColor;stroke-width:1.8}
.resident-survey-empty p{margin:0;font-size:13px;color:var(--muted)}
.resident-survey-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:var(--panel2);border:1px solid var(--mk-line)}
.resident-survey-card h3{margin:0;font-size:15px;font-weight:700;line-height:1.5}
.resident-survey-vote{display:flex;flex-direction:column;gap:10px}
.resident-survey-options{display:flex;flex-direction:column;gap:8px}
.resident-survey-options label{justify-content:flex-start!important;text-align:start!important}
.management-survey-status{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:3px 10px;border-radius:999px;background:var(--mk-teal-soft);color:var(--mk-teal-ink);font-size:12px;font-weight:600}
.management-survey-status i{width:7px;height:7px;border-radius:50%;background:var(--mk-teal)}
.management-survey-status.closed{background:var(--panel2);color:var(--muted)}
.management-survey-status.closed i{background:var(--muted)}
details.resident-survey-history{border:1px solid var(--mk-line);border-radius:14px;background:var(--panel)}
details.resident-survey-history>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:0 14px;font-size:14px;font-weight:700}
details.resident-survey-history>summary b{margin-inline-start:auto;margin-inline-end:10px;padding:1px 8px;border-radius:999px;background:var(--panel2);font-size:12px;color:var(--muted)}
.resident-survey-history-list{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px}
details.resident-survey-history-item{border:1px solid var(--mk-line);border-radius:12px;background:var(--panel2)}
details.resident-survey-history-item>summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px}
details.resident-survey-history-item>summary>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
details.resident-survey-history-item>summary b{font-size:13.5px;line-height:1.45}
details.resident-survey-history-item>summary small{font-size:12px;color:var(--muted)}
details.resident-survey-history-item>summary small strong{color:var(--text);margin-inline-start:4px}
details.resident-survey-history-item>summary>i{display:none}
.resident-survey-history-detail{display:flex;flex-direction:column;gap:6px;padding:0 12px 12px!important}
.resident-survey-history-detail p{margin:0;font-size:13px;color:var(--text)}
.resident-survey-history-detail small{font-size:12px;color:var(--muted)}
.management-survey-results{display:flex;flex-direction:column;gap:8px}
.management-survey-result>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.management-survey-track{height:8px;border-radius:4px;background:var(--mk-line);overflow:hidden;margin-top:4px}
.management-survey-track i{display:block;height:100%;border-radius:4px;background:var(--mk-teal)}
.management-survey-track i.option-2{background:var(--gold)}
.management-survey-track i.option-3{background:#6d8fb3}
/* the surveys block in More is a card with one heading */
#rzSurveys>*{padding:14px 16px}
/* invite page: WhatsApp share is a button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel);color:var(--mk-teal);font-weight:600;font-size:13.5px;text-decoration:none}

/* ===== section internals: stack "title + detail" pairs that were running together ===== */
.product-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.product-row>div{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.product-row b{font-size:13.5px}
.product-row small,.product-row p{margin:0;font-size:12px;color:var(--muted)}
.product-row>button{flex:none}
.product-rounds{display:flex;flex-direction:column;gap:8px}
.product-rounds .product-row{padding:10px 12px;border-radius:12px;background:var(--panel2);border:1px solid var(--mk-line)}
.product-action-row{display:flex;gap:8px;flex-wrap:wrap}
.product-action-row>*{flex:1;min-width:120px}
.product-form,.product-contact-form,.product-payment-form{display:flex;flex-direction:column;gap:6px}
.product-contact-history{display:flex;flex-direction:column;gap:8px}
.product-schedule-checkbox{display:flex!important;align-items:center;gap:8px;color:var(--text)!important}
.product-optional{font-size:12px;color:var(--muted)}
.product-no-reward{font-size:13px;color:var(--muted)}
.product-service-status{font-size:12.5px;color:var(--muted)}
/* points ledger (resident, guard, manager, president) */
.product-ledger-months{display:flex;flex-direction:column;gap:8px}
.product-ledger-month,.product-ledger-account{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:var(--panel2);border:1px solid var(--mk-line)}
.product-ledger-account>div:first-child,.product-ledger-month>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}
.ledger-value-row,.reward-value-line{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.ledger-account-total{font-weight:700}
.ledger-status{display:block;font-size:12px;color:var(--muted)}
.ledger-payment-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.ledger-payment-actions>*{flex:1;min-width:120px}
.early-settlement-status,.early-settlement-waiting{font-size:12.5px;color:var(--muted)}
/* survey management (manager / president) */
.management-survey-panel{display:flex;flex-direction:column;gap:10px}
.management-survey-head,.owner-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.management-survey-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.management-survey-kpis>*{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--panel2);border:1px solid var(--mk-line)}
.management-survey-kpis b{font-size:18px}
.management-survey-kpis span,.management-survey-kpis small{font-size:12px;color:var(--muted)}
.survey-period,.survey-published-note{display:block;font-size:12px;color:var(--muted)}
.management-survey-create,.management-survey-form{display:flex;flex-direction:column;gap:6px}
.management-survey-create-actions{display:flex;gap:8px}
.management-survey-create-actions>*{flex:1}
.management-survey-empty{padding:14px;border-radius:12px;border:1px dashed var(--mk-line);text-align:center;font-size:13px;color:var(--muted)}
.poll-demo-badge{display:inline-flex;padding:2px 8px;border-radius:999px;background:var(--panel2);font-size:11px;color:var(--muted)}
/* president announcements */
.owner-publish-card,.owner-publish-form{display:flex;flex-direction:column;gap:8px}
.owner-publish-head{display:flex;flex-direction:column;gap:4px}
.owner-publish-head b,.owner-publish-head h3{font-size:14px;font-weight:700}
.owner-publish-head span,.owner-publish-head p,.owner-note{font-size:12.5px;color:var(--muted);margin:0}
.owner-publish-field{display:flex;flex-direction:column;gap:4px}
.owner-count{display:inline-flex;min-width:22px;justify-content:center;padding:1px 8px;border-radius:999px;background:var(--panel2);font-size:12px;color:var(--muted)}
.owner-overview-card,.owner-manager-card{display:flex;flex-direction:column;gap:8px}
.owner-section-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.owner-section-head>div>span,.owner-section-head>div>small{font-size:12.5px;color:var(--muted);font-weight:400}
.rz-section summary{gap:10px}
.rz-section summary>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.rz-section summary>span+span{align-items:flex-end;text-align:end}
.rz-section summary small{font-size:12px;color:var(--muted);font-weight:400}
.owner-publish-head{flex-direction:row!important;align-items:flex-start;justify-content:space-between;gap:10px}
.owner-publish-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.owner-publish-head>div>b{font-size:14px;font-weight:700}
.owner-publish-head>div>span{font-size:12.5px;color:var(--muted)}

/* ---------- passwordless sign-in: Face ID (passkeys) + Google ---------- */
.sso-block,.sso-returning{display:flex;flex-direction:column}
.sso-block[hidden],.sso-returning[hidden]{display:none!important}
#loginForm.sso-returning-mode .production-login-fields{display:none}
.sso-div{display:flex;align-items:center;gap:12px;margin:18px 0 2px;color:var(--muted);font-size:13px}
.sso-div::before,.sso-div::after{content:"";flex:1;height:1px;background:var(--mk-line)}
.sso-btn{min-height:54px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;padding:0 16px;border-radius:16px;font-size:15.5px;font-weight:600;line-height:1.2}
.sso-btn svg{flex:none}
.sso-google{background:#fff;color:#1f1f1f;border:1px solid #dadce0}
body:not(.light) .sso-google{background:#fff;color:#1f1f1f;border-color:#fff}
.sso-outline{background:var(--panel);color:var(--text);border:1.5px solid var(--text)}
.sso-primary{background:#10233a;color:#fff;border:0;min-height:58px;font-size:16.5px}
body:not(.light) .sso-primary{background:#3fbf9f;color:#06231c}
.sso-welcome{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--mk-teal-soft);margin-top:14px}
.sso-welcome b{display:block;font-size:15px;color:var(--text)}
.sso-welcome small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.sso-avatar{flex:none;width:44px;height:44px;border-radius:50%;background:var(--mk-teal);color:#fff;display:grid;place-items:center;font-weight:700;font-size:17px}
.sso-returning .sso-primary{margin-top:16px}
.sso-link{align-self:center;border:0;background:none;color:var(--mk-teal);font-weight:600;font-size:14px;padding:10px;min-height:0}
.sso-link-muted{color:var(--muted);font-weight:500;padding-top:0}
dialog.sso-sheet{position:fixed;inset:auto 0 0 0;margin:0 auto;width:100%;max-width:480px;max-height:92vh;overflow:auto;border:0;border-radius:28px 28px 0 0;padding:12px 22px calc(26px + env(safe-area-inset-bottom,0px));background:var(--panel);color:var(--text);text-align:center}
dialog.sso-sheet[open]{display:flex;flex-direction:column;align-items:center}
dialog.sso-sheet::backdrop{background:rgba(16,35,58,.45)}
@media (min-width:600px){dialog.sso-sheet{inset:0;margin:auto;border-radius:28px;height:fit-content}}
.sso-grab{width:40px;height:5px;border-radius:3px;background:var(--mk-line);margin-bottom:20px}
.sso-ic{width:76px;height:76px;border-radius:22px;background:var(--mk-teal-soft);color:var(--mk-teal);display:grid;place-items:center;margin-bottom:14px}
.sso-sheet h3{font-size:20px;margin-bottom:6px}
.sso-sheet>p{color:var(--muted);font-size:14px;margin-bottom:8px}
.sso-pts{align-self:stretch;text-align:start;display:flex;flex-direction:column;gap:8px;margin:8px 0 4px;padding:14px;border-radius:14px;background:var(--panel2);font-size:13.5px}
.sso-pts span::before{content:"✓";color:var(--mk-teal);font-weight:700;margin-inline-end:8px}
.sso-status{min-height:0;font-size:13.5px;color:var(--danger);margin:4px 0 0!important}
.sso-status:empty{display:none}
.sso-status.ok{color:var(--mk-teal)}
.sso-devices{align-self:stretch;text-align:start;margin:8px 0 4px}
.sso-devices-title{font-size:13px;font-weight:600;color:var(--muted);margin:0 2px 8px}
.sso-device-list{display:flex;flex-direction:column;gap:8px}
.sso-device{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:var(--panel2);border:1px solid var(--mk-line)}
.sso-device b{display:block;font-size:14.5px}
.sso-device b em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--mk-teal);background:var(--mk-teal-soft);padding:2px 8px;border-radius:99px;margin-inline-start:6px}
.sso-device small{display:block;color:var(--muted);font-size:12.5px}
.sso-remove{flex:none;border:1px solid var(--mk-line);background:var(--panel);color:var(--danger);border-radius:10px;padding:6px 12px;font-size:13px;font-weight:600;min-height:0}
html.sso-no-passkey .rz-tile-passkey{display:none!important}

/* ---------- sign-in by e-mail or username ---------- */
.login-type-field{grid-column:1/-1;display:flex;flex-direction:column;gap:6px}
.login-type-field>span{font-size:13px;font-weight:600;color:var(--text)}
.login-type-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:var(--panel2);border:1px solid var(--mk-line)}
.login-type-seg button{min-height:40px!important;padding:0 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--muted)!important;font-size:14px;font-weight:600;box-shadow:none!important}
.login-type-seg button.active{background:var(--panel)!important;color:var(--text)!important;box-shadow:0 1px 3px rgba(16,35,58,.12)!important}
body:not(.light) .login-type-seg button.active{background:var(--soft)!important}
.login-type-hint{display:block;color:var(--muted);font-size:12px;line-height:1.55;margin-top:4px;font-weight:400}
[hidden].login-type-pane,label[hidden]{display:none!important}
#memberEditLoginType{margin-top:10px}
.login-type-pane{display:flex;flex-direction:column}
/* invitation card: one column (title, note, credentials, actions) */
.team-invitation-card{display:flex;flex-direction:column;gap:10px}
.team-invitation-card>div:first-child{display:flex;flex-direction:column;gap:2px}
.team-invitation-card>div:first-child span{color:var(--mk-teal);font-weight:700;font-size:13.5px}
.team-invitation-card>div:first-child b{font-size:16px}
.team-invitation-card>small{color:var(--muted);font-size:13px;line-height:1.6}
.team-invitation-card .team-credentials{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.team-invitation-card .team-credentials label{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:var(--mk-gold-soft);font-size:12.5px;color:var(--muted)}
.team-invitation-card .team-credentials strong{font-size:16px;color:var(--text);letter-spacing:.3px;word-break:break-all}
.team-invitation-card .team-invitation-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.team-invitation-card .team-credentials{grid-template-columns:1fr;padding:12px 14px;border-radius:14px;background:var(--mk-gold-soft)}
.team-invitation-card .team-credentials label{flex-direction:row;justify-content:space-between;align-items:center;padding:4px 0;background:none}
.team-invitation-card .team-credentials strong{font-size:17px;word-break:normal}

/* ===================== P-9.28.408 · consistency pass ===================== */
/* colour roles: navy = text & primary (light) · teal = actions/success · gold = points only · red = overdue/danger only */
:root{--mk-due:#f2f5f7;--mk-btn:#3fbf9f;--mk-btn-ink:#0b1a2a}
html.light,body.light{--mk-due:#10233a;--mk-btn:#10233a;--mk-btn-ink:#fff}

/* one action colour per theme (dark mode no longer uses gold for buttons) */
html body .primary,html body #loginBtn{background:var(--mk-btn)!important;color:var(--mk-btn-ink)!important}
html body .rz-seg-btn.active{background:var(--mk-btn)!important;color:var(--mk-btn-ink)!important;border-color:transparent!important}

/* icon helper spacing inside text buttons */
html body button .role-hub-icon,html body .team-security-badge .role-hub-icon,html body .status-alert strong .role-hub-icon,html body .request-time .role-hub-icon{display:inline-grid;place-items:center;width:18px;height:18px;margin-inline-end:6px;vertical-align:-4px}
html body button .role-hub-icon svg,html body .team-security-badge .role-hub-icon svg,html body .status-alert strong .role-hub-icon svg,html body .request-time .role-hub-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- dues are neutral, points are gold ---------- */
html body .ops-kpi.due strong,html body .rz .rz-section .ops-kpi.due strong,html body .rz .mz-today .ops-kpi.due strong{color:var(--mk-due)!important}
html body .rz-due-hero.is-due{background:var(--panel)!important;border-color:var(--mk-line)!important}
html body .rz-due-hero.is-due strong{color:var(--mk-due)!important}
html body .rz-due-hero.is-due .rz-due-status{color:var(--muted)!important}
html body .rz-strip-item.is-due{background:var(--panel)!important;border-color:var(--mk-line)!important}
html body .rz-strip-item.is-due b,html body .rz-strip-item.is-due .rz-strip-note{color:var(--mk-due)!important}
html body .rz-strip-item.is-due .rz-strip-note{color:var(--muted)!important}
html body .rz-strip-item.is-gold{background:var(--mk-gold-soft)!important;border-color:var(--mk-gold-line)!important}
html body .rz-strip-item.is-gold b{color:var(--gold)!important}
/* the "association dues" tile on manager/president home */
html body .rz .mz-today .rz-strip-item.is-due,html body .rz .mz-dues.is-due{background:var(--panel)!important}

/* ---------- tab badges: counts are calm, red only for the bell ---------- */
html body .rz-tabs .rz-tab-badge,html body.light .rz-tabs .rz-tab-badge{background:var(--mk-teal)!important;color:#fff!important;font-size:0!important;min-width:9px!important;width:9px!important;height:9px!important;padding:0!important;border-radius:50%!important;border:2px solid var(--panel);top:4px!important;box-sizing:content-box}

/* ---------- guard hero card: same white card language ---------- */
html body .rz-duty-card,html body:not(.light) .rz-duty-card{background:var(--panel2)!important;color:var(--text)!important;border:1px solid var(--mk-line)}
html body .rz-duty-card small{color:var(--muted)!important}
html body .rz-duty-card strong{color:var(--text)!important}
html body .rz-duty-pill{background:var(--mk-teal-soft)!important;color:var(--mk-teal-ink)!important}
html body .rz-duty-btn{background:var(--mk-btn)!important;color:var(--mk-btn-ink)!important}
html body .rz-duty-btn:disabled{background:var(--mk-line)!important;color:var(--muted)!important;opacity:1!important}
html body .rz-duty-avail{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--mk-line)!important}
html body .rz-duty-avail.is-on{background:var(--mk-teal-soft)!important;color:var(--mk-teal-ink)!important;border-color:transparent!important}

/* ---------- guard achievements ---------- */
html body .guard-achievements-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--mk-gold-soft);color:var(--gold)}
html body .guard-achievements-icon .role-hub-icon,html body .guard-achievements-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7}
html body .guard-achievement-level,html body:not(.light) .guard-achievement-level{background:var(--mk-gold-soft)!important;color:var(--text)!important;border:1px solid var(--mk-gold-line)}
html body .guard-achievement-level strong{color:var(--gold)}
html body .guard-badge-symbol i .role-hub-icon,html body .guard-badge-symbol i svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}
html body .guard-badge-symbol i{color:var(--muted);font-style:normal}
html body .guard-achievement-progress{height:auto!important;background:none!important;overflow:visible!important;display:flex;flex-direction:column;gap:6px}
html body .guard-achievement-progress>div{display:flex!important;justify-content:space-between;height:auto!important;background:none!important;font-size:13px}
html body .guard-achievement-progress>div span{color:var(--muted)}
html body .guard-achievement-progress progress{display:block!important;width:100%;height:8px!important;border:0;border-radius:4px;background:var(--mk-line);appearance:none;-webkit-appearance:none;overflow:hidden}
html body .guard-achievement-progress progress::-webkit-progress-bar{background:var(--mk-line);border-radius:4px}
html body .guard-achievement-progress progress::-webkit-progress-value{background:var(--mk-teal);border-radius:4px}
html body .guard-achievement-progress progress::-moz-progress-bar{background:var(--mk-teal)}

/* ---------- guard alerts history: a real list ---------- */
html body .guard-alert-history{margin-top:14px;padding:0!important;background:none!important;border:0!important}
html body .guard-alert-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
html body .guard-alert-history-rows{display:flex;flex-direction:column;gap:8px;background:none!important;padding:0!important;border:0!important}
html body .guard-alert-history-row{display:grid!important;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--panel2);border:1px solid var(--mk-line);font-size:13.5px;line-height:1.5}
html body .guard-alert-history-row>span:last-child{font-size:12px;color:var(--muted);text-align:end}
html body .mk-ah-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--mk-teal-soft);color:var(--mk-teal-ink)}
html body .mk-ah-ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html body .mk-pts{color:var(--gold);font-weight:700;font-size:13px}
html body .guard-alert-compact{min-height:32px!important;width:32px;padding:0!important;border-radius:10px!important}

/* ---------- points ledger row (guard rewards / dues) ---------- */
html body details.product-ledger-account>summary{display:flex!important;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}
html body details.product-ledger-account>summary::-webkit-details-marker{display:none}
html body details.product-ledger-account>summary>span{display:flex;flex-direction:column;gap:2px}
html body details.product-ledger-account>summary small{font-size:12px;color:var(--muted);font-weight:500}
html body .ledger-account-total{align-items:flex-end;text-align:end}
html body .ledger-account-total b{color:var(--gold)}

/* ---------- headers that ran together ---------- */
html body .role-hub-summary-head>div{display:flex!important;flex-direction:column;gap:2px;min-width:0}
html body .role-hub-summary-head>div span{font-size:12px;color:var(--muted);font-weight:500}
/* "not enough data to compare" repeated on every tile */
html body .ops-kpi-trend.unavailable{display:none!important}

/* ---------- priority chips ---------- */
html body .ops-attention-item>span:first-child{display:grid;place-items:center;flex:none}
html body .ops-attention-item>span .role-hub-icon svg{width:18px;height:18px}

/* ---------- segment tabs: show that they scroll ---------- */
html body .rz-seg{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent);padding-inline-end:28px!important;scroll-padding-inline:16px}
html[dir="ltr"] body .rz-seg{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}

/* ---------- filters: compact grid instead of a tall form ---------- */
html body .manager-request-search{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
html body .manager-request-search>label{display:flex;flex-direction:column;gap:0;font-size:0!important;margin:0!important}
html body .manager-request-search>label:first-child{grid-column:1/-1}
html body .manager-request-search input,html body .manager-request-search select,html body .owner-active-toolbar select,html body .owner-filter-panel select,html body .owner-filter-panel input{min-height:42px!important;font-size:13.5px!important}
html body .owner-active-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
html body .owner-active-toolbar label,html body .owner-filter-panel label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html body .owner-filter-panel .owner-filter-grid,html body .owner-filter-panel .owner-filter-fields{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
html body .owner-filter-panel .owner-filter-grid>:first-child,html body .owner-filter-panel .owner-filter-fields>:first-child{grid-column:1/-1}
html body .owner-filter-head{display:flex!important;align-items:center;justify-content:space-between;gap:8px}
html body .owner-filter-reset{min-height:34px!important;padding:0 12px!important;font-size:12.5px!important}

/* ---------- president: resident cards ---------- */
html body .owner-section-head{display:flex!important;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
html body .owner-section-head b{font-size:15px}
html body .owner-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--panel2);border:1px solid var(--mk-line);font-size:12px;color:var(--muted)}
html body .owner-resident-grid{display:flex;flex-direction:column;gap:10px}
html body .owner-resident-card{padding:12px 14px;border-radius:14px;background:var(--panel2);border:1px solid var(--mk-line);display:flex;flex-direction:column;gap:10px}
html body .owner-resident-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
html body .owner-resident-head>div:first-child{display:flex;flex-direction:column;gap:1px}
html body .owner-resident-head>div:first-child b{font-size:14.5px}
html body .owner-resident-head>div:first-child span{font-size:12px;color:var(--muted)}
html body .owner-resident-debt{padding:4px 10px;border-radius:999px;background:var(--panel);border:1px solid var(--mk-line);font-size:12px;font-weight:600;color:var(--mk-due);white-space:nowrap}
html body .owner-resident-debt.paid{background:var(--mk-teal-soft);border-color:transparent;color:var(--mk-teal-ink)}
html body .owner-metrics-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
html body .owner-metric{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:10px;background:var(--panel);text-align:center}
html body .owner-metric strong{font-size:16px;font-weight:700;color:var(--text)}
html body .owner-metric.points strong{color:var(--gold)}
html body .owner-metric.open strong{color:var(--mk-teal)}
html body .owner-metric span{font-size:10.5px;line-height:1.35;color:var(--muted)}
html body .owner-demo-note{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.6}

/* ---------- president: account management ---------- */
html body .owner-account-list{display:flex;flex-direction:column;gap:8px}
html body .owner-account-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:14px;background:var(--panel2);border:1px solid var(--mk-line)}
html body .owner-account-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
html body .owner-account-name{font-size:14.5px;font-weight:700}
html body .owner-account-meta{font-size:12px;color:var(--muted);word-break:break-word;margin-top:2px}
html body .owner-role-badge{flex:none;padding:3px 10px;border-radius:999px;background:var(--mk-teal-soft);color:var(--mk-teal-ink);font-size:11.5px;font-weight:600}
html body .owner-account-actions{display:flex;justify-content:flex-start}
html body .owner-account-actions .secondary{min-height:38px!important;font-size:13px!important}

/* ---------- manager: resident obligations ---------- */
html body .manager-financial-list{display:flex;flex-direction:column;gap:10px}
html body .manager-financial-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:14px;background:var(--panel2);border:1px solid var(--mk-line)}
html body .manager-financial-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
html body .manager-financial-head>div{display:flex;flex-direction:column;gap:1px}
html body .manager-financial-head b{font-size:14.5px}
html body .manager-financial-head span{font-size:12px;color:var(--muted)}
html body .manager-financial-status{padding:3px 10px!important;border-radius:999px;font-size:12px!important;font-weight:600;background:var(--panel);border:1px solid var(--mk-line);color:var(--mk-due)!important}
html body .manager-financial-status.paid{background:var(--mk-teal-soft);border-color:transparent;color:var(--mk-teal-ink)!important}
html body .manager-financial-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}
html body .manager-financial-values>span{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--panel)}
html body .manager-financial-values small{font-size:12px;color:var(--muted)}
html body .manager-financial-values strong{font-size:16px;color:var(--text)}
html body .manager-financial-values strong.paid{color:var(--mk-teal)}
html body .manager-financial-years{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted)}
html body .manager-financial-years b{color:var(--text);font-weight:600}
html body .manager-financial-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--mk-line)}
html body .manager-financial-through{font-size:12px;color:var(--muted)}
html body .manager-statement-btn{min-height:36px;padding:0 14px;border-radius:12px;border:1px solid var(--mk-line);background:var(--panel);color:var(--text);font-size:13px;font-weight:600}
html body .manager-financial-card>.secondary{min-height:40px!important;font-size:13px!important}

/* ---------- team member cards: actions in one row ---------- */
html body .rz .team-member-card{display:grid!important;grid-template-columns:40px 1fr;gap:6px 12px;align-items:start}
html body .team-member-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--mk-teal-soft);color:var(--mk-teal-ink);font-size:0}
html body .team-member-avatar .role-hub-icon,html body .team-member-avatar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html body .rz .team-member-card>:not(.team-member-avatar):not(.team-member-copy){grid-column:1/-1}
html body .rz .team-member-card .team-member-actions,html body .rz .team-member-card>div:last-child:has(button){display:flex!important;flex-wrap:wrap;gap:8px}
html body .rz .team-member-card button{min-height:36px!important;padding:0 12px!important;font-size:12.5px!important;width:auto!important}
html body .team-security-badge{display:inline-flex;align-items:center}

/* ---------- request timestamps ---------- */
html body .request-time{display:flex;align-items:center;flex-wrap:wrap;gap:2px 4px;font-size:12.5px;color:var(--muted)}
html body .request-time strong{color:var(--text);font-weight:600}

/* ---------- More: language as a full row, consistent icons ---------- */
html body .rz-tiles .rz-tile-select{grid-column:1/-1!important;display:grid!important;grid-template-columns:auto 1fr minmax(120px,45%);align-items:center;gap:10px}
html body .rz-tiles .rz-tile-select select{margin:0!important}
html body .rz-tile .role-hub-icon svg{fill:none;stroke:currentColor}

/* ---------- finance KPIs: always a 2×2 grid ---------- */
html body .review-finance-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body .review-finance-grid>.ops-kpi:last-child:nth-child(odd){grid-column:1/-1}

/* ---------- greeting fits on one line ---------- */
html body .resident-ai-brief-greeting{text-wrap:balance}
html body .resident-ai-brief-item.tone-due{background:var(--panel)!important;border-color:var(--mk-line)!important}
html body .resident-ai-brief-item.tone-due .role-hub-icon{color:var(--mk-due)!important;background:var(--panel2)!important}
/* priority chips: icon beside text */
html body .ops-attention-item{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;text-align:start!important;min-height:48px}
html body .ops-attention-item>span:first-child{width:32px;height:32px;border-radius:10px;background:var(--panel);color:var(--mk-teal)}
html body .ops-attention-item.warn>span:first-child,html body .ops-attention-item.danger>span:first-child{color:var(--danger)}
html body .ops-attention-item>b{flex:1;font-size:13.5px;font-weight:600}
html body .ops-attention-item>i{font-style:normal;color:var(--muted)}
/* team member cards: header row + wrapped compact actions */
html body .rz .team-member-card{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:flex-start;gap:8px!important;position:relative}
html body .rz .team-member-card>.team-member-avatar{flex:none}
html body .rz .team-member-card>.team-member-copy{flex:1 1 calc(100% - 56px);min-width:0;display:flex;flex-direction:column;gap:1px}
html body .rz .team-member-card>.team-member-copy span,html body .rz .team-member-card>.team-member-copy small{font-size:12px;color:var(--muted);word-break:break-word}
html body .rz .team-member-card>.team-invite-status{position:absolute;top:12px;inset-inline-end:14px;width:auto!important;padding:3px 10px;border-radius:999px;background:var(--mk-teal-soft);color:var(--mk-teal-ink);font-size:11.5px;font-weight:600}
html body .rz .team-member-card>button,html body .rz .team-member-card>div:not(.team-member-copy):not(.team-member-avatar) button{flex:0 0 auto;width:auto!important;min-height:36px!important;padding:0 12px!important;font-size:12.5px!important;margin:0!important}
html body .rz .team-member-card>div:not(.team-member-copy):not(.team-member-avatar){flex:1 1 100%;display:flex!important;flex-wrap:wrap;gap:8px}
html body .rz .team-member-card>.team-member-copy>b{padding-inline-end:100px}
html body .rz .team-member-card>.team-member-copy span,html body .rz .team-member-card>.team-member-copy small,html body .owner-account-meta{overflow-wrap:anywhere}
/* dark mode: the primary surface is teal, gold stays for points */
:root{--mk-navy:#4cc7a9}
html body:not(.light) .rz-ai-mark,html body:not(.light) .resident-ai-avatar{background:#4cc7a9!important;color:#0b1a2a!important}
html body:not(.light) .rz #productAssociation .association-payment-head button,html body:not(.light) .rz .rz-section button.primary,html body:not(.light) .rz .rz-section .primary.full,html body:not(.light) .rz-alerts #openGuardAlert,html body:not(.light) .modal .primary,html body:not(.light) .rz-btn,html body:not(.light) .rz-seg-btn.active,html body:not(.light) .rz-filters button.active,html body:not(.light) .rz .guard-filter-btn.active,html body:not(.light) .resident-ai-send,html body:not(.light) .rz-avatar{color:#0b1a2a!important}
html.light,body.light{--mk-navy:#10233a}

/* services page opened from Home is focused on one job */
.rz-page[data-svc-focus="report"] .resident-extra-card,.rz-page[data-svc-focus="extra"] .resident-services-card{display:none!important}
.rz-page[data-svc-focus="report"] .resident-services-card>.rz-card-head{display:none}
/* report: the choices come first, security stands out */
.resident-core-services{display:flex!important;flex-direction:column;gap:10px}
.resident-core-services>.resident-core-service-list{order:-1}
.resident-core-service-list [data-core-report="coreSecurity"]{grid-column:1/-1;background:var(--mk-red-soft)!important;border-color:transparent!important;color:var(--danger)!important}
.resident-core-service-list [data-core-report="coreSecurity"] .core-service-icon{color:var(--danger)!important}
.resident-core-services>.notice,.resident-core-services>#productResidentService .notice{font-size:12.5px}
.resident-core-services>#productResidentService{padding:0!important;border:0!important;background:none!important}
.resident-core-service-list>:last-child:nth-child(even){grid-column:1/-1}
html body .rz .resident-core-services>#productResidentService,html body .resident-core-services>section.role-detail-card{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;margin:0!important}

/* home header: "your building" scene is drawn at full strength */
.rz-hero-scene svg.bs-scene{opacity:1!important}

/* ===== P-9.28.410 · guard points: wallet card ===== */
/* B — wallet card: points summary as a warm gold card, the rest as a plain list */
.rz [data-points-ledger] .points-summary{display:flex!important;flex-direction:column;gap:0}
.rz [data-points-ledger] .reward-grid{order:1;display:grid!important;grid-template-columns:1fr auto;align-items:end;gap:10px!important;margin:0 0 6px!important;padding:16px!important;border-radius:16px;background:radial-gradient(circle at 85% 0%,rgba(255,255,255,.55),transparent 45%),linear-gradient(135deg,#f6e3b8,#fbf1dd 70%)!important;border:1px solid var(--mk-gold-line);position:relative;overflow:hidden}
body:not(.light) .rz [data-points-ledger] .reward-grid{background:linear-gradient(135deg,#4a3a1c,#2c2618 70%)!important}
.rz [data-points-ledger] .reward-box{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;position:relative;z-index:1}
.rz [data-points-ledger] .reward-label{font-size:12.5px!important;color:var(--text)!important;opacity:.7;margin-bottom:2px}
.rz [data-points-ledger] .reward-box.points .reward-value{color:var(--gold)!important;font-size:36px!important;line-height:1.1}
.rz [data-points-ledger] .reward-box.money{padding:6px 12px!important;border-radius:999px;background:rgba(255,255,255,.7)!important;text-align:center}
body:not(.light) .rz [data-points-ledger] .reward-box.money{background:rgba(0,0,0,.25)!important}
.rz [data-points-ledger] .reward-box.money .reward-label{font-size:11px!important}
.rz [data-points-ledger] .reward-box.money .reward-value{color:var(--mk-teal)!important;font-size:18px!important}
.rz [data-points-ledger] .points-conversion{order:2;background:none!important;border:0!important;padding:4px 2px 10px!important;font-size:12px!important;color:var(--muted)!important}
.rz [data-points-ledger] .points-pending-row{order:3;background:none!important;border:0!important;border-top:1px solid var(--mk-line)!important;border-radius:0!important;padding:12px 2px!important;font-size:13.5px}
.rz [data-points-ledger] .points-settlement-note{order:5;font-size:12px!important;color:var(--muted)!important;line-height:1.7;margin:10px 0 0!important;padding-top:10px;border-top:1px solid var(--mk-line)}
.rz [data-points-ledger] .resident-settlement-action{background:none!important;border:0!important;border-top:1px solid var(--mk-line)!important;border-radius:0!important;box-shadow:none!important;padding:12px 2px!important;margin:0!important}
.rz [data-points-ledger] .resident-settlement-row>div{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.rz [data-points-ledger] .ledger-status{padding:3px 10px;border-radius:999px;background:var(--mk-gold-soft);color:var(--gold);font-size:11.5px;font-weight:600;white-space:nowrap}
.rz [data-points-ledger] details.product-ledger-account{background:none!important;border:0!important;border-top:1px solid var(--mk-line)!important;border-radius:0!important;box-shadow:none!important;padding:12px 2px!important;margin:0!important}
.rz [data-points-ledger] .product-ledger-month{background:var(--panel)!important;border:1px solid var(--mk-line)!important;border-inline-start:3px solid var(--gold)!important;border-radius:12px!important;box-shadow:none!important}
/* avatar initials: a system Arabic face so an isolated letter like "ع" is not read as the digit "٤" */
.rz-avatar,.sso-avatar{font-family:"SF Arabic","Geeza Pro","Noto Naskh Arabic","Segoe UI",Tahoma,sans-serif!important;font-weight:700}
/* Left-to-right languages: mirror the home illustration so the building stands clear of the top-right buttons */
html[dir=ltr] .bs-scene{transform:scaleX(-1)}

/* Branded documents: receipts, statements, printable reports (P-9.29.434) */
.mb-doc{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;background:#e8ecf0}
.mb-doc-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));background:#10283b}
.mb-doc-btn{min-height:40px;padding:0 16px;border-radius:10px;border:1px solid #2c4a63;background:#1b3a52;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.mb-doc-btn.is-primary{background:#c08a2c;border-color:#c08a2c;color:#10283b}.mb-doc-btn.is-wa{background:#1f7a4d;border-color:#1f7a4d}
.mb-doc-scroll{flex:1;overflow:auto;padding:18px 10px calc(18px + env(safe-area-inset-bottom,0px))}
.mb-doc-sheet{max-width:794px;margin:0 auto;background:#fff;color:#132b3f;padding:34px 38px 26px;box-shadow:0 10px 40px #10283b22;border-radius:6px;font-family:Alexandria,Tahoma,Arial,sans-serif;font-size:13px;line-height:1.7;display:flex;flex-direction:column;min-height:1000px}
.mb-doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.mb-doc-brand{display:flex;align-items:center;gap:10px}.mb-doc-brand img{border-radius:12px}
.mb-doc-brand b{display:block;font-size:22px;line-height:1.1;color:#10283b}.mb-doc-brand small{letter-spacing:.3em;color:#a0762a;font-size:10px;font-weight:700}
.mb-doc-title{text-align:end}.mb-doc-title h1{margin:0 0 4px;font-size:21px;color:#10283b}.mb-doc-title p{margin:0;color:#5a6e7c;font-size:12px}
.mb-doc-rule{height:3px;background:linear-gradient(90deg,#c08a2c,#e2bd74);margin:16px 0 18px;border-radius:2px}
.mb-doc-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px;margin:0 0 18px;padding:14px 16px;background:#f4f6f8;border:1px solid #e1e6eb;border-radius:10px}
.mb-doc-meta dt{font-size:11px;color:#5a6e7c}.mb-doc-meta dd{margin:0;font-weight:700;color:#10283b}
.mb-doc-body{flex:1}
.mb-doc-body h2{font-size:15px;margin:18px 0 8px;color:#10283b}
.mb-doc-amount{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:2px solid #0f7c74;border-radius:12px;background:#eef7f5;margin:6px 0 16px}
.mb-doc-amount span{color:#0b534e;font-weight:600}.mb-doc-amount b{font-size:24px;color:#0b534e}
.mb-doc-table{width:100%;border-collapse:collapse;font-size:12.5px}
.mb-doc-table th{background:#0f7c74;color:#fff;font-weight:600;padding:8px 10px;text-align:start}
.mb-doc-table td{padding:7px 10px;border-bottom:1px solid #e3e8ec}.mb-doc-table tr:nth-child(even) td{background:#f7f9fa}
.mb-doc-table .num{text-align:center;white-space:nowrap;direction:ltr}
.mb-doc-table tfoot td{font-weight:700;background:#e7ecf1;border-top:2px solid #10283b;color:#10283b}
.mb-doc-sign{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:34px 0 10px}.mb-doc-sign span{font-size:12px;color:#5a6e7c}.mb-doc-sign i{display:block;border-bottom:1px solid #9aa8b3;height:34px}
.mb-doc-foot{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:10px;border-top:1px solid #e1e6eb;font-size:11px;color:#6b7d89}
.mb-doc-clone .ops-panel,.mb-doc-clone .role-detail-card{box-shadow:none!important;border:1px solid #e1e6eb!important;break-inside:avoid;margin-bottom:12px}
.mb-doc-clone button,.mb-doc-clone .rz-go,.mb-doc-clone details summary::marker{display:none!important}
body.mb-doc-open{overflow:hidden}
@media (max-width:600px){.mb-doc-sheet{padding:20px 16px;min-height:0}.mb-doc-head{flex-direction:column}.mb-doc-title{text-align:start}}
@media print{
  @page{size:A4;margin:12mm}
  body.mb-doc-open>*:not(#mbDoc){display:none!important}
  html.mb-doc-open,body.mb-doc-open{background:#fff!important;background-image:none!important;color:#132b3f;color-scheme:light!important}
  #mbDoc{position:static;background:#fff}
  .mb-doc-bar{display:none!important}
  .mb-doc-scroll{padding:0;overflow:visible}
  .mb-doc-sheet{box-shadow:none;border-radius:0;max-width:none;padding:0;min-height:0}
  .mb-doc-meta,.mb-doc-amount,.mb-doc-table th,.mb-doc-table td,.mb-doc-rule{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.mb-doc-issuer{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:0 0 12px;padding:10px 14px;border-inline-start:4px solid #10283b;background:#f7f9fa;border-radius:6px}
.mb-doc-issuer span{font-size:11px;color:#5a6e7c}.mb-doc-issuer b{font-size:15px;color:#10283b}.mb-doc-issuer small{margin-inline-start:auto;font-size:11px;color:#5a6e7c}
.mb-doc-disclaimer{margin:22px 0 0;padding:10px 12px;border:1px dashed #c9d2da;border-radius:8px;font-size:10.5px;line-height:1.7;color:#5a6e7c;background:#fbfcfd}
@media print{.mb-doc-issuer,.mb-doc-disclaimer{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Previous balances wizard (P-9.29.438) */
.mg-entry-text{margin:6px 0 10px;font-size:13px;color:#4f6270;line-height:1.7}
.mg-overlay{position:fixed;inset:0;z-index:2000;background:#10283b80;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:calc(16px + env(safe-area-inset-top,0px)) 12px 24px}
.mg-panel{width:min(760px,100%);background:#f3f5f7;border-radius:18px;padding:18px;box-shadow:0 24px 60px #10283b44;color:#132b3f}
.mg-head{display:flex;gap:12px;align-items:flex-start}.mg-head h2{margin:0;font-size:19px;color:#10283b}.mg-head p{margin:4px 0 0;font-size:13px;color:#4f6270;line-height:1.7}
.mg-x{margin-inline-start:auto;width:38px;height:38px;border-radius:10px;border:1px solid #d0d7dd;background:#fff;font-size:22px;cursor:pointer}
.mg-card{background:#fff;border:1px solid #dfe3e7;border-radius:14px;padding:16px;margin-top:12px}.mg-card h3{margin:0 0 6px;font-size:16px;color:#10283b}
.mg-field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.mg-field input{min-height:42px;border:1px solid #d0d7dd;border-radius:10px;padding:0 12px;font:inherit;max-width:260px}
.mg-muted{font-size:12px;color:#5a6e7c}
.mg-modes{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 10px;font-size:14px}.mg-modes label{display:flex;gap:6px;align-items:center}
.mg-table-wrap{max-height:48vh;overflow:auto;border:1px solid #e1e6eb;border-radius:10px}
.mg-table{width:100%;border-collapse:collapse;font-size:13px}.mg-table th{position:sticky;top:0;background:#0f7c74;color:#fff;padding:8px;text-align:start;font-weight:600}.mg-table td{padding:6px 8px;border-bottom:1px solid #eef1f4}
.mg-table input{width:100%;min-height:36px;border:1px solid #d0d7dd;border-radius:8px;padding:0 8px;font:inherit}
.mg-file{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:8px 0}.mg-upload{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px dashed #0f7c74;border-radius:10px;color:#0b534e;font-weight:600;cursor:pointer}.mg-upload input{max-width:190px}
.mg-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:14px}
.mg-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}.mg-kpis div{background:#f7f9fa;border:1px solid #e1e6eb;border-radius:10px;padding:10px}.mg-kpis span{display:block;font-size:12px;color:#5a6e7c}.mg-kpis b{font-size:16px;color:#10283b}
.mg-age{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end}.mg-age>span{grid-column:1/-1;font-size:12px;color:#5a6e7c}.mg-age div{background:#fbf3e2;border-radius:10px;padding:8px 10px}.mg-age i{display:block;font-style:normal;font-size:12px;color:#8a5a12}.mg-age b{color:#5b3d08}
.mg-recon{margin-top:12px;padding:10px 12px;border:1px solid #ecd9ae;background:#fffaf0;border-radius:10px;font-size:13px;display:flex;flex-direction:column;gap:4px}
.mg-issues{margin:12px 0 0;padding:10px 12px 10px 26px;border-radius:10px;font-size:13px;line-height:1.8}.mg-issues.is-error{background:#fbe9e5;color:#8a2a1c}.mg-issues.is-warn{background:#fbf3e2;color:#6b4a10}
.mg-confirm{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:13px;font-weight:600;line-height:1.7}.mg-confirm input{margin-top:4px}
.mg-error{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fbe9e5;color:#8a2a1c;font-size:13px}
.mg-done b{color:#0b534e;font-size:16px}.mg-done p{font-size:13px;color:#4f6270;line-height:1.8}
.mg-batch{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 0;border-top:1px solid #eef1f4}.mg-batch>div{flex:1;min-width:180px;display:flex;flex-direction:column}.mg-batch small{color:#5a6e7c;font-size:12px}
.mg-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:#e7f3f0;color:#0b534e}.mg-status.is-reverted{background:#eef1f4;color:#5a6e7c}
html.dark .mg-panel{background:#0d1c28;color:#e4edf4}html.dark .mg-card{background:#142f44;border-color:#26435a}html.dark .mg-head h2,html.dark .mg-card h3,html.dark .mg-kpis b{color:#f2f6f8}html.dark .mg-kpis div{background:#0d1c28;border-color:#26435a}html.dark .mg-table td{border-color:#26435a}

/* ===== Building office: the manager on a computer (P-9.29.441) ===== */
.mz-desk-nav{display:none}
@media (min-width:1024px){
  body.mz-desk .app-mobile-shell{max-width:none;margin:0;border:0}
  body.mz-desk .rz{--x:0px;background:var(--bg)}
  body.mz-desk .mz-desk-nav{display:flex;flex-direction:column;gap:4px;position:fixed;top:0;bottom:0;inset-inline-start:0;width:260px;z-index:80;background:#10283b;color:#dce6ee;padding:18px 14px;overflow:auto}
  body.mz-desk .rz-tabs{display:none!important}
  body.mz-desk .rz-pages{margin-inline-start:260px;padding:26px 36px 56px}
  body.mz-desk .rz-page{max-width:1240px;margin:0 auto}
  body.mz-desk .rz-emblem,body.mz-desk .rz-seg,body.mz-desk .rz-hero{display:none!important}
  body.mz-desk .rz-top{position:fixed;top:16px;inset-inline-end:28px;inset-inline-start:auto;z-index:70;background:none;padding:0}
  body.mz-desk .rz-head{padding:0 0 14px}body.mz-desk .rz-head h1{font-size:28px;color:var(--text)}
  body.mz-desk .rz-seg-pages>.rz-section:not(.hidden),body.mz-desk .rz-page[data-rz-page="more"].is-active{column-count:2;column-gap:18px;display:block}
  body.mz-desk .rz-seg-pages>.rz-section>*,body.mz-desk .rz-page[data-rz-page="more"]>*{break-inside:avoid;margin-bottom:16px!important;display:block}
  body.mz-desk .rz-seg-pages>.rz-section:not(:has(>:nth-child(2))){column-count:1}
  body.mz-desk .rz-page[data-rz-page="more"]>.rz-head,body.mz-desk .rz-page[data-rz-page="more"]>.rz-more-foot{column-span:all}
  /* Home: greeting and today's summary across, the rest in two columns */
  body.mz-desk .rz-page[data-rz-page="home"].is-active{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
  body.mz-desk .rz-page[data-rz-page="home"]>*{margin:0!important;grid-column:auto}
  body.mz-desk .rz-page[data-rz-page="home"]>.rz-greet,body.mz-desk .rz-page[data-rz-page="home"]>.mz-today{grid-column:1/-1}
  body.mz-desk .rz-page[data-rz-page="home"]>.rz-greet{background:none;border:0;box-shadow:none;padding:0 0 4px;margin-top:0!important}
  body.mz-desk .rz-page[data-rz-page="home"]>.rz-greet .resident-ai-brief-greeting{font-size:28px}
  body.mz-desk .rz-page[data-rz-page="home"] .rz-extras{display:flex;flex-direction:column;gap:16px}
  body.mz-desk .rz-page[data-rz-page="home"] .role-hub-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
  body.mz-desk .rz-card,body.mz-desk .role-detail-card,body.mz-desk .manager-action-panel,body.mz-desk .ops-panel{border-radius:14px}
  body.mz-desk .manager-sheet,body.mz-desk .modal{max-width:640px;margin:auto;border-radius:18px}
  body.mz-desk .modalbg,body.mz-desk .manager-sheet-bg{align-items:center}
  body.mz-desk .mz-desk-brand{display:flex;align-items:center;gap:10px;padding:4px 6px 14px}
  body.mz-desk .mz-desk-logo{width:38px;height:38px;border-radius:10px;background:#1b3a52;color:#e2bd74;display:grid;place-items:center}
  body.mz-desk .mz-desk-logo svg{width:20px;height:20px}
  body.mz-desk .mz-desk-brand b{display:block;font-size:18px;color:#fff}body.mz-desk .mz-desk-brand small{font-size:11px;color:#9fb4c4}
  body.mz-desk .mz-desk-building{margin:0 4px 8px;padding:10px 12px;border-radius:10px;background:#16324a;border:1px solid #24435c}
  body.mz-desk .mz-desk-building span{display:block;font-size:11px;color:#9fb4c4}body.mz-desk .mz-desk-building b{color:#fff;font-size:13px}
  body.mz-desk .mz-desk-items{display:flex;flex-direction:column;gap:2px}
  body.mz-desk .mz-desk-group{margin:12px 12px 4px;font-size:11px;color:#7f97aa;font-weight:600}
  body.mz-desk .mz-desk-sep{height:1px;background:#24435c;margin:10px 6px}
  body.mz-desk .mz-desk-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:10px;background:none;color:#dce6ee;font:inherit;font-size:13.5px;text-align:start;cursor:pointer}
  body.mz-desk .mz-desk-item svg{width:18px;height:18px;flex:none;opacity:.85}
  body.mz-desk .mz-desk-item span{flex:1}
  body.mz-desk .mz-desk-item:hover{background:#16324a}
  body.mz-desk .mz-desk-item.is-on{background:#1f4260;color:#fff;font-weight:600}
  body.mz-desk .mz-desk-item:focus-visible{outline:2px solid #e2bd74;outline-offset:2px}
  body.mz-desk .mz-desk-badge{min-width:20px;height:20px;padding:0 7px;border-radius:999px;background:#e0685a;color:#fff;font-style:normal;font-size:11px;font-weight:700;display:grid;place-items:center}
  body.mz-desk .mz-desk-badge.ok{background:#0f7c74}body.mz-desk .mz-desk-badge.hidden{display:none}
  body.mz-desk .mz-desk-user{margin-top:auto;display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#16324a}
  body.mz-desk .mz-desk-user>span{width:34px;height:34px;border-radius:50%;background:#2a4d6a;color:#fff;display:grid;place-items:center;font-weight:700}
  body.mz-desk .mz-desk-user b{display:block;font-size:13px;color:#fff}body.mz-desk .mz-desk-user small{font-size:11px;color:#9fb4c4}
}
/* Manager on phones: no decorative emblem behind the page titles; section tabs scroll with a visible edge */
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-emblem{display:none}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-seg{overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to left,#000 88%,transparent);mask-image:linear-gradient(to left,#000 88%,transparent)}
html[dir=ltr] body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-seg{-webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-seg::-webkit-scrollbar{display:none}
/* ===== Manager cards: coloured header bars per area (P-9.29.441) ===== */
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="home"]{--mzh:#10283b}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="ops"]{--mzh:#0f7c74}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="people"]{--mzh:#2f5d8a}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="finance"]{--mzh:#8a5a12}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="more"]{--mzh:#3b5873}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.role-detail-card,.rz-card,.ops-panel):has(>:is(.owner-section-head,.ops-panel-head,.rz-card-head,.owner-filter-head,.ops-command-head,.team-management-head,.plan-head,.owner-overview-head,.owner-manager-head,.owner-publish-head,.management-survey-head)){padding:16px!important;overflow:hidden}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.role-detail-card,.rz-card,.ops-panel)>:is(.owner-section-head,.ops-panel-head,.rz-card-head,.owner-filter-head,.ops-command-head,.team-management-head,.plan-head,.owner-overview-head,.owner-manager-head,.owner-publish-head,.management-survey-head){margin:-16px -16px 14px!important;padding:12px 16px!important;background:var(--mzh,#10283b)!important;color:#fff!important;border:0!important;border-radius:0!important;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.owner-section-head,.ops-panel-head,.rz-card-head,.owner-filter-head,.ops-command-head,.team-management-head,.plan-head,.owner-overview-head,.owner-manager-head,.owner-publish-head,.management-survey-head) :is(b,h2,h3,h4,strong,span,small,p,div,label){color:#fff!important}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.owner-section-head,.ops-panel-head,.rz-card-head,.owner-filter-head,.ops-command-head,.team-management-head,.plan-head,.owner-overview-head,.owner-manager-head,.owner-publish-head,.management-survey-head) :is(small,p){opacity:.85}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.owner-section-head,.ops-panel-head,.rz-card-head,.owner-filter-head,.ops-command-head,.team-management-head,.plan-head,.owner-overview-head,.owner-manager-head,.owner-publish-head,.management-survey-head) :is(button,a.button){background:#ffffff1f!important;border:1px solid #ffffff59!important;color:#fff!important;box-shadow:none!important}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.owner-section-head,.ops-panel-head,.rz-card-head,.owner-filter-head,.ops-command-head,.team-management-head,.plan-head,.owner-overview-head,.owner-manager-head,.owner-publish-head,.management-survey-head) :is(.owner-publish-badge,.badge,.pill,.product-status,[class*="badge"],[class*="pill"],[class*="count"],[class*="lock"],[class*="tag"]){background:#fff!important;color:var(--mzh,#10283b)!important;border:0!important;opacity:1}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.owner-section-head,.ops-panel-head,.rz-card-head,.owner-filter-head,.ops-command-head,.team-management-head,.plan-head,.owner-overview-head,.owner-manager-head,.owner-publish-head,.management-survey-head) :is(.owner-publish-badge,.badge,.pill,.product-status,[class*="badge"],[class*="pill"],[class*="count"],[class*="lock"],[class*="tag"]) *{color:var(--mzh,#10283b)!important;stroke:currentColor}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.owner-section-head,.ops-panel-head,.rz-card-head,.owner-filter-head,.ops-command-head,.team-management-head,.plan-head,.owner-overview-head,.owner-manager-head,.owner-publish-head,.management-survey-head) svg{color:#fff;stroke:currentColor}
/* Home: the priorities list stands out in red; block titles take the area colour */
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="home"] .mz-block{background:#fff;border:1px solid var(--mk-line,#e1e6eb);border-radius:14px;overflow:hidden;padding:0 0 12px}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="home"] .mz-block>.mz-block-title{margin:0 0 12px;padding:12px 16px;background:#b64a3a;color:#fff;font-size:15px;display:flex;align-items:center;gap:8px}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="home"] .mz-block>.mz-block-title *{color:#fff!important;stroke:currentColor}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="home"] .mz-block>:not(.mz-block-title){margin-inline:12px}
/* KPI tiles get a tint by meaning instead of plain white */
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .ops-kpi.info{background:#eaf1f8!important;border-color:#d2e0ee!important}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .ops-kpi.ok{background:#e7f3f0!important;border-color:#cfe6e0!important}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .ops-kpi.warn,body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .ops-kpi.attention{background:#fbf3e2!important;border-color:#f0dfb8!important}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .ops-kpi.bad,body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .ops-kpi.danger{background:#fbe9e5!important;border-color:#f1cfc7!important}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .mz-today{border-top:4px solid #10283b}
html.dark body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="home"] .mz-block{background:var(--card,#142f44);border-color:#26435a}
html.dark body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .ops-kpi.info{background:#16324a!important;border-color:#26435a!important}
html.dark body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .ops-kpi.ok{background:#12352f!important;border-color:#1d4a42!important}
html.dark body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .ops-kpi.warn{background:#3a2f16!important;border-color:#5a4720!important}
/* Desktop home: today's summary as a wide KPI row */
@media (min-width:1024px){
  body.mz-desk .rz-page[data-rz-page="home"] .mz-today .role-hub-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.mz-desk .rz-page[data-rz-page="home"] .mz-today :is(.ops-kpi,.role-hub-stat,[class*="stat"]){min-height:92px;padding:14px 16px}
  body.mz-desk .rz-page[data-rz-page="home"] .mz-today :is(.ops-kpi b,.ops-kpi strong){font-size:28px}
  body.mz-desk .org-all-buildings .org-table-wrap{max-height:520px;overflow:auto}
}
.org-all-buildings .org-table-wrap{max-height:420px;overflow:auto}
/* Member cards: one action + "⋯" menu */
.mz-card-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.mz-card-actions .mz-primary-action{flex:0 1 auto}
.mz-actions-more{position:relative}
.mz-actions-more>summary{list-style:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--mk-line,#d0d7dd);background:var(--card,#fff);display:grid;place-items:center;font-size:20px;line-height:1;cursor:pointer;color:var(--text)}
.mz-actions-more>summary::-webkit-details-marker{display:none}
.mz-actions-menu{position:absolute;z-index:30;inset-inline-start:0;top:46px;min-width:220px;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:12px;background:var(--card,#fff);border:1px solid var(--mk-line,#e1e6eb);box-shadow:0 14px 36px #10283b26}
.mz-actions-menu button{width:100%;justify-content:flex-start;text-align:start;border:0!important;background:none!important;box-shadow:none!important;min-height:40px;border-radius:8px!important;color:var(--text)!important}
.mz-actions-menu button:hover{background:#f3f5f7!important}
.mz-actions-menu button.mz-danger{color:#b3261e!important}
.mz-card-actions .mz-primary-action[class*="whatsapp"],.mz-card-actions .mz-primary-action{width:auto}
/* Home on a computer: today's four figures as a wide row of large tiles */
@media (min-width:1024px){
  body.mz-desk #managerQuickStats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  body.mz-desk #managerQuickStats .ops-kpi{min-height:96px;padding:14px 16px;align-items:flex-start;text-align:start;justify-content:center}
  body.mz-desk #managerQuickStats .ops-kpi strong{font-size:30px;line-height:1.1}
  body.mz-desk #managerQuickStats .ops-kpi small{font-size:13px}
  body.mz-desk .mz-today .role-hub-summary{display:flex!important;flex-direction:column;gap:12px}
}
/* Collections: summary and actions first, then residents' balances; fee settings and previous balances last */
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child:not(.hidden){display:flex;flex-direction:column;gap:var(--gap,10px)}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>:nth-child(1){order:1}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>:nth-child(4){order:2}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>:nth-child(6){order:3}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>:nth-child(7){order:4}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>:nth-child(5){order:5}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>:nth-child(2){order:6}
body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>:nth-child(3){order:7}
@media (min-width:1024px){
  body.mz-desk .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child:not(.hidden){display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;column-count:auto}
  body.mz-desk .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>*{margin:0!important}
  body.mz-desk .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>:nth-child(6),body.mz-desk .rz-page[data-rz-page="finance"] .rz-seg-pages>.rz-section:first-child>:nth-child(7){grid-column:1/-1}
}

/* Header colours for the other roles' pages */
body:is(.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="work"],body:is(.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="requests"],body:is(.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="services"]{--mzh:#0f7c74}
body:is(.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="alerts"]{--mzh:#b64a3a}
body:is(.role-owner,.role-tenant,.role-janitor) .rz-page[data-rz-page="rewards"]{--mzh:#8a5a12}
html.dark body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.ops-kpi.bad,.ops-kpi.danger){background:#3a1d1a!important;border-color:#5a2c26!important}
html.dark body:is(.role-manager,.role-owner,.role-tenant,.role-janitor) :is(.ops-kpi.attention){background:#3a2f16!important;border-color:#5a4720!important}
