/* Shared palette. Homepage, login, owner and tenant use the same tokens. */
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-action);--primary-hover:var(--brand-action-hover);--on-primary:var(--brand-on-action);--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:var(--brand-shadow);--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 .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:var(--radius-control);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{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}.brand-ui .btn-secondary:hover{background:var(--tint)!important}

.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:var(--radius-card);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:var(--radius-control);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,.alert-error,.badge-danger,.daily-status.overdue){background:var(--danger-bg)!important;color:var(--danger)!important}.brand-ui :is(.alert-amber,.alert-warning,.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:var(--radius-control)}.brand-ui .daily-head h1{font-size:clamp(25px,3vw,32px);font-weight:650;letter-spacing:-.035em}
.payment-filters summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}
.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}.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:var(--radius-card);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:var(--radius-card);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:var(--radius-control);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:var(--radius-card);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}.payment-month-head{gap:12px}.payment-month-head h2{font-size:21px}.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 .daily input,.brand-ui .daily select,.brand-ui .daily textarea{font-size:16px}}
@media(max-width:380px){.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 .form-width{max-width:720px}.brand-ui .feedback-message.info .feedback-mark{color:var(--muted)}

body.brand-ui{--soft:var(--brand-tint)}


button:disabled{cursor:not-allowed}

body.brand-ui{--brand-link:var(--brand-green);--surface-2:var(--brand-tint);--red:var(--brand-danger)}
