/* Domni Identity 1.1. Presentation only: routes, forms and action hooks stay intact. */
@font-face{font-family:Manrope;src:url('./assets/brand/Manrope-Variable.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--ink:#18211D;--muted:#66716B;--line:#E1E7E3;--canvas:#F7F9F7;--surface:#FFFFFF;--subtle:#EEF3EF;--selected:#D6F3E5;--accent:#176B4D;--accent-rgb:23,107,77;--accent-subtle:#EDF7F1;--brand-green:#176B4D;--brand-lime:#D8F06C;--brand-deep:#173F35;--shadow:0 4px 18px #173f3505}
body{background:var(--canvas);font-family:Manrope,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);font-feature-settings:'ss01' on}
h1,h2,h3{color:var(--ink);font-weight:700;letter-spacing:-.035em}h1{font-size:30px;line-height:1.3}h2{letter-spacing:-.025em}.muted{color:var(--muted)}
:focus-visible{outline:3px solid var(--brand-green);outline-offset:3px;border-radius:8px}.sidebar :focus-visible{outline-color:var(--brand-lime)}
input,select,textarea{accent-color:var(--accent)}input::placeholder,textarea::placeholder{color:#707A74;opacity:1}
button,a,input,select,textarea{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}
.sidebar,.platform-shell .sidebar{background:var(--brand-deep);border-color:var(--brand-deep);color:#FFF;backdrop-filter:none;-webkit-backdrop-filter:none;scrollbar-color:#50766A var(--brand-deep)}
.brand,.platform-shell .brand{color:var(--brand-lime);gap:10px;padding:0 6px;letter-spacing:-1.2px;font-size:28px}
.brandmark{width:38px;height:38px;flex:0 0 38px;background:none;box-shadow:none;border-radius:12px;overflow:hidden}
.brandmark img{width:100%;height:100%;display:block}.brand-product,.platform-shell .brand-product{color:#E0EACB;font-size:10px;letter-spacing:.12em;font-weight:600;line-height:1.35;margin-top:3px}
.workspace-label{border-color:#FFFFFF20}.workspace-label strong{color:#FFF}.workspace-label span{color:#CEDFD6;line-height:1.6}
.nav a,.platform-shell .nav a{color:#DFEBE4;border-radius:14px;border-color:transparent;font-weight:500}
.nav a:hover{color:#FFF;background:#FFFFFF12}.nav a.active,.sidebar>.nav a.active{background:var(--brand-lime);border-color:var(--brand-lime);color:var(--ink);box-shadow:none;font-weight:700}
.nav a.active svg{color:var(--ink)}.nav .count{color:var(--brand-deep);background:#E8F8C0;border-radius:6px}.nav a.active .count{background:#173F3515;color:var(--brand-deep)}
.nav-caption,.platform-shell .nav-caption{color:#BCCFC5;letter-spacing:.08em}.nav.secondary{border-color:#FFFFFF20}
.sidebar-bottom .btn{font-size:12px;white-space:normal;background:#FFFFFF0D;border-color:#FFFFFF33;color:#E6EFEA;width:100%;text-align:left;border-radius:12px;line-height:1.5}
.sidebar-bottom .btn:hover{background:#FFFFFF1C}.demo-pill{color:#C9DCD2;background:#FFFFFF0C;white-space:normal}.demo-pill i{background:var(--brand-lime)}
.profile{border-color:#FFFFFF20}.profile strong{color:#FFF}.profile small{color:#C5D8CC}.sidebar .avatar{background:var(--brand-lime);color:var(--ink)}
.avatar,.avatar.blue-avatar{background:#D6F3E5;color:var(--brand-deep);font-weight:700}.top-actions>.avatar{background:var(--brand-green);color:#FFF}
.topbar{border-color:var(--line)}.breadcrumb,.breadcrumb b,.top-date{color:var(--muted)}.breadcrumb b{font-weight:600;color:var(--ink)}
.icon-btn{border-color:var(--line);background:#FFF;color:var(--brand-green);border-radius:12px}.icon-btn:hover{background:#EDF7F1;color:var(--brand-deep);border-color:#ADC6B7}
.search-mini{border-color:var(--line);background:#FFF;border-radius:12px;color:var(--muted)}.search-mini:focus-within{border-color:var(--brand-green);box-shadow:0 0 0 2px #176B4D18}
.btn{border-color:var(--line);background:#FFF;color:var(--ink);border-radius:12px;font-weight:600;min-height:40px}
.btn:hover{border-color:#AFC4B7;background:#F0F7F2}.btn.primary{background:var(--accent);border-color:var(--accent);color:#FFF;box-shadow:none}.btn.primary:hover{filter:brightness(.94)}
.btn.subtle{background:var(--accent-subtle);color:var(--accent);border-color:transparent}.btn.danger{background:#FFF0EE;border-color:#F0C5C0;color:#B3261E}
.btn:disabled{opacity:.5;filter:none}.text-btn{color:var(--accent);font-weight:600}.install-btn{background:#FFF}
.card,.card.white,.admin-main .card{background:#FFF;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.card-header h2,.admin-main h2,.admin-main h3,.admin-main h1{color:var(--ink)}
.page-heading p,.card-header p,.admin-main .card-header p,.overline,.eyebrow,.stat-label,.stat-footer,.legend,.hero-metric p,.hero-description,.hero-description strong{color:var(--muted)}
.hero-card{background:#FFF}.hero-card:before{display:none}.hero-description{border-color:var(--line)}
.metric-number,.stat-number,.platform-stats .stat-number{color:var(--ink);font-weight:700;letter-spacing:-.04em}.metric-number span{color:var(--muted)}
.stat,.admin-main .stat{border-color:var(--line);background:#FFF;border-radius:20px;box-shadow:none}.stat:hover{border-color:#BCD2C3;background:#FDFEFD}.stat-label svg{color:var(--brand-green)}
.segment,.chat-tabs{background:#EDF2EE;border-color:var(--line);border-radius:12px}.segment button,.chat-tabs button{color:var(--muted);border-radius:9px}
.segment button.active,.chat-tabs button.active{background:#FFF;color:var(--accent);box-shadow:0 1px 4px #173F3510;font-weight:700}
.filter-select,.field input,.field select,.field textarea{background:#FFF;border-color:#B8C5BD;border-radius:12px;color:var(--ink)}
.field>span,.queue-filters>label>span,.queue-filters .priority-filter,.filter-summary,.field small{color:var(--muted)}
.table th{background:#F2F6F3;color:var(--muted);font-weight:600}.table td{color:var(--ink);border-color:var(--line)}.table td:first-child,.table .row-title{color:var(--ink)}
.table .subtext,.table-footer,.admin-main .subtext{color:var(--muted)}.table tr:hover td{background:#F7FBF8}.table tr.row-selected td{background:#EDF7F1}
.selection-bar{border-color:#BCD8C8;background:#EDF7F1;color:var(--brand-deep)}
.pill{background:#EEF3EF;color:#4E5C53;border-radius:8px}.pill.blue{background:#EAF3FF;color:#25609D}.pill.green{background:#D6F3E5;color:#176B4D}.pill.amber{background:#FFF2D8;color:#9A5B08}.pill.red{background:#FDEBE8;color:#B3261E}
.activity-item,.task-row,.notice-item,.document-row,.member,.request-card,.workflow-step,.setting-row{border-color:var(--line)}
.activity-icon,.request-symbol,.notice-icon,.document-icon,.step-number,.house-tile .house-icon{background:#EDF7F1;color:var(--brand-green);border-color:var(--line);border-radius:12px}
.notice-icon.amber{background:#FFF2D8;color:#9A5B08}
.activity-item strong,.task-row .task-text,.kanban-card strong,.request-card .request-info button,.notice-item h3,.document-row strong,.workflow-step h3,.setting-row h3{color:var(--ink)}
.activity-item p,.activity-item time,.task-row .task-text small,.kanban-card p,.request-card p,.notice-item p,.notice-item time,.document-row p,.workflow-step p,.setting-row p{color:var(--muted)}
.task-check{border-color:#99A99E;background:#FFF}.task-check.done{border-color:var(--brand-green);background:#D6F3E5}.task-row .done-text{color:#7B857E}
.kanban-column{background:#EDF2EE;border-radius:20px}.kanban-heading{color:var(--muted)}.kanban-card{background:#FFF;border-color:var(--line);border-radius:16px;box-shadow:none}
.house-tile{background:#FFF;border-color:var(--line);color:var(--ink);border-radius:18px}.house-tile.active{background:#EDF7F1;box-shadow:inset 0 0 0 1px var(--brand-green)}
.house-tile small,.building-summary p,.building-stats small,.apartment small,.apartment .apartment-top,.member p{color:var(--muted)}.building-stats strong,.apartment strong{color:var(--ink)}
.floor-plan{border-color:var(--line)}.floor-picker button{background:#EDF2EE;border-color:var(--line);color:var(--muted)}.floor-picker button.active{background:var(--accent);color:#FFF;box-shadow:none}
.apartment{background:#FFF;border-color:var(--line);border-radius:16px;color:var(--muted)}.apartment:hover{border-color:var(--brand-green);background:#F7FBF8}
.quick-action,.meter-tile,.benefit-card{background:#FFF;border-color:var(--line);border-radius:18px;color:var(--ink)}.quick-action svg{color:var(--brand-green)}
.wallet-card{background:#EDF7F1;color:var(--ink)}.wallet-amount span{color:var(--muted)}
.balance-card{background:var(--brand-green);border-color:var(--brand-green);box-shadow:none}.balance-card:after{display:none}.balance-card .overline,.balance-bottom p{color:#E4F4EB}.balance-number span{color:var(--brand-lime)}.balance-bottom .btn{color:var(--brand-green);background:#FFF}
.ai-feature{border-color:#D0E3D7;background:#EDF7F1;border-radius:24px}.ai-feature h2{color:var(--ink)}.ai-feature p{color:var(--muted)}
.chat-panel{background:#FFF;border-color:var(--line);border-radius:24px;box-shadow:0 8px 32px #173F350A}.chat-topic{border-color:var(--line)}.chat-topic strong,.chat-context strong{color:var(--ink)}
.chat-topic small,.chat-time,.message-author,.message-bubble time,.chat-context p,.chat-compose label,.chat-compose-bottom small{color:var(--muted)}
.message-bubble{background:#F5F8F5;color:var(--ink);border-color:var(--line);border-radius:4px 16px 16px 16px}.message.mine .message-bubble{background:#D6F3E5;border-color:#C2E5D2;border-radius:16px 4px 16px 16px}
.chat-context{background:#F2F7F3;border-color:var(--line);border-radius:16px}.chat-compose textarea{background:#FFF;border-color:#B8C5BD;border-radius:12px;color:var(--ink)}
.empty,.page-footnote{color:var(--muted)}.empty h3{color:var(--ink)}.empty svg{color:var(--brand-green)}
dialog{background:#FFF;border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 80px #173F3526}dialog::backdrop{background:#18211D66;backdrop-filter:none;-webkit-backdrop-filter:none}
.dialog-header{border-color:var(--line);background:#FFF}.dialog-header h2{color:var(--ink)}.dialog-header p,.detail-label,.detail-body,.detail-meta,.hint{color:var(--muted)}.hint{background:#F2F7F3;border-color:#D6E6DA;border-radius:12px}.dialog-footer{border-color:var(--line)}
.toast{background:var(--brand-deep);color:#FFF;border:1px solid #35594A;box-shadow:0 8px 28px #173F3526;backdrop-filter:none}.pwa-banner{background:#D6F3E5;border-color:#BCD8C8;color:var(--brand-deep)}.pwa-banner button{color:var(--brand-green)}
.platform-scope{background:#EDF7F1;border-color:var(--line);color:var(--brand-deep)}
.product-tile,.product-mark{background:#F7FAF7;border-color:var(--line);border-radius:16px}.product-tile strong,.attention-row strong,.inbox-preview strong,.core-connection strong{color:var(--ink)}
.product-tile>svg,.product-mark,.service-grid>div>svg,.core-connection>svg,.attention-row>.activity-icon svg,.integration-status>svg,.integration-card .card-header>svg{color:var(--brand-green)}
.product-tile p,.core-connection span,.attention-row small,.inbox-preview small,.product-card>p,.integration-card>p,.report-card>p,.service-grid p,.integration-status p{color:var(--muted)}
.core-connection,.attention-row,.inbox-preview,.house-metadata>div{border-color:var(--line)}.attention-row>.activity-icon{background:#EDF7F1}
.report-card blockquote,.reported-excerpt,.saved-note,.audit-json{background:#F2F7F3;border-color:#C4D9CB;color:var(--muted);border-radius:12px}
.admin-definition dt,.house-metadata small,.module-checks legend,.module-checks label{color:var(--muted)}.admin-definition dd,.house-metadata strong{color:var(--ink)}.module-checks{border-color:#B8C5BD;border-radius:12px}.form-error{color:#B3261E}
.messenger{background:#FFF;border-color:var(--line);border-radius:24px;box-shadow:var(--shadow)}.thread-list,.conversation-context{background:#F7FAF7;border-color:var(--line)}.thread-list-head,.conversation-head,.message-compose,.closed-compose{border-color:var(--line)}
.thread-item{border-bottom-color:var(--line)}.thread-item:hover{background:#EDF7F1}.thread-item.selected{background:#D6F3E5;border-left-color:var(--brand-green)}
.thread-top>strong,.context-field>strong{color:var(--ink)}.thread-top>svg,.thread-item>small,.thread-item>p,.thread-bottom time,.conversation-head p,.context-field,.context-field>span,.mini-person small,.conversation-notice,.admin-message .message-author,.admin-message time,.compose-bottom small{color:var(--muted)}
.unread{background:var(--brand-green);color:#FFF}.conversation{background:#FFF}.conversation-context .eyebrow{color:var(--muted)}
.admin-message .bubble{background:#F5F8F5;border-color:var(--line);color:var(--ink);box-shadow:none}.admin-message.outgoing .bubble{background:#D6F3E5;border-color:#C2E5D2}.admin-message.internal-note .bubble{background:#FFF7E7;border-color:#F0DFB6;color:#805216}.admin-message.internal-note .message-author{color:#805216}
.message-compose{background:#FFF}.compose-modes button{color:var(--muted)}.compose-modes button.active{color:var(--brand-green);border-bottom-color:var(--brand-green)}.message-compose textarea{color:var(--ink)}.message-compose textarea::placeholder{color:var(--muted)}.closed-compose,.catalog-info>p{color:var(--muted)}.catalog-info>svg{color:var(--brand-green)}
@media(min-width:901px){.shell{grid-template-columns:224px minmax(0,1fr)}.platform-shell{grid-template-columns:238px minmax(0,1fr)}.workspace{padding-left:28px;padding-right:28px}.nav a{padding-top:11px;padding-bottom:11px}.brand{min-height:48px}.sidebar-bottom{padding-top:18px}}
@media(min-width:1650px){.shell{grid-template-columns:240px minmax(0,1fr)}.platform-shell{grid-template-columns:250px minmax(0,1fr)}}
@media(min-width:601px) and (max-width:900px){.brand,.platform-shell .brand{padding:0;justify-content:center}.brandmark{width:38px;height:38px;flex-basis:38px}}
@media(max-width:600px){body{background:var(--canvas)}.card,.admin-main .card{border-radius:20px}.stat,.admin-main .stat{border-radius:18px}.sidebar{background:var(--brand-deep);border-top-color:#35594A;backdrop-filter:none}.sidebar>.nav a{color:#D8E7DE}.sidebar>.nav a.active{color:var(--ink);background:var(--brand-lime)}.sidebar>.nav a.active svg{color:var(--ink)}.sidebar>.nav a>span.nav-text{font-weight:600}.topbar .breadcrumb b{color:var(--ink)}.page-heading h1{font-size:26px}.chat-panel{border-radius:20px;background:#FFF}.btn{min-height:44px}.platform-shell .sidebar.mobile-open{background:var(--brand-deep)}.platform-shell .sidebar.mobile-open .brand{color:var(--brand-lime)}}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.card,.admin-main .card{box-shadow:none;background:#FFF;border-color:#D5DBD6}.sidebar{display:none!important}}

@media(max-width:680px){.platform-shell .sidebar.mobile-open{background:var(--brand-deep);border-color:#35594A}.platform-shell .topbar{background:var(--canvas);backdrop-filter:none;-webkit-backdrop-filter:none}.platform-shell .sidebar.mobile-open .nav a{flex-direction:row}.platform-shell .sidebar.mobile-open .brand{justify-content:flex-start}.platform-shell .sidebar.mobile-open .brandmark{display:block}}

.brandmark{background:transparent url('./assets/brand/product.svg') center/contain no-repeat}

/* Keep the sign-in route reachable when the sidebar collapses to an icon rail. */
@media(min-width:601px) and (max-width:900px){
 .sidebar:not(.mobile-open) .sidebar-login{display:flex;position:relative;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0 auto 10px;border-radius:12px}
 .sidebar:not(.mobile-open) .sidebar-login-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .sidebar:not(.mobile-open) .sidebar-login::before{content:'';display:block;width:22px;height:22px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D8F06C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h5v16h-5M3 12h11m-4-4 4 4-4 4'/%3E%3C/svg%3E")}
}
@media(min-width:681px) and (max-width:900px){.platform-shell .sidebar-bottom{display:block}}
/* The section picker is a light dialog, distinct from the dark navigation rail. */
dialog .nav a{min-height:44px;color:var(--ink);background:#FFF;border-color:var(--line)}
dialog .nav a:hover{background:#EDF7F1;color:var(--brand-green);border-color:#BCD8C8}
dialog .nav a:focus-visible{outline-color:var(--brand-green)}
