/* Haven Sage adaptation; token roles originate in the supplied Black Sands library. */
:root{--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:Georgia,"Times New Roman",serif;--radius:14px;--sidebar:#f8faf6;--sidebar2:#edf2e9;--sidebarText:#17231b;--sidebarMuted:#334532;--surface2:#f5f7f3;--surface3:#eaf0e6;--line2:#9ca899;--accentDark:#087c3d;--accentSoft:#e8f3e9;--action:#087c3d;--actionDark:#066731;--actionSoft:#e8f3e9;--sage:#2f6b3c;--sageSoft:#e6f2e8;--danger:#9c2c21;--dangerSoft:#fae6e3;--warning:#855412;--warningSoft:#fbf0dc;--shadow:0 2px 8px #14201a06;--success:#2f6b3c;--successSoft:#e6f2e8;--attention:#855412;--attentionSoft:#fbf0dc;--critical:#9c2c21;--criticalSoft:#fae6e3;--assist:#67507e;--assistSoft:#f1edf6;--finance:#2f6b3c;color-scheme:light;font-family:var(--font-sans)}
body{font-family:var(--font-sans);font-size:15px;line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}p{overflow-wrap:anywhere}h1,h2,h3{line-height:1.25}small{font-size:12px}.money,.metric strong,.kpi-card strong{font-variant-numeric:tabular-nums}
.sidebar{inset:14px auto 14px 14px;width:248px;border:1px solid var(--line);border-radius:18px;background:var(--sidebar);color:var(--sidebarText);box-shadow:var(--shadow);padding:20px 14px 14px}.brand{gap:10px;padding:0 8px 18px;flex-wrap:nowrap;align-items:center}.sidebar .brand{flex-direction:column;align-items:flex-start}.smg-brand-logo{width:145px;height:58px;object-fit:contain;padding:4px;background:white;border-radius:6px}.brand strong,.login-brand strong{letter-spacing:0;font-size:17px;font-weight:700}.brand span{font-size:12px;color:var(--sidebarMuted)}.sidebar .brand>div{display:none}.workspace{background:var(--sidebar2);color:var(--sidebarText);border:1px solid var(--line);border-radius:10px;min-height:58px;padding:10px;cursor:default}.workspace-icon{background:var(--surface);color:var(--accentDark);border:1px solid var(--line);border-radius:8px}.workspace strong{font-size:14px}.workspace small{font-size:12px;color:var(--sidebarMuted)}.workspace .chev{display:none}.nav-group{font-size:11px;letter-spacing:.06em;color:var(--sidebarMuted);padding:18px 10px 8px}.nav-item{height:auto;min-height:44px;font-size:14px;padding:9px 10px;gap:11px;color:var(--sidebarText);border-radius:9px;font-weight:500;margin:2px 0;line-height:1.3}.nav-item>span{width:28px;height:28px;border-radius:7px;color:inherit}.nav-item.active{background:var(--sidebar2);color:var(--sidebarText);font-weight:700;box-shadow:inset 3px 0 var(--sidebarText)}.nav-item.active>span{color:inherit;background:var(--sidebar2)}.nav-item:hover{background:var(--sidebar2);color:var(--sidebarText)}.nav-item em{background:var(--sidebar2);color:var(--sidebarText);font-size:11px}.sidebar-foot{border-color:var(--line);min-height:62px;gap:10px}.sidebar-foot strong{font-size:13px;color:var(--sidebarText)}.sidebar-foot span,.sidebar-foot button{font-size:12px;color:var(--sidebarMuted)}.sidebar-foot button{min-width:44px;min-height:44px}.avatar{background:var(--sidebar2);color:var(--sidebarText);width:36px;height:36px;font-size:12px}
.main{margin-left:278px}.topbar{height:76px;padding:0 28px;gap:18px;background:var(--bg);border-bottom:1px solid var(--line);backdrop-filter:none}.breadcrumbs{font-size:13px}.search{height:44px;max-width:520px;width:38vw;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);font-size:13px;min-width:150px}.top-actions{display:flex;align-items:center;gap:8px}.top-actions button{min-width:44px;min-height:44px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--text)}.content{padding:26px 28px 56px;max-width:1800px;margin:0 auto}.pagehead{align-items:flex-start;gap:16px;margin-bottom:22px}.pagehead h1{font:500 32px/1.2 var(--font-display);letter-spacing:-.025em;margin:0 0 6px}.pagehead p{font-size:14px;max-width:750px;line-height:1.5}.actions,.inspector-actions,.card-actions,.form-actions{flex-wrap:wrap;gap:10px}.btn{height:auto;min-height:44px;max-width:100%;padding:10px 16px;border-radius:9px;border:1px solid var(--line2);background:var(--surface);color:var(--text);font-size:14px;line-height:1.35;font-weight:600;white-space:normal;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;box-shadow:none}.btn.primary,.login-submit{background:var(--action);border-color:var(--action);color:#fff}.btn.primary:hover{background:var(--actionDark);border-color:var(--actionDark)}.btn.soft{background:var(--actionSoft);border-color:var(--line);color:var(--accentDark)}.btn.danger{background:var(--dangerSoft);color:var(--danger);border-color:var(--danger)}.link-btn{min-height:44px;display:inline-flex;align-items:center;padding:6px;color:var(--accentDark);font-size:13px}
.card{border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface);padding:20px}.table-card,.inbox-page{padding:0}.hero,.portal-hero{background:var(--surface)}.hero h2,.portal-hero h1{font-family:var(--font-display);font-size:28px;font-weight:500}.card-title{gap:14px}.card-title h3,.table-head h3,.section-heading h3{font-family:var(--font-sans);font-size:16px;font-weight:650}.card-title p,.table-head span,.section-heading p{font-size:13px;line-height:1.5}.eyebrow{font-size:11px;letter-spacing:.06em;color:var(--accentDark)}.grid{gap:18px}.kpi-card:nth-child(n){box-shadow:var(--shadow)}.kpi-card label,.metric label{font-size:13px}.kpi-card strong,.metric strong{font-family:var(--font-sans);font-size:28px;letter-spacing:-.025em}.kpi-card small,.metric small{font-size:12px;color:var(--text)}.badge{font-size:12px;line-height:1.3;font-weight:600;padding:5px 10px;white-space:normal}.badge.good{color:var(--sage);background:var(--sageSoft)}.badge.warn{color:var(--warning);background:var(--warningSoft)}.badge.bad{color:var(--danger);background:var(--dangerSoft)}.badge.neutral{color:var(--text);background:var(--surface3)}.system-note{font-size:13px;line-height:1.55;padding:12px 14px}.empty,.empty-small{font-size:14px}.attention{background:var(--surface)}.attention-item{padding:12px;background:var(--surface);border-color:var(--line)}.attention-item strong,.entity strong{font-size:14px}.attention-item span,.entity .meta{font-size:12px}.entity .right strong{font-size:14px}.entity .right span{font-size:12px}.chart-grid{stroke:var(--line)}
.table-head{padding:18px 20px;gap:14px;flex-wrap:wrap}.haven-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.haven-table-scroll:focus-visible{outline-offset:-3px}.haven-table-scroll table{min-width:600px}.haven-table-scroll table:has(th:nth-child(7)){min-width:820px}table{color:var(--text)}th{font-size:11px;letter-spacing:.045em;padding:12px 16px;color:var(--text);background:var(--surface2);line-height:1.5}td{font-size:14px;padding:14px 16px;border-color:var(--line);line-height:1.5}td strong{font-weight:650}tbody tr:hover{background:var(--surface2)}.row-sub{font-size:12px;line-height:1.5}.table-card{overflow:hidden}
.form-field>span,.portal-form span,.login-card label{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text)}.form-field input,.form-field select,.portal-form input,.portal-form select,.portal-form textarea,.login-card input,.record-form textarea,.smg-brand-dialog input{min-height:44px;height:auto;border:1px solid var(--line2);border-radius:9px;background:var(--field);color:var(--text);padding:11px 12px;font-size:15px;line-height:1.4;max-width:100%}.record-form textarea,.portal-form textarea{min-height:112px;font-family:inherit;resize:vertical}.record-form{gap:18px}.form-actions{border-top:1px solid var(--line);padding-top:18px;margin-top:4px}.form-error,.login-error{font-size:13px;line-height:1.5}.detail-grid>div{padding:14px;border-color:var(--line);background:var(--surface2)}.detail-grid span,.mini-metrics span{font-size:12px;text-transform:none;letter-spacing:0}.detail-grid strong,.mini-metrics strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}.record-hero h2{font-family:var(--font-sans);font-size:25px;font-weight:650}.record-hero p{font-size:14px}.inspector-section h2{font:650 23px/1.3 var(--font-sans)}.inspector-section{margin-top:22px;padding-top:22px}.journal-memo{font-size:14px;line-height:1.6}.timeline-row strong,.message-row strong{font-size:14px}.timeline-row p,.message-row p{font-size:14px;line-height:1.6}.timeline-row span,.message-row span{font-size:12px}.inspector-top small{font-size:11px}.inspector-top strong{font-size:16px}.inspector-body{padding:24px}dialog.inspector-layer{width:min(1080px,calc(100vw - 64px));height:min(88vh,1050px);border-radius:16px;border-color:var(--line);box-shadow:0 24px 80px #14201a33}dialog.inspector-layer::backdrop{background:#14201a80}.smg-brand-dialog{border-radius:16px}.smg-brand-dialog h2{font:650 24px/1.3 var(--font-sans)}
.inbox-filters{padding:18px 20px}.inbox-subject strong{font-size:16px}.inbox-subject small{font-size:13px}.inbox-channel,.inbox-row-meta{font-size:13px}.inbox-row-meta time{font-size:12px}.inbox-message p{font-size:15px}.inbox-message header{font-size:13px}.inbox-message time{font-size:12px}.inbox-reply label{font-size:13px}.inbox-reply textarea{font-size:15px}.inbox-message.mine{background:var(--surface-tint)}
.login-screen{background:var(--bg)}.login-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 12px 50px #14201a12;padding:32px;width:min(460px,calc(100vw - 32px));max-width:100%}.login-brand{flex-wrap:nowrap;gap:14px;align-items:center}.login-brand .smg-brand-logo{width:138px;height:58px}.login-card h1{font:500 30px/1.2 var(--font-display)}.login-card p{font-size:14px;line-height:1.6}.login-card button{min-height:44px;font-size:14px}.portal-topbar{height:auto;min-height:80px;background:var(--surface);padding:12px 24px;gap:16px;border-color:var(--line)}.portal-main{padding:28px 20px 60px}.portal-user{flex-wrap:wrap;justify-content:flex-end}.portal-user>span{font-size:13px}.portal-grid{gap:16px}.portal-section{margin-top:20px}.portal-hero{padding:24px}.resident-messages p{font-size:15px;line-height:1.6}.resident-messages small{font-size:12px}#residentConversation label{font-size:13px}#residentConversation textarea{font-size:15px;border-radius:9px;border:1px solid var(--line2);color:var(--text);background:var(--surface)}.portal-status{font-size:13px}.portal-form{gap:16px}.field-shell{background:var(--bg);color:var(--text)}.field-brand{background:var(--surface);height:auto;min-height:80px;padding:12px 16px}.field-brand strong{font-size:16px}.field-brand>div span{font-size:12px}.field-content .card,.field-content [class$="-card"]{border-color:var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.field-content button,.field-content .btn{min-height:52px;font-size:16px}.field-content input,.field-content select,.field-content textarea{min-height:48px;font-size:16px;background:var(--surface);color:var(--text);border:1px solid var(--line2);border-radius:9px}.field-content label{font-size:14px}.field-content h1,.field-content h2,.field-content h3{font-family:var(--font-sans)}.haven-nav-backdrop{position:fixed;inset:0;background:#14201a80;border:0;z-index:40}.haven-nav-backdrop[hidden]{display:none}.haven-nav-close{display:none}
@media(min-width:801px){.haven-nav-backdrop{display:none}}
@media(max-width:1100px){.topbar{gap:12px;padding:0 20px}.content{padding:24px 20px 50px}.grid.hero-grid,.section-grid{grid-template-columns:1fr}.search{min-width:100px}.top-actions{gap:5px}}
@media(max-width:800px){.sidebar{inset:0 auto 0 0;width:min(300px,88vw);border-radius:0;transform:translateX(-110%);z-index:50;padding-top:16px}.sidebar.open{transform:translateX(0)}.sidebar .brand{padding-right:36px}.haven-nav-close{display:grid;place-items:center;position:absolute;right:10px;top:14px;width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:var(--sidebar2);color:var(--sidebarText);font-size:24px}.main{margin-left:0}.topbar{height:68px;padding:0 12px;gap:10px}.mobile-menu{min-width:44px;min-height:44px;display:grid;place-items:center}.breadcrumbs{flex:1;min-width:0;white-space:normal}.breadcrumbs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search{display:none}.top-actions{gap:6px}.top-actions button{width:44px}.content{padding:20px 14px 48px}.pagehead{gap:14px}.pagehead h1{font-size:28px}.pagehead .actions{width:100%}.card{padding:18px}.table-card,.inbox-page{padding:0}.form-grid,.detail-grid{grid-template-columns:1fr}.record-hero{flex-wrap:wrap}.hero h2{font-size:25px}dialog.inspector-layer{width:100vw;height:100dvh;border:0;border-radius:0;max-height:100dvh}.inspector-body{padding:20px 16px}.inspector-top{padding:0 16px}.portal-topbar{padding:12px 14px}.portal-topbar .brand{flex-wrap:nowrap;padding:0}.portal-topbar .brand img{width:112px!important}.portal-topbar .brand strong{display:none}.portal-main{padding:20px 12px 48px}.portal-grid{grid-template-columns:1fr}.portal-user>span{display:none}.login-card{padding:24px}.smg-brand-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:20px}.inbox-filters label{width:100%}.inbox-filters input,.inbox-filters select{width:100%}.inbox-row{flex-wrap:wrap}.inbox-row-meta{width:100%;display:flex;text-align:left;justify-content:space-between}.inbox-channel{width:100%}.inbox-message{max-width:100%}}
@media(max-width:560px){th:nth-child(n),td:nth-child(n){display:table-cell}.inspector-table th:nth-child(n),.inspector-table td:nth-child(n){display:table-cell}.actions{flex-wrap:wrap}.actions .btn{flex:1 1 130px}.kpi-card strong{font-size:24px}.metric-row,.accounting-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions #installAppBtn{display:none!important}.top-actions{flex-shrink:0}.pagehead p{font-size:13px}.inbox-reply>div,.inbox-context{flex-wrap:wrap}.field-brand img{width:100px!important}.login-brand{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.haven-table-scroll table th{font-size:11px;line-height:1.5}.haven-table-scroll table td{font-size:14px;line-height:1.5}
@media(max-width:560px){.accounting-controls-grid table th:nth-child(n),.accounting-controls-grid table td:nth-child(n){display:table-cell}}
@media(max-width:800px){.search{display:flex;width:44px;min-width:44px;max-width:44px;height:44px;flex:0 0 44px;padding:0;justify-content:center;margin-left:auto}.search span:nth-child(2),.search kbd{display:none}}
@media(max-width:560px){.breadcrumbs{display:none}}
.team-people{border:1px solid var(--line);border-radius:10px;padding:12px;max-height:40vh;overflow:auto}.team-people legend{font-size:13px;font-weight:600}.team-people label{display:flex;align-items:center;gap:12px;padding:10px;min-height:52px;border-bottom:1px solid var(--line)}.team-people label:last-child{border:0}.team-people input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.team-people small{display:block;font-size:12px;color:var(--muted)}.team-member{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border-bottom:1px solid var(--line)}.inbox-new label[hidden]{display:none}

/* Enrollment QR remains black on white for reliable camera scanning. */
.mfa-enrollment{display:grid;gap:16px;justify-items:start;max-width:100%}
.mfa-qr-frame{background:#fff;padding:8px;max-width:100%;border-radius:12px}
.mfa-qr{display:block;width:280px;max-width:100%;height:auto}
.mfa-enrollment details{max-width:100%;width:100%}.mfa-enrollment summary{cursor:pointer;padding:12px 0;min-height:44px}
.mfa-enrollment code{overflow-wrap:anywhere;white-space:normal;user-select:all}

.settings-grid{display:grid;gap:20px}.settings-grid>.card{padding:24px}.settings-grid form{display:grid;gap:16px;max-width:640px}.settings-health{display:grid;grid-template-columns:minmax(90px,160px) 1fr;gap:12px}.settings-health dd{margin:0;overflow-wrap:anywhere}.settings-links{display:flex;gap:12px;flex-wrap:wrap}.access-verification{border:1px solid var(--border);padding:20px;border-radius:12px;margin:16px 0}.access-verification code{overflow-wrap:anywhere}.access-verification [data-verify-content]{display:grid;gap:16px}.record-form details>summary{padding:12px 0;cursor:pointer;min-height:44px}

.settings-links{align-items:center}.settings-links>.btn{flex:0 0 auto;align-self:center}.access-verification{grid-column:1/-1;width:100%;box-sizing:border-box}#settingsBackupProgress{display:grid;gap:12px;padding:16px 0}#settingsBackupProgress progress{width:100%;height:10px}.backup-spinner{width:22px;height:22px;border:3px solid var(--border,#ddd);border-top-color:var(--accent,#087c3d);border-radius:50%;animation:smg-backup-spin .85s linear infinite}@keyframes smg-backup-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.backup-spinner{animation:none}}

/* R16: remove decorative accent edges across staff, resident and field surfaces. */
:is(.card,.metric,.kpi-card,.role-section,.current-brief-card,.current-signal,.current-entity-attention,.current-brief-priority,.current-panel-row,.current-evidence,.current-goal,.current-related,.current-overview-embed,.field-dispatch-message,.deposit-row){border-color:var(--line)!important;border-top-width:1px!important;border-left-width:1px!important;background-image:none!important}
:is(.metric,.role-metric,.kpi-card,.role-section)::before,:is(.metric,.role-metric,.kpi-card,.role-section)::after,.nav-item.active::before{display:none!important}
.nav-item.active{box-shadow:none!important;border-left:0!important}.current-panel-row-link:hover{transform:none;box-shadow:none;border-color:var(--line)}

.role-section{box-shadow:var(--shadow)!important}
/* Author display rules must not override explicit hidden states. */
[hidden]{display:none!important}

/* Resident setup uses the existing centered record surface and brand tokens. */
.resident-setup-steps{display:flex;flex-wrap:wrap;gap:12px;padding:0;list-style:none;margin:0 0 24px;font-size:14px}
.resident-setup-steps li{padding:8px 0;color:var(--text-muted,#55625b)}
.resident-setup-steps [aria-current]{font-weight:700;color:var(--text,#17261e)}
#setupUnits{margin:16px 0}#inspectorBody [data-lease-review] dl{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:12px}
#inspectorBody [data-lease-review] dd{margin:0;overflow-wrap:anywhere}
@media(pointer:coarse){#inspectorBody button,#inspectorBody input,#inspectorBody select{min-height:44px}}
