/* Domni Identity 1.1. Presentation only: routes, data attributes and handlers stay in app.js. */
@font-face{font-family:Manrope;src:url('./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:#fff;--subtle:#EDF2EE;--selected:#E8F2D7;--accent:#176B4D;--accent-rgb:23,107,77;--accent-subtle:#EDF5EF;--brand:#176B4D;--lime:#D8F06C;--shadow:0 4px 20px #173f3506,0 1px 2px #173f3503}
body{font-family:Manrope,system-ui,sans-serif;font-size:14px;background:var(--canvas);color:var(--ink)}
h1{font-size:30px;font-weight:750;letter-spacing:-1px}h2{font-weight:700}h3{font-weight:650}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.sidebar{background:#fff;border-right:1px solid var(--line);backdrop-filter:none;padding-top:25px}
.brand{padding:0 6px;min-height:58px;letter-spacing:0}.brand-product{display:block;width:165px;max-width:100%;height:auto}.brand-compact{display:none}
.workspace-label{padding:20px 12px;margin-bottom:16px;border-color:var(--line)}.workspace-label strong{color:var(--ink);font-weight:700}.workspace-label span{color:var(--muted);line-height:1.7}
.nav a{border-radius:12px;color:var(--muted);font-weight:550;padding:12px;min-height:46px}.nav a:hover{background:var(--canvas);color:var(--brand)}.nav a.active{background:var(--lime);border-color:transparent;color:#173F35;box-shadow:none;font-weight:750}.nav a.active svg{color:#173F35}.nav .count{background:white;color:var(--brand);border-radius:6px}
.nav-caption{color:var(--muted);letter-spacing:1.1px;font-weight:650}.sidebar-bottom>.btn{font-size:11px;white-space:normal;line-height:1.6;width:100%;text-align:center}
.profile{border-color:var(--line)}.profile small,.demo-pill{color:var(--muted)}.demo-pill{background:var(--canvas);border-radius:8px}.demo-pill i{background:var(--brand)}.avatar,.avatar.blue-avatar{color:var(--brand);background:#EDF5DF;font-weight:750}.top-actions>.avatar{background:var(--brand);color:var(--lime)}
.topbar{border-color:var(--line);height:88px}.breadcrumb,.breadcrumb b,.top-date{color:var(--muted)}.breadcrumb b{font-weight:650;color:var(--ink)}
.icon-btn{border:1px solid var(--line);background:white;color:var(--muted);border-radius:12px;width:38px;height:38px}.icon-btn:hover{border-color:var(--brand);color:var(--brand)}
.search-mini{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:38px;color:var(--muted)}.search-mini input::placeholder{color:var(--muted)}
.content-layout{padding-top:28px;gap:24px}.page-heading{margin-bottom:25px}.page-heading p{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.7}
.btn{background:white;border:1px solid var(--line);color:var(--ink);border-radius:12px;min-height:40px;font-weight:650;padding:9px 15px}.btn:hover{border-color:#9BAD9F;background:#F7F9F7}.btn.primary{background:var(--accent);border-color:var(--accent);color:white;box-shadow:none}.btn.primary:hover{filter:brightness(.94)}.btn.subtle{background:var(--accent-subtle);color:var(--accent);border-color:transparent}.btn.danger{color:#B3261E;background:#FFF1EF;border-color:#F0D7D3}.text-btn{font-weight:650}
.card,.card.white{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:24px}.card-header h2{font-size:16px;color:var(--ink);font-weight:750}.card-header p,.overline{color:var(--muted)}
.pill{background:#EEF2EF;color:var(--muted);border-radius:8px;font-weight:650;padding:5px 9px}.pill.blue,.pill.green{background:#E8F3EC;color:#176B4D}.pill.amber{background:#FFF1D7;color:#9A5B08}.pill.red{background:#FCEBE8;color:#B3261E}
.hero-card{background:#EFF5EE}.hero-card:before{display:none}.metric-number,.stat-number{color:var(--ink);font-weight:750}.hero-description,.hero-description strong,.hero-metric p,.metric-number span,.legend{color:var(--muted)}.hero-description{border-color:var(--line)}
.stat{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:none}.stat-label,.stat-footer,.stat-label svg{color:var(--muted)}
.balance-card{background:#176B4D;border-color:#176B4D;color:white;border-radius:24px;box-shadow:none;padding:28px}.balance-card:after{background:radial-gradient(ellipse at 96% -25%,#D8F06C29,transparent 53%);opacity:1}.balance-card .card-header h2{color:white}.balance-card .overline,.balance-bottom p{color:#EBF5EF}.balance-number{font-weight:750;font-size:52px;letter-spacing:-2px}.balance-number span{color:var(--lime);font-weight:600}.balance-bottom .btn{color:#173F35;background:var(--lime);border-color:var(--lime);font-weight:750}.balance-card .pill{background:#ffffff16;border-color:#ffffff40;color:white}
.quick-actions{gap:12px;margin:20px 0 28px}.quick-action{background:#fff;border:1px solid var(--line);border-radius:18px;min-height:110px;color:var(--ink);font-weight:650;padding:18px 14px}.quick-action:hover{border-color:#B2C6B8;background:#F5F8EF;box-shadow:none}.quick-action svg{color:var(--brand);height:25px;width:25px}.quick-action:nth-child(2) svg,.quick-action:nth-child(4) svg{background:var(--lime);border-radius:9px;box-sizing:content-box;padding:5px;margin:-5px}
.request-symbol,.notice-icon,.document-icon,.activity-icon,.house-tile .house-icon{background:#EDF5EF;color:var(--brand);border-color:var(--line);border-radius:12px}.notice-icon.amber{background:#FFF1D7;color:#9A5B08}
.request-card,.notice-item,.document-row,.member,.setting-row,.task-row,.activity-item,.invoice-line,.workflow-step{border-color:var(--line)}
.request-card .request-info button,.notice-item h3,.document-row strong,.setting-row h3,.workflow-step h3,.empty h3,.activity-item strong,.task-row .task-text{color:var(--ink);font-weight:650}
.request-card p,.notice-item p,.notice-item time,.document-row p,.member p,.setting-row p,.detail-body,.workflow-step p,.activity-item p,.activity-item time,.task-row .task-text small{color:var(--muted)}
.wallet-card{background:#F0F6DF;color:var(--ink);border-color:#E1EACB}.wallet-card .card-header>svg{color:var(--brand)}.wallet-amount{font-weight:750;color:var(--brand)}.wallet-amount span{color:#4B634D;font-weight:550}
.segment{background:#EBF0EC;border:1px solid #E1E7E3;border-radius:12px;padding:4px}.segment button{color:var(--muted);border-radius:9px;font-weight:600;min-height:33px}.segment button.active{background:white;color:var(--brand);box-shadow:0 1px 4px #173f350c;font-weight:750}
.filter-select{background:white;border-color:var(--line);border-radius:10px}.table th{background:#F0F4F0;color:var(--muted);font-weight:600}.table td{border-color:var(--line);color:var(--muted)}.table td:first-child,.table .row-title{color:var(--ink)}.table .subtext,.table-footer{color:var(--muted)}.table tbody tr:hover td{background:#F8FAF6}.table .row-title:hover{color:var(--brand)}
.chat-panel{background:#F0F4F0;border:1px solid var(--line);border-radius:24px;box-shadow:none;padding:20px 16px}.chat-header h2{color:var(--ink);font-weight:750}.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{color:var(--ink);background:white;border:1px solid var(--line);border-radius:4px 16px 16px;font-size:12px}.message.mine .message-bubble{background:#E6F0D5;border-color:#DBE9C8;border-radius:16px 4px 16px 16px}.chat-context{background:#FAFCF7;border-color:var(--line);border-radius:16px}.chat-compose textarea{background:white;border-color:#C8D2CA;border-radius:12px}.chat-compose-bottom .btn{min-height:36px;border-radius:10px}
.empty{color:var(--muted)}.empty svg{color:var(--brand)}.page-footnote{color:var(--muted);font-size:11px}.page-footnote svg{color:var(--brand)}
.house-tile{background:white;border-color:var(--line);color:var(--ink);border-radius:18px}.house-tile.active{background:#F1F6E9;box-shadow:inset 0 0 0 1px #176B4D}.house-tile small,.building-summary p,.building-stats small{color:var(--muted)}.building-stats strong{color:var(--ink)}.floor-plan{border-color:var(--line)}.floor-picker button{background:#EFF3EF;border-color:var(--line);color:var(--muted)}.floor-picker button.active{background:var(--accent);color:white;box-shadow:none}.apartment{background:white;border-color:var(--line);color:var(--muted);border-radius:18px}.apartment strong{color:var(--ink)}.apartment small,.apartment .apartment-top{color:var(--muted)}.apartment:hover{border-color:var(--brand)}
.meter-tile,.benefit{background:#fff;border:1px solid var(--line);border-radius:18px}.meter-tile svg,.partner-symbol{color:var(--brand);background:#EDF5EF}.meter-tile h3,.meter-tile strong,.benefit h3{color:var(--ink)}.meter-tile p,.meter-tile strong small,.benefit p{color:var(--muted)}
.hint{background:#EDF4EE;border:1px solid #E1EAE2;border-radius:16px;color:#4D6254}.hint strong{color:var(--brand)}.hint.warn{background:#FFF5E3;color:#9A5B08;border-color:#F0DEC0}.invoice-line{color:var(--muted)}.invoice-line.total{color:var(--ink)}.ai-feature{background:#EFF5E7;border-color:var(--line);border-radius:24px}.ai-feature h2{color:var(--ink)}.ai-feature p{color:var(--muted)}
.kanban-column{background:#EDF2EE}.kanban-heading{color:var(--muted)}.kanban-card{background:white;border:1px solid var(--line);box-shadow:none;border-radius:16px}.kanban-card strong{color:var(--ink)}.kanban-card p{color:var(--muted)}.step-number{background:var(--lime);color:#173F35}.task-check.done{background:#EDF5DF;border-color:#ACC7B5}.bar-caption{color:var(--muted)}.bar-track{background:#EAF0E8}.bar-track i{background:#176B4D}.switch input{background:#C7D1C9}.color-choice{box-shadow:0 0 0 1px #B8C7BC}.color-choice.selected{box-shadow:0 0 0 2px var(--brand)}
dialog{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 80px #173F3529}dialog::backdrop{background:#18211D66;backdrop-filter:blur(3px)}.dialog-header,.dialog-footer{border-color:var(--line)}.dialog-header h2{color:var(--ink)}.dialog-header p,.field>span,.field small,.confirm-check,.detail-label{color:var(--muted)}.field input,.field select,.field textarea{border-color:#B5C3B9;border-radius:12px;background:white;min-height:44px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand);outline-offset:2px}.history-item{border-color:var(--line);color:var(--muted)}.history-item:before{background:var(--brand)}.history-item small{color:var(--muted)}.toast{background:#173F35;color:#fff;border-radius:14px;box-shadow:0 8px 24px #173F3526}
@media(min-width:1650px){.brand-product{width:178px}}
@media(max-width:1250px){.brand-product{width:156px}.chat-panel{background:#F0F4F0;box-shadow:0 16px 64px #173F3526}}
@media(min-width:601px) and (max-width:900px){.brand{padding:0;justify-content:center}.brand-product{display:none}.brand-compact{display:block;width:40px;height:40px}.sidebar-bottom>.btn{padding:7px 3px;font-size:9px}.nav.secondary,.profile{border-color:var(--line)}}
@media(max-width:600px){body{background:var(--canvas)}.sidebar{background:#fffffff5;border-top:1px solid var(--line);backdrop-filter:blur(12px);padding-bottom:max(5px,env(safe-area-inset-bottom));height:calc(70px + env(safe-area-inset-bottom))}.shell{padding-bottom:calc(79px + env(safe-area-inset-bottom))}.sidebar>.nav a.active{background:#EFF5DF;color:var(--brand);border-radius:12px}.sidebar>.nav a.active svg{color:var(--brand)}.sidebar>.nav a>span.nav-text{font-size:10px;font-weight:650}.topbar{height:74px}.breadcrumb b{color:var(--ink)}.page-heading h1{font-size:27px;line-height:1.3}.page-heading p{font-size:12px}.card,.hero-card,.balance-card{border-radius:20px;padding:20px}.balance-number{font-size:47px}.balance-bottom .btn{font-size:11px;padding:9px 12px}.quick-actions{gap:9px}.quick-action{font-size:11px;border-radius:16px;padding:15px 10px;line-height:1.6;min-height:110px}.quick-action svg{width:23px;height:23px}.stat{border-radius:16px}.chat-panel{border-radius:22px;background:#F0F4F0}.chat-header .icon-btn{width:40px;height:40px}.chat-compose-bottom .btn{min-height:44px}.card-header h2{font-size:15px}.request-card{gap:10px;flex-wrap:wrap}.request-card .request-info{min-width:140px}.notice-item p{font-size:12px}.notice-item time{font-size:10px}.table-wrap{margin-left:-8px;margin-right:-8px}.member{flex-wrap:wrap}.member>.pill{font-size:10px}.field input,.field select,.field textarea,.chat-compose textarea{font-size:16px}.dialog-header,.dialog-body{padding:20px}.page-footnote{align-items:flex-start;line-height:1.7}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{body{background:#fff;color:#18211D}.card{box-shadow:none}.balance-card{background:#fff;color:#18211D;border-color:#E1E7E3}.balance-card .card-header h2,.balance-card .overline,.balance-bottom p,.balance-number span{color:#18211D}}

/* Compact rail keeps sign-in reachable between 601 and 900 px. */
.login-shortcut>svg{display:none}
@media(min-width:601px) and (max-width:900px){.sidebar-bottom>.login-shortcut{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;margin:0 auto 10px;font-size:0;white-space:nowrap}.sidebar-bottom>.login-shortcut>svg{display:block;width:21px;height:21px}.sidebar-bottom>.login-shortcut>span{display:none}}
