/* Shared palette. Homepage, login, owner and tenant use the same tokens. */
:root{--brand-ink:#20372f;--brand-muted:#596b62;--brand-green:#21624c;--brand-green-hover:#164632;--brand-line:#dce4dd;--brand-paper:#f7f8f4;--brand-tint:#eaf0e7;--brand-surface:#fff;--brand-on-green:#fff;--brand-input:#bdcbc1;--brand-focus:#a66a20;--brand-danger:#9d2525;--brand-danger-bg:#fdf0ee;--brand-warning:#79511e;--brand-warning-bg:#fff4df;--brand-shadow:0 8px 32px #21372d0a}
:root[data-theme=dark]{--brand-ink:#e3eee7;--brand-muted:#b0c1b6;--brand-green:#99d6b5;--brand-green-hover:#b4e5c9;--brand-line:#34473c;--brand-paper:#111b16;--brand-tint:#243a2e;--brand-surface:#1b2820;--brand-on-green:#11281f;--brand-input:#4a6454;--brand-focus:#e0b779;--brand-danger:#ffb4ac;--brand-danger-bg:#3d2527;--brand-warning:#f0d497;--brand-warning-bg:#3a311e;--brand-shadow:none}
body.brand-ui{--ink:var(--brand-ink);--text:var(--brand-ink);--text-light:var(--brand-muted);--text-muted:var(--brand-muted);--muted:var(--brand-muted);--green:var(--brand-green);--green-dark:var(--brand-green-hover);--primary:var(--brand-green);--primary-hover:var(--brand-green-hover);--on-primary:var(--brand-on-green);--accent:var(--brand-green);--teal:var(--brand-green);--line:var(--brand-line);--border:var(--brand-line);--paper:var(--brand-paper);--bg:var(--brand-paper);--tint:var(--brand-tint);--card-soft:var(--brand-tint);--card:var(--brand-surface);--white:var(--brand-surface);--input-line:var(--brand-input);--soft-line:var(--brand-input);--focus:var(--brand-focus);--focus-ring:color-mix(in srgb,var(--brand-green) 18%,transparent);--danger:var(--brand-danger);--danger-bg:var(--brand-danger-bg);--red-text:var(--brand-danger);--red-bg:var(--brand-danger-bg);--warning-bg:var(--brand-warning-bg);--warning-text:var(--brand-warning);--amber-bg:var(--brand-warning-bg);--amber-text:var(--brand-warning);--green-bg:var(--brand-tint);--green-text:var(--brand-green);--navy-900:var(--brand-ink);--navy-800:var(--brand-ink);--navy-700:var(--brand-muted);--navy-100:var(--brand-line);--shadow:var(--brand-shadow);--shadow-sm:none;--cream:var(--brand-surface);--dark-coffee:var(--brand-ink);--warm-gray:var(--brand-muted);--light-tan:var(--brand-line);--copper:var(--brand-green);background:var(--bg)!important;color:var(--text)!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
.brand-ui .daily{--daily-accent:var(--brand-green);--daily-muted:var(--brand-muted)}
.brand-ui.panel-ui .main,.brand-ui.panel-ui .content{background:var(--paper)!important}
.brand-ui :is(.sidebar,.topbar){background:var(--card)!important;color:var(--text);border-color:var(--border)!important;box-shadow:none}
.brand-ui .logo-text{color:var(--text)!important}.brand-ui .logo-mark{background:var(--primary)!important;color:var(--on-primary)!important;box-shadow:none;border-radius:13px 13px 13px 4px}
.brand-ui .nav-link{color:var(--text-light)}.brand-ui .nav-link:hover,.brand-ui .nav-link.active{background:var(--tint)!important;color:var(--green)!important}.brand-ui .nav-link.active{box-shadow:inset 3px 0 var(--green)}.brand-ui .nav-badge{background:var(--tint);color:var(--green)}.brand-ui .nav-group{border-color:var(--border)}
.brand-ui :is(.topbar-profile,.theme-toggle,.profile,.logout-btn){color:var(--text);border-color:var(--border)!important;background:var(--card)}.brand-ui :is(.avatar,.action-icon,.profile-photo){background:var(--tint)!important;color:var(--green)!important}
.brand-ui .btn{min-height:44px;height:auto;border-radius:10px;font-weight:650;box-shadow:none!important;line-height:1.4;padding:10px 16px}
.brand-ui .btn-primary,.brand-ui .daily .btn-primary,.brand-ui.owner-simple-ui .btn-primary,.brand-ui .btn-success{background:var(--primary)!important;border:1px solid var(--primary)!important;color:var(--on-primary)!important}
.brand-ui .btn-primary:hover,.brand-ui .daily .btn-primary:hover,.brand-ui .btn-success:hover{background:var(--primary-hover)!important;border-color:var(--primary-hover)!important}
.brand-ui .btn-secondary,.brand-ui .btn-ghost-light{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}.brand-ui .btn-secondary:hover{background:var(--tint)!important}
.brand-ui .nav-login{background:var(--primary);color:var(--on-primary);padding:9px 16px;border-radius:10px}.brand-ui .nav-login:hover{background:var(--primary-hover);color:var(--on-primary)}
.brand-ui :is(.card,.stat-card,.daily-panel,.owner-property-card,.property-panel,.roi-panel,.timeline-panel,.tenant-action,.invoice-dropzone,.profile-panel,.compare-card,.bill-row,.muted-panel,.section-hero,.dashboard-hero,.property-command-center,.recurring-billing-card){background:var(--card)!important;color:var(--text)!important;border-color:var(--border)!important;box-shadow:none!important}
.brand-ui .stat-card:before{background:var(--green)}.brand-ui :is(.stat-label,.text-muted,.text-light,.profile-name){color:var(--muted)!important}.brand-ui .daily-balance{background:var(--tint);border-color:var(--border);border-radius:18px;box-shadow:none}.brand-ui .daily-balance-label{color:var(--green)}
.brand-ui :is(table,tbody td){color:var(--text)!important;background:var(--card)!important;border-color:var(--border)!important}.brand-ui thead th,.brand-ui tbody tr:hover td{background:var(--tint)!important;color:var(--text)!important}.brand-ui .table-wrap{border-color:var(--border)!important}
.brand-ui input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.brand-ui select,.brand-ui textarea{background:var(--card)!important;color:var(--text)!important;border-color:var(--input-line)!important;border-radius:9px;min-height:44px;font:inherit;max-width:100%}.brand-ui input::placeholder,.brand-ui textarea::placeholder{color:var(--muted);opacity:.85}.brand-ui input[type=checkbox],.brand-ui input[type=radio]{accent-color:var(--primary)}
.brand-ui :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px}.brand-ui :is(.badge-info,.badge-success,.btn-soft-primary,.daily-status.paid,.command-pill){background:var(--tint)!important;color:var(--green)!important;border-color:var(--border)!important}
.brand-ui :is(.alert-info,.alert-success,.core-flow-note,.daily-alert){background:var(--tint)!important;color:var(--text)!important;border-color:var(--border)!important}.brand-ui :is(.alert-danger,.badge-danger,.daily-status.overdue){background:var(--danger-bg)!important;color:var(--danger)!important}.brand-ui :is(.alert-amber,.badge-amber){background:var(--warning-bg)!important;color:var(--warning-text)!important}.brand-ui .errorlist{color:var(--danger)!important}
.brand-ui .daily-status{border-radius:6px}.brand-ui .daily-head h1{font-size:clamp(25px,3vw,32px);font-weight:650;letter-spacing:-.035em}.brand-ui .panel-eyebrow{color:var(--green);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:5px}
.brand-ui .tenant-shortcuts{margin:0 0 24px;gap:14px}.brand-ui .tenant-shortcuts a{text-align:left;padding:18px;border-radius:14px;background:var(--card);border:1px solid var(--border);display:flex;align-items:flex-start;flex-direction:column;gap:5px;color:var(--text)}.brand-ui .tenant-shortcuts a:hover{background:var(--tint);border-color:var(--green)}.tenant-shortcuts strong{font-size:15px}.tenant-shortcuts small{font-size:12px;color:var(--muted)}.shortcut-icon{background:var(--tint);color:var(--green);border-radius:9px;width:32px;height:32px;display:grid;place-items:center;margin-bottom:6px;font-size:20px}.tenant-updates summary,.payment-filters summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}.tenant-updates summary{font-size:18px}
.payment-month-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.payment-month-head h2{margin:4px 0 10px;font-size:23px}.payment-charges{list-style:none;padding:0;margin:0}.charge-heading{margin:20px 0 8px;font-size:13px!important;text-transform:uppercase;letter-spacing:.06em!important;color:var(--muted)}.payment-charge{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.payment-charge>div{min-width:0}.payment-charge .daily-link{font-size:15px;line-height:1.4;overflow-wrap:anywhere;display:block;min-height:0;margin-bottom:6px}.payment-charge small,.charge-kind{display:block;color:var(--muted);font-size:12px}.charge-description{margin:6px 0!important;font-size:13px;overflow-wrap:anywhere}.charge-amount{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.charge-amount>strong{font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums}.payment-month-footer{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding-top:18px}.payment-filters{margin-bottom:18px;border-bottom:1px solid var(--border)}.payment-filters .daily-filters{border:0;padding:0;margin:10px 0 18px}.utility-guide{border-left:3px solid var(--green)!important}.utility-guide p{margin:10px 0 16px}
.brand-ui .conversation-message{background:var(--paper);border:1px solid var(--border)!important;border-radius:12px;padding:16px;margin:10px 28px 12px 0;overflow-wrap:anywhere}.brand-ui .conversation-message.is-own{background:var(--tint);margin:10px 0 12px 28px}.conversation-message p{margin-bottom:0}
/* Persistent submit feedback and a role-scoped inbox, visible on phones too. */
.feedback-stack{position:fixed;z-index:180;right:24px;bottom:24px;width:min(430px,calc(100vw - 32px));display:grid;gap:10px;max-height:45vh;overflow:auto}.feedback-stack:empty{display:none}.feedback-message{padding:16px;display:flex;align-items:flex-start;gap:12px;background:var(--card);color:var(--text);border:1px solid var(--green);border-left:4px solid var(--green);border-radius:12px;box-shadow:var(--brand-shadow)}.feedback-message p{font-size:14px;line-height:1.5;margin:3px 0 0;overflow-wrap:anywhere}.feedback-message>div{min-width:0;flex:1}.feedback-mark{font-size:20px;color:var(--green);flex:none}.feedback-message button{min-width:36px;min-height:36px;flex:none;padding:0;border:0;background:transparent;color:var(--muted);font-size:25px;cursor:pointer}.feedback-message.error{border-color:var(--danger)}.feedback-message.error .feedback-mark{color:var(--danger)}.feedback-message.warning{border-color:var(--warning-text)}.feedback-message a{color:var(--green);text-decoration:underline}
.notification-menu{position:relative;flex:none}.notification-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);position:relative}.notification-menu>summary::-webkit-details-marker{display:none}.notification-menu>summary:hover{background:var(--tint)}.notification-menu svg{height:21px;width:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.notification-count{position:absolute;right:-5px;top:-6px;min-width:21px;height:21px;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-size:11px;font-weight:750;border-radius:99px;padding:0 4px;border:2px solid var(--card)}.notification-count[hidden]{display:none}.notification-popover{position:absolute;right:0;top:calc(100% + 12px);z-index:170;width:350px;max-width:calc(100vw - 24px);padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);box-shadow:var(--brand-shadow);max-height:70vh;overflow:auto}.notification-popover ul{list-style:none;padding:0;margin:12px 0}.notification-popover li+li{border-top:1px solid var(--border)}.notification-popover li a{display:block!important;padding:12px 0;min-height:44px;color:var(--text);text-decoration:none;font-size:14px!important}.notification-popover li strong{display:block;overflow-wrap:anywhere}.notification-popover li span{display:block;color:var(--muted);font-size:12px;margin-top:5px;line-height:1.5;overflow-wrap:anywhere}.notification-popover a:hover strong{text-decoration:underline;color:var(--green)}.notification-empty{font-size:13px;color:var(--muted);padding:12px 0}.notification-popover small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:12px}.notification-all{display:block!important;color:var(--green);font-size:13px!important;min-height:44px;padding:10px 0;text-decoration:underline!important}
@media(max-width:700px){.brand-ui .daily-layout{gap:0}.brand-ui .tenant-shortcuts{gap:8px}.brand-ui .tenant-shortcuts a{padding:13px 10px}.tenant-shortcuts strong{font-size:13px}.tenant-shortcuts small{font-size:11px}.payment-month-head{gap:12px}.payment-month-head h2{font-size:21px}.payment-month-head .daily-month-amount strong{font-size:24px}.charge-amount>strong{font-size:14px}.payment-charge{gap:12px}.payment-month-footer{flex-wrap:wrap}.payment-month-footer .btn{width:100%}.feedback-stack{right:12px;bottom:12px;width:calc(100vw - 24px)}.notification-popover{position:fixed;top:74px;right:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 100px)}.brand-ui .topbar{gap:8px}.brand-ui .topbar-right{gap:6px}.brand-ui .topbar .page-title{max-width:calc(100vw - 212px)}.brand-ui .topbar .theme-toggle{min-width:40px;width:40px}.brand-ui .daily input,.brand-ui .daily select,.brand-ui .daily textarea{font-size:16px}}
@media(max-width:380px){.brand-ui .tenant-shortcuts{grid-template-columns:1fr}.brand-ui .tenant-shortcuts a{display:grid;grid-template-columns:32px 1fr;gap:0 12px}.shortcut-icon{grid-row:span 2;margin:0}.brand-ui .entry-header{flex-wrap:wrap;padding-block:12px;gap:8px}.brand-ui .entry-header nav{margin-left:auto}.payment-charge{grid-template-columns:minmax(0,1fr)}.charge-amount{flex-direction:row;align-items:center;justify-content:space-between}}

.brand-ui .description-panel,.brand-ui .soft-tile,.brand-ui .media-tile,.brand-ui .cost-property-card,.brand-ui .decision-item,.brand-ui .checklist-item{background:var(--card)!important;color:var(--text)!important;border-color:var(--border)!important}.brand-ui .decision-item strong{color:var(--text)!important}.brand-ui .topbar-profile strong{color:var(--text)!important}.brand-ui .form-width{max-width:720px}.brand-ui .feedback-message.info .feedback-mark{color:var(--muted)}

body.brand-ui{--soft:var(--brand-tint)}.brand-ui.public-ui .navbar{background:var(--card);border-color:var(--border);color:var(--text)}.brand-ui.public-ui .logo-icon{background:var(--primary);color:var(--on-primary)}.brand-ui.public-ui .badge-available{background:var(--primary);color:var(--on-primary)}
