/* Feinh Pro: the agents' pages. Calm, fast, phone-first. */
body{background:var(--surface-page)}
.pro-in{max-width:none;margin:0;padding:0 var(--space-6)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:calc(var(--space-half) * -1);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* header */

/* page */
.pro{color:var(--text-primary);padding:var(--space-4) 0 var(--space-10)}
.pro h1{font-size:var(--text-title-size);font-weight:var(--weight-strong);letter-spacing:-.025em;margin:0 0 var(--space-2);color:var(--primary)}
.pro h2{font-size:var(--text-title-size);font-weight:var(--weight-strong);margin:0 0 var(--space-3);color:var(--primary);letter-spacing:-.01em}
.pro h3{font-size:var(--text-section-size);font-weight:var(--weight-strong);margin:0;color:var(--primary)}
.pro-h2{margin:var(--space-8) 0 var(--space-4)!important;font-size:var(--text-title-size) !important}
.pro-muted{color:var(--text-secondary)}
.pro-small{font-size:var(--text-body-size)}
.pro a{color:var(--text-link)}
.pro-pagehead{margin-bottom:var(--space-5);max-width:760px}
.pro-pagehead-row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);max-width:none;flex-wrap:wrap}
.pro-pagehead-row>div{max-width:720px}
.pro-card{background:var(--surface-page);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:0 var(--space-2) var(--space-5) color-mix(in srgb, var(--primary) 4%, transparent)}
.pro-cardhead{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}
.pro-grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}
.pro-link{font-weight:var(--weight-strong)}
.pro p a:not(.pro-btn),.pro li a.pro-inline{text-decoration:underline;text-underline-offset:2px}
.pro-chip{display:inline-block;font-size:var(--text-meta-size);font-weight:var(--weight-strong);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--success-bg);color:var(--text-link)}
.pro-chip.ghost{background:var(--surface-sunken);color:var(--text-primary)}
.pro-chip.bad{background:var(--danger-bg);color:var(--danger-text)}
.pro-alert{background:var(--danger-bg);border:var(--border-w) solid var(--danger-border);color:var(--danger-solid-hover);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-5)}
.pro-alert.warn{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}
.pro-alert a{color:inherit;font-weight:var(--weight-strong)}
.pro-msg{min-height:1.2em;margin:var(--space-2) 0 0;font-size:var(--text-body-size);color:var(--text-link);font-weight:var(--weight-strong)}
.pro button:focus-visible,.pro a:focus-visible,.pro select:focus-visible,.pro input:focus-visible,.pro textarea:focus-visible{outline:calc(var(--border-w) * 3) solid var(--accent-strong);outline-offset:var(--space-half)}

/* sign in */
.pro-logingrid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-10);align-items:center;min-height:62vh}
.pro-eyebrow{display:inline-block;font-weight:var(--weight-strong);font-size:var(--text-table-size);letter-spacing:.08em;text-transform:uppercase;color:var(--text-link);margin-bottom:var(--space-3)}
.pro-pitch h1{font-size:var(--text-title-size)}
.pro-pitch h1 span{color:var(--text-link)}
.pro-ticks{list-style:none;padding:0;margin:var(--space-6) 0 0;display:grid;gap:var(--space-3);font-size:var(--text-section-size)}
.pro-ticks li{padding-inline-start:var(--space-8);position:relative}
.pro-ticks li:before{content:"";position:absolute;inset-inline-start:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--success-mark) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/var(--space-3) no-repeat}
.pro-signin form{display:grid;gap:var(--space-2);margin:var(--space-4) 0 var(--space-3)}
.pro-signin form[hidden]{display:none}
.pro-signin input:focus{outline:var(--focus-ring-w) solid var(--border-focus);outline-offset:var(--focus-ring-w)}
.pro-tabs{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-subtle);border-radius:var(--radius-lg);margin-top:var(--space-4)}
.pro-tabs button{flex:1;min-block-size:var(--control-md);border:0;border-radius:var(--radius-sm);background:none;font:inherit;font-weight:var(--weight-strong);color:var(--text-secondary);cursor:pointer}
.pro-tabs button[aria-selected="true"]{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--elevation-1)}
.pro-pw{position:relative}
.pro-pw button{position:absolute;inset-inline-end:var(--space-2);inset-block-start:50%;transform:translateY(-50%);border:0;background:none;font:inherit;font-size:var(--text-table-size);color:var(--text-link);cursor:pointer;padding:var(--space-1) var(--space-2)}
.pro-forgot{justify-self:end;font-size:var(--text-table-size);display:inline-flex;align-items:center}
@media (min-width:761px){.pro-forgot{min-block-size:var(--control-sm)}}   /* phones: 44px (components.css) */
.pro label{font-weight:var(--weight-strong);font-size:var(--text-body-size)}
.pro input,.pro textarea,.pro select{font:inherit;font-size:var(--text-section-size);border:var(--border-w) solid var(--border-control);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-3);background:var(--surface-page);color:var(--text-primary);width:100%}
.pro hr{border:0;border-top:var(--border-w) solid var(--border-default);margin:var(--space-5) 0 var(--space-4)}

/* dashboard */
.pro-hello{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}
.pro-hello p{margin:0}
.pro-hello-cta{display:flex;gap:var(--space-3);flex-wrap:wrap}
.pro-kpis{list-style:none;padding:0;margin:0 0 var(--space-5);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.pro-kpis a{display:flex;flex-direction:column;gap:var(--space-1);background:var(--surface-page);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5);text-decoration:none!important;color:var(--text-primary)!important;height:100%;transition:transform .15s,box-shadow .15s}
.pro-kpis a:hover{transform:translateY(-2px);box-shadow:0 var(--space-3) var(--space-6) color-mix(in srgb, var(--primary) 8%, transparent)}
.pro-kpis b{font-size:var(--text-display-size);font-weight:var(--weight-strong);letter-spacing:-.03em;color:var(--primary);line-height:1.1}
.pro-kpis small{font-size:var(--text-body-size);color:var(--text-secondary);font-weight:var(--weight-strong)}
.pro-kpis span{font-size:var(--text-body-size);color:var(--text-secondary);font-weight:var(--weight-strong)}
.pro-kpis li.hot a{background:var(--primary);border-color:var(--primary)}
.pro-kpis li.hot b{color:var(--accent-strong)}.pro-kpis li.hot span{color:color-mix(in srgb, var(--text-on-dark) 80%, transparent)}
.pro-mini{list-style:none;padding:0;margin:0;display:grid}
.pro-mini li{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-top:var(--border-w) solid var(--border-default)}
.pro-mini li:first-child{border-top:0}
.pro-mini b{display:block;font-size:var(--text-body-size)}
.pro-mini small{color:var(--text-secondary);font-size:var(--text-table-size)}
.pro-dot{width:10px;height:10px;border-radius:50%;background:var(--border-strong)}
.pro-dot.s-new{background:var(--stage-new-dot);box-shadow:0 0 0 var(--space-1) var(--stage-new-bg)}
.pro-dot.s-contacted{background:var(--stage-contacted-dot)}.pro-dot.s-viewing-booked{background:var(--stage-viewing-dot)}
.pro-dot.s-converted{background:var(--stage-won-dot)}
.pro-todo{margin:0 0 var(--space-4);padding-inline-start:var(--space-5);display:grid;gap:var(--space-2)}
.pro-todo a{font-weight:var(--weight-strong)}
.pro-facts{margin:0;display:grid;gap:0}
.pro-facts div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:var(--border-w) solid var(--border-default)}
.pro-facts dt{color:var(--text-secondary);font-weight:var(--weight-strong);font-size:var(--text-body-size)}
.pro-facts dd{margin:0;font-weight:var(--weight-strong);text-align:end;font-size:var(--text-body-size)}

/* filters, leads */
.pro-filter{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);margin-bottom:var(--space-4);scrollbar-width:thin}
.pro-filter a{flex:0 0 auto;border:var(--border-w) solid var(--border-default);background:var(--surface-page);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-weight:var(--weight-strong);font-size:var(--text-body-size);color:var(--text-primary)!important;text-decoration:none!important}
.pro-filter a span{color:var(--text-secondary);font-weight:var(--weight-strong);margin-inline-start:var(--space-1)}
.pro-filter a[aria-current=page]{background:var(--primary);border-color:var(--primary);color:var(--text-on-dark)!important}
.pro-filter a[aria-current=page] span{color:color-mix(in srgb, var(--text-on-dark) 75%, transparent)}
.pro-leads{list-style:none;padding:0;margin:0 0 var(--space-4);display:grid;gap:var(--space-3)}
.pro-lead-top{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}
.pro-lead h2{font-size:var(--text-section-size);margin:0 0 var(--space-1)}
.pro-lead p{margin:0}
.pro-status select{width:auto;min-width:150px;font-weight:var(--weight-strong);padding:var(--space-2) var(--space-3);font-size:var(--text-body-size)}
.pro-lead[data-status=New] .pro-status select{border-color:var(--accent-strong);background:var(--success-bg)}
.pro-lead-about{margin-top:var(--space-3)!important}
.pro-lead-msg{margin-top:var(--space-2)!important;background:var(--surface-sunken);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-3);font-size:var(--text-body-size)}
.pro-lead-acts{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}
.pro-note{display:grid;gap:var(--space-2);margin-top:var(--space-3)}
.pro-pager{display:flex;justify-content:center;align-items:center;gap:var(--space-5);font-weight:var(--weight-strong)}
.pro-empty{text-align:center;padding:var(--space-10) var(--space-6)}
.pro-sub{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.pro-sub h2{font-size:var(--text-section-size);margin:0 0 var(--space-half)}.pro-sub p{margin:0}

/* listings */
.pro-listings{list-style:none;padding:0;margin:0 0 var(--space-4);display:grid;gap:var(--space-3)}
.pro-listing{display:grid;grid-template-columns:150px 1fr;gap:var(--space-5);padding:var(--space-4)}
.pro-listing-img{border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-sunken);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--text-table-size)}
.pro-listing-img img{width:100%;height:100%;object-fit:cover}
.pro-listing h2{font-size:var(--text-section-size);margin:var(--space-half) 0}
.pro-listing p{margin:0}
.pro-stats{list-style:none;padding:0;margin:var(--space-3) 0 0;display:flex;gap:var(--space-2);flex-wrap:wrap}
.pro-stats li{background:var(--surface-sunken);border-radius:var(--radius-lg);padding:var(--space-1) var(--space-3);font-size:var(--text-table-size)}
.pro-stats li.warn{background:var(--warning-bg);color:var(--warning-text);font-weight:var(--weight-strong)}
.pro-issues{margin-top:var(--space-3);font-size:var(--text-body-size)}
.pro-issues summary{cursor:pointer;font-weight:var(--weight-strong);color:var(--text-link)}
.pro-issues ul{margin:var(--space-2) 0 0;padding-inline-start:var(--space-5)}

/* score */
.pro-scorebox{display:flex;gap:var(--space-6);align-items:center}
.pro-ring{--v:0;flex:0 0 132px;width:132px;height:132px;border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:var(--space-10);background:radial-gradient(closest-side,var(--surface-page) 78%,transparent 79% 100%),conic-gradient(var(--success-mark) calc(var(--v)*1%),var(--success-bg) 0)}
.pro-ring b{font-size:var(--text-display-size);font-weight:var(--weight-strong);color:var(--primary);letter-spacing:-.03em}
.pro-ring small{color:var(--text-secondary);font-weight:var(--weight-strong)}
.pro-ok{color:var(--text-link);font-weight:var(--weight-strong);margin:0 0 var(--space-1)}
.pro-warn{color:var(--warning-text);font-weight:var(--weight-strong);margin:0 0 var(--space-1)}
.pro-notes{margin:0 0 var(--space-2);padding-inline-start:var(--space-5);font-size:var(--text-body-size)}
.pro-bars{list-style:none;padding:0;margin:0 0 var(--space-3);display:flex;align-items:flex-end;gap:var(--space-2);height:150px}
.pro-bars li{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:var(--space-1);min-width:0}
.pro-bars .bar{width:100%;max-width:34px;background:var(--border-strong);border-radius:var(--radius-sm) var(--radius-sm) var(--radius-xs) var(--radius-xs)}
.pro-bars .bar.ok{background:var(--success-mark)}
.pro-bars b{font-size:var(--text-meta-size)}.pro-bars small{font-size:var(--text-meta-size);color:var(--text-secondary);white-space:nowrap}
.pro-key{display:inline-block;width:12px;height:12px;border-radius:var(--radius-xs);background:var(--success-mark);vertical-align:-1px}
.pro-parts{list-style:none;padding:0;margin:0 0 var(--space-5);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}
.pro-part-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-3)}
.pro-part-top b{font-size:var(--text-title-size);font-weight:var(--weight-strong);color:var(--primary)}.pro-part-top small{font-size:var(--text-table-size);color:var(--text-secondary)}
.pro-meter{height:10px;background:var(--success-bg);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-3)}
.pro-meter span{display:block;height:100%;background:var(--success-mark);border-radius:var(--radius-full)}
.pro-parts p{margin:0}
.pro-gate p{margin:0 0 var(--space-3)}

/* profile */
.pro-verst{font-weight:var(--weight-strong);font-size:var(--text-section-size);margin:0 0 var(--space-3)}
.pro-verst.s-verified{color:var(--text-link)}.pro-verst.s-expired{color:var(--warning-text)}.pro-verst.s-suspended{color:var(--danger-text)}
.pro-checks{list-style:none;padding:0;margin:0 0 var(--space-3);display:grid;gap:var(--space-2)}
.pro-checks li{display:flex;gap:var(--space-3);align-items:center;font-weight:var(--weight-strong)}
.pro-checks li span:first-child{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-table-size);font-weight:var(--weight-strong);flex:0 0 24px}
.pro-checks li.ok span:first-child{background:var(--success-mark);color:var(--text-on-dark)}
.pro-checks li.no span:first-child{background:var(--surface-sunken);color:var(--text-secondary);border:var(--border-w) solid var(--border-default)}
.pro-checks li.no{color:var(--text-secondary)}
.pro-form{display:grid;gap:var(--space-2)}
.pro-form2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.pro-form2>div{display:grid;gap:var(--space-2);align-content:start}
.pro-form .pro-btn{justify-self:start;margin-top:var(--space-2)}

.pro-video{margin-bottom:var(--space-5)}
.pro-sub-h{margin:var(--space-5) 0 0!important;font-size:var(--text-section-size) !important}
.pro-chose{font-weight:var(--weight-strong);color:var(--text-link)}.pro-video p{margin:0 0 var(--space-2)}

.pro-specs{border:0;padding:0;margin:var(--space-2) 0 0;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.pro-specs legend{font-weight:var(--weight-strong);font-size:var(--text-body-size);padding:0;margin-bottom:var(--space-2)}
.pro-specs input{position:absolute;opacity:0}
.pro-specs span{display:inline-block;border:var(--border-w) solid var(--warning-bg);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-weight:var(--weight-strong);font-size:var(--text-body-size);cursor:pointer;background:var(--surface-page)}
.pro-specs input:checked+span{background:var(--primary);color:var(--text-on-dark);border-color:var(--primary)}
.pro-specs input:focus-visible+span{outline:calc(var(--border-w) * 3) solid var(--accent-strong);outline-offset:var(--space-half)}
.pro-stars{display:inline-flex;gap:var(--space-half)}.pro-stars svg{width:16px;height:16px;fill:var(--text-on-dark-secondary)}.pro-stars svg.on{fill:var(--warning-mark)}
.pro-st{font-size:var(--text-meta-size);font-weight:var(--weight-strong);border-radius:var(--radius-full);padding:var(--space-half) var(--space-2);background:var(--surface-sunken)}
.pro-st.Published{background:var(--success-bg);color:var(--text-link)}.pro-st.Pending{background:var(--warning-bg);color:var(--warning-text)}
.pro-status-bar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--surface-page);border:var(--border-w) solid var(--border-default)}
.pro-status-bar.Submitted{background:var(--warning-bg);border-color:var(--warning-border)}.pro-status-bar.Approved{background:var(--success-bg);border-color:var(--success-border)}
.pro-status-bar.Changes{background:var(--danger-bg);border-color:var(--danger-border)}
.pro-edit{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-5);align-items:start}
.pro-toggles{display:grid;gap:var(--space-2);margin:var(--space-2) 0 0}
.pro-toggles label{display:flex;gap:var(--space-2);align-items:center;font-weight:var(--weight-strong)}
.pro-toggles input{width:auto}
.pro-logo-box{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}
.pro-logo-box img{max-height:44px;max-width:160px;object-fit:contain;border:var(--border-w) solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-1);background:var(--surface-page)}
.pro-color{display:flex;gap:var(--space-3);align-items:center}
.pro-color input[type=color]{width:52px;height:var(--control-md);padding:var(--space-half);border-radius:var(--radius-lg)}
@media (max-width:860px){.pro-edit{grid-template-columns:1fr}}

.pro-ip-side{position:sticky;top:120px;display:grid;gap:var(--space-3)}
.pro-ip-side .pro-btn{width:100%}
.pro-edit .pro-card{display:grid;gap:var(--space-2);margin-bottom:var(--space-4)}

/* footer */

@media (max-width:860px){
  .pro-grid2,.pro-logingrid{grid-template-columns:1fr}
  .pro-logingrid{gap:var(--space-6);min-height:0}
  .pro-kpis{grid-template-columns:1fr 1fr}
  .pro-form2{grid-template-columns:1fr}
}
@media (max-width:560px){
  .pro-in{padding:0 var(--space-4)}
  .pro{padding-top:var(--space-5)}
  .pro-kpis b{font-size:var(--text-display-size)}
  .pro-lead-top{flex-direction:column}
  .pro-status select{width:100%}
  .pro-listing{grid-template-columns:96px 1fr;gap:var(--space-3)}
  .pro-scorebox{flex-direction:column;align-items:flex-start}
  .pro-hello-cta{width:100%}.pro-hello-cta .pro-btn{flex:1}
}
.pro-stage{margin-top:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-sunken);display:grid;gap:var(--space-3)}
.pro-stage-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.pro-stage-row label{display:grid;gap:var(--space-1);font-size:var(--text-table-size);font-weight:var(--weight-strong);flex:1 1 180px}
.pro-stage-row input,.pro-stage-row select{min-height:var(--control-md);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-lg);padding:0 var(--space-3);font:inherit;background:var(--surface-page)}
.pro-stage-acts{display:flex;gap:var(--space-2)}
.pro-qual{font-weight:var(--weight-strong);color:var(--success-text)}
.pro-stage[hidden],.pro-stage [hidden]{display:none}
.pro-badges{list-style:none;margin:0 0 var(--space-8);padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}
.pro-badge{display:grid;gap:var(--space-2);align-content:start}
.pro-badge.on{border-color:var(--success-border);background:var(--surface-selected)}
.pro-badge .st{font-size:var(--text-table-size)}.pro-badge.on .st{color:var(--text-link)}.pro-badge.off .st{color:var(--text-tertiary)}
.pro-appeal{display:grid;gap:var(--space-2)}.pro-appeal[hidden]{display:none}
.pro-appeal textarea{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);font:inherit}
.pro-badge,.pro-badge p{text-align:start}
.pro-fu{display:flex;gap:var(--space-2);align-items:flex-end;flex-wrap:wrap;margin-top:var(--space-3);padding-top:var(--space-3);border-top:var(--border-w) dashed var(--border-default)}
.pro-fu label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-meta-size);font-weight:var(--weight-strong);color:var(--text-secondary)}
.pro-fu label.grow{flex:1 1 180px}
.pro-fu input{min-height:var(--control-md);border:var(--border-w) solid var(--warning-bg);border-radius:var(--radius-lg);padding:0 var(--space-3);font:inherit;font-size:var(--text-body-size);background:var(--surface-page);color:var(--text-primary)}

.pro-health{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2);margin:0 0 var(--space-4)}
.pro-health div{background:var(--surface-page);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-3);display:flex;flex-direction:column}
.pro-health b{font-size:var(--text-title-size);color:var(--text-primary)}.pro-health span{font-size:var(--text-meta-size);color:var(--text-secondary)}
.pro-health .warn{border-color:var(--warning-mark);background:var(--warning-bg)}.pro-health .bad{border-color:var(--danger-border);background:var(--danger-bg)}
.pro-check{margin:var(--space-2) 0 0;font-weight:var(--weight-strong);color:var(--success-text)}.pro-check.due{color:var(--warning-text)}.pro-check.expired{color:var(--danger-solid-hover)}
.pro-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-2) 0}
.pro-missing{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--warning-bg);color:var(--warning-text)}
.pro-report{margin:var(--space-2) 0;padding:var(--space-3) var(--space-3);border-radius:var(--radius-lg);background:var(--danger-bg);border:var(--border-w) solid var(--danger-border)}
.pro-report p{margin:0 0 var(--space-2)}
.pro-respond{display:grid;gap:var(--space-2)}.pro-respond textarea{border:var(--border-w) solid var(--warning-bg);border-radius:var(--radius-lg);padding:var(--space-2);font:inherit}
@media (max-width:760px){.pro-health{grid-template-columns:repeat(3,minmax(0,1fr))}}/* Feinh Agent workspace (v0.34) */
.pro-snz{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.pro-today{margin-bottom:var(--space-5)}
.pro-today .pro-mini li{grid-template-columns:auto minmax(0,1fr) auto auto}
.pro-today .pro-mini li>div{min-width:0}
.pro-today .pro-vfb li{grid-template-columns:minmax(0,1fr)}
@media (max-width:1023px){.pro-today .pro-mini:not(.pro-vfb) li{grid-template-columns:auto minmax(0,1fr) auto}.pro-today .pro-mini li .pro-snz{grid-column:2/-1;grid-row:2}}   /* the snooze buttons go under the name when the card is narrow (768px too) */
@media (max-width:640px){.pro-today .pro-vfb li{grid-template-columns:minmax(0,1fr)}}
.pro-sub-h.warn{color:var(--danger-text)}
.pro-mini li.warn b{color:var(--danger-text)}
.pro-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.pro-pills label{position:relative}
.pro-pills input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pro-pills span{display:inline-flex;align-items:center;min-height:var(--control-md);padding:var(--space-2) var(--space-3);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-full);font-size:var(--text-body-size);font-weight:var(--weight-strong);background:var(--surface-page)}
.pro-pills input:checked+span{background:var(--primary);border-color:var(--primary);color:var(--text-on-dark)}
.pro-pills input:focus-visible+span{outline:calc(var(--border-w) * 3) solid var(--accent-strong);outline-offset:var(--space-half)}
.pro-vfb-form{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;flex:1 1 100%;margin-top:var(--space-2)}
.pro-vfb-form fieldset{border:0;padding:0;margin:0}
.pro-vfb-form input[name=feedback]{flex:1 1 200px;min-width:0;min-height:var(--control-md);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3)}
.pro-inl{display:inline-flex;gap:var(--space-2);align-items:center;font-size:var(--text-body-size)}
.pro-inl select{min-height:var(--control-md);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-1) var(--space-2)}
.pro-offers{list-style:none;padding:0;margin:var(--space-3) 0 0;display:grid;gap:var(--space-2)}
.pro-offers li{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;padding:var(--space-3) var(--space-3);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg)}
.pro-offer{margin-top:var(--space-3);padding:var(--space-3);border:var(--border-w) dashed var(--border-default);border-radius:var(--radius-lg);display:grid;gap:var(--space-2)}
.pro-offer label,.pro-buyer-form label{display:grid;gap:var(--space-1);font-size:var(--text-body-size);font-weight:var(--weight-strong);min-width:0}
.pro-offer input,.pro-offer select,.pro-buyer-form input:not([type=checkbox]),.pro-buyer-form select,.pro-buyer-form textarea{min-height:var(--control-md);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);font:inherit;width:100%;box-sizing:border-box}
.pro-reply{margin-top:var(--space-3)}
.pro-reply summary{cursor:pointer;font-weight:var(--weight-strong);min-height:36px;display:flex;align-items:center}
.pro-replies{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-2) 0}
.pro-rep{text-align:start;background:var(--surface-sunken);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-body-size);cursor:pointer;color:inherit}
.pro-rep:hover{border-color:var(--primary)}
.pro-reptext{width:100%;box-sizing:border-box;border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);font:inherit;margin:var(--space-2) 0}
.pro-ai-sum{background:var(--surface-selected);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0}
.pro-buyer-form{display:grid;gap:var(--space-3);margin-top:var(--space-3)}
.pro-buyer-form .pro-stage-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:var(--space-3)}
.pro-matches ul{list-style:none;padding:0;margin:var(--space-2) 0;display:grid;gap:var(--space-2)}
.pro-matches li{display:flex;gap:var(--space-2);align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg)}
.pro-matches label{display:flex;gap:var(--space-2);align-items:flex-start;min-width:0}
.pro-matches input{width:20px;height:20px;flex:0 0 auto;margin-top:var(--space-half);accent-color:var(--primary)}
.pro-matches fieldset{border:0;padding:0;margin:var(--space-2) 0 0}
.pro-buyer-name{color:inherit;text-decoration:none}.pro-buyer-name:hover,.pro-buyer-name:focus-visible{text-decoration:underline;text-underline-offset:3px}
.pro-buyer-acts{margin-top:var(--space-3);gap:var(--space-2)}
.pro-buyer details summary{cursor:pointer;font-weight:var(--weight-strong);margin-top:var(--space-2);min-height:36px;display:flex;align-items:center}
.pro-kpi{display:flex;flex-direction:column;gap:var(--space-1);background:var(--surface-page);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5);height:100%}
button.pro-kpi{inline-size:100%;font:inherit;color:inherit;text-align:start;cursor:pointer}button.pro-kpi[aria-pressed=true]{border-color:var(--accent-strong);background:var(--accent-subtle)}
.pro-kpis.n3,.pro-kpis:has(> li:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
.pro-tablewrap{overflow-x:auto}
.pro-table{width:100%;border-collapse:collapse;font-size:var(--text-body-size)}
.pro-table th,.pro-table td{text-align:start;padding:var(--space-3) var(--space-2);border-bottom:var(--border-w) solid var(--border-default);vertical-align:top}
.pro-table th{font-size:var(--text-table-size);color:var(--text-secondary)}
.pro-table tr.warn td{background:var(--danger-bg)}
@media (max-width:640px){.pro-kpis:has(> li:nth-child(3):last-child){grid-template-columns:1fr 1fr}}
.pro-matches input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;border-radius:var(--radius-xs)}
/* Feinh Brokerage console (v0.35) */
.pro-upsell{background:linear-gradient(135deg,var(--surface-dark),var(--primary-hover));color:var(--text-on-dark);border:0}
.pro-upsell h2{color:var(--text-on-dark)}
.pro-upsell .pro-ticks li{color:color-mix(in srgb, var(--text-on-dark) 90%, transparent)}
.pro-kpis li.hot .pro-kpi{background:var(--primary);color:var(--text-on-dark)}
.pro-kpis li.hot .pro-kpi b{color:var(--accent-strong)}
.pro-kpis li.hot .pro-kpi span{color:color-mix(in srgb, var(--text-on-dark) 85%, transparent)}
.pro-kpi span{font-size:var(--text-body-size);color:var(--text-secondary);font-weight:var(--weight-strong)}
.pro-kpi b small{font-size:var(--text-body-size);color:var(--text-secondary)}
.pro-table tr.muted{opacity:.6}
.pro-table td.warn{color:var(--danger-text);font-weight:var(--weight-strong)}
.pro-table th[scope=row]{font-weight:var(--weight-regular)}
.pro-member{border-top:var(--border-w) solid var(--border-default);padding:var(--space-2) 0}
.pro-member summary{cursor:pointer;font-weight:var(--weight-strong);min-height:36px;display:flex;align-items:center}
.pro-rules{border:0;padding:0;margin:0}
.pro-rules legend{font-weight:var(--weight-strong);margin-bottom:var(--space-2);font-size:var(--text-section-size) !important;line-height:1.4}
.pro-rules ol{list-style:none;padding:0;margin:0 0 var(--space-2);display:grid;gap:var(--space-2)}
.pro-risklist li{grid-template-columns:auto minmax(0,1fr) auto}
.pro-reassign select{max-width:180px}
.pro-brk-form{display:grid;gap:var(--space-2);max-width:460px}
.pro-brk-form input{min-height:var(--control-md);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);font:inherit}
.pro-brk-results{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}
.pro-brk-results li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-lg)}
.pro-brk{margin-top:var(--space-5)}
@media (max-width:640px){.pro-risklist li{grid-template-columns:auto minmax(0,1fr)}.pro-risklist li .pro-reassign{grid-column:1/-1}}
.pro-table{min-width:680px}.pro-table td{white-space:nowrap}
/* Inventory Network (v0.36) */
.pro-timeline{list-style:none;padding:0;margin:var(--space-2) 0 0;display:grid;gap:var(--space-2);border-inline-start:var(--focus-ring-w) solid var(--border-default);padding-inline-start:var(--space-3)}
.pro-timeline li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-2);font-size:var(--text-body-size)}
.pro-timeline time{color:var(--text-secondary);font-size:var(--text-table-size)}
.pro-timeline .k-price span,.pro-timeline .k-report span{font-weight:var(--weight-strong)}
.pro-draft input[type=file]{min-height:auto;border:var(--border-w) dashed var(--border-default);padding:var(--space-2)}
.pro-h2{font-size:var(--text-title-size);margin:var(--space-6) 0 var(--space-3)}
@media (max-width:640px){.pro-timeline li{grid-template-columns:1fr}}
.pro-buyer-form label.pro-check,.pro-form label.pro-check{display:flex;gap:var(--space-3);align-items:center;font-weight:var(--weight-strong)}.pro-check input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:20px;height:20px;flex:0 0 auto;margin:0;accent-color:var(--primary);border-radius:var(--radius-xs)}/* Staff delete on a lead card */
.pro-delask{margin-top:var(--space-3);padding:var(--space-4) var(--space-4);border:var(--border-w) solid var(--danger-border);background:var(--danger-bg);border-radius:var(--radius-lg)}
.pro-delask p{margin:0 0 var(--space-3);color:var(--danger-solid-hover);font-size:var(--text-body-size);line-height:1.5}
/* Profile photo, uploaded by the agent */
.pro-photo{display:flex;gap:var(--space-4);align-items:center;margin:var(--space-1) 0 var(--space-4)}
.pro-photo-img{width:96px;height:96px;border-radius:50%;overflow:hidden;flex:none;background:var(--surface-selected);color:var(--text-link);display:grid;place-items:center;font-size:var(--text-display-size);font-weight:var(--weight-strong);position:relative}
.pro-photo-img img{width:100%;height:100%;object-fit:cover;display:block}
.pro-photo-img.busy:after{content:"";position:absolute;inset:0;background:color-mix(in srgb, var(--surface-page) 55%, transparent);animation:pro-pulse 1s ease-in-out infinite}
@keyframes pro-pulse{50%{opacity:.4}}
.pro-photo-btn{cursor:pointer;position:relative}
.pro-photo-btn:focus-within{outline:var(--focus-ring-w) solid var(--border-focus);outline-offset:var(--space-half)}
.pro-photo p{margin:var(--space-2) 0 0}
.pro-ok{color:var(--text-link);font-weight:var(--weight-strong)}.pro-bad{color:var(--danger-text);font-weight:var(--weight-strong)}
/* Reminders (every Pro page) */
.sr-open .pr-rems,body:has(.fp-modal-layer:not([hidden])) .pr-rems{z-index:var(--z-popover)}   /* a reminder never sits over an open dialog (review D-48) */
.pr-rems{position:fixed;inset-inline-end:var(--space-5);inset-block-end:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);inline-size:min(var(--today-side-w),calc(100vw - var(--space-6)))}
/* a reminder never covers an open sheet, the More sheet or a dialog on a phone (design system pass F20) */
body:has(.fp-sheet-layer:not([hidden])) .pr-rems{display:none}
.pr-rem-card{background:var(--surface-dark);color:var(--text-on-dark);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4);box-shadow:0 var(--space-5) var(--space-12) color-mix(in srgb, var(--primary) 35%, transparent);animation:pr-in .3s cubic-bezier(.22,1,.36,1)}
.pr-rem-card.out{opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
@keyframes pr-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.pr-rem-k{margin:0;font-size:var(--text-meta-size);font-weight:var(--weight-strong);color:var(--text-accent-on-dark);text-transform:uppercase;letter-spacing:.06em}
html[dir=rtl] .pr-rem-k{letter-spacing:0}
.pr-rem-t{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-section-size);font-weight:var(--weight-strong);line-height:1.3}.pr-rem-t small{display:block;font-weight:var(--weight-regular);color:var(--text-on-dark-secondary);font-size:var(--text-table-size);margin-top:var(--space-half)}
.pr-rem-do{margin:0;display:flex;gap:var(--space-2);align-items:center}
.pr-rem-do button,.pr-rem-do a{border:0;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--text-table-size);font-weight:var(--weight-strong);cursor:pointer;background:color-mix(in srgb, var(--surface-page) 12%, transparent);color:var(--text-on-dark)!important;text-decoration:none!important}
.pr-rem-do button[data-a=done]{background:var(--surface-page);color:var(--text-primary)!important}
.pr-rem-do .pr-rem-x{margin-inline-start:auto;background:none;font-size:var(--text-title-size);padding:0 var(--space-2)}
@media (prefers-reduced-motion:reduce){.pr-rem-card{animation:none}}
/* review PE-04 (2 Nov 2026): on a computer the reminders sit over the sidebar's footer, never over the work (the preview
   panel, the person page's right column, the Deals columns); with the sidebar folded they keep to the content's start edge */
@media (min-width:761px){
  .pr-rems{inset-inline-end:auto;inset-inline-start:var(--space-3);bottom:var(--space-3);width:calc(var(--sidebar-w) - var(--space-3) * 2)}
  html:has(.fp-app.is-folded) .pr-rems{inset-inline-start:calc(var(--sidebar-rail-w) + var(--space-3));width:min(320px,calc(100vw - 24px))}
  .pr-rem-card{padding:var(--space-3);position:relative}
  .pr-rem-t{font-size:var(--text-body-size);line-height:var(--text-body-lh);margin:var(--space-1) 0 var(--space-2)}
  .pr-rem-do{flex-wrap:wrap;gap:var(--space-1)}
  .pr-rem-do button,.pr-rem-do a{padding:var(--space-1) var(--space-2)}
  .pr-rem-do .pr-rem-x{position:absolute;inset-block-start:var(--space-1);inset-inline-end:var(--space-1);margin:0;padding:0 var(--space-2)}
  .pr-rem-k{padding-inline-end:var(--space-6)}
}
/* v0.59: colour by stage on lead cards (UI v2: no tint behind the page; data sits on white) */
.pro-lead{border-inline-start:calc(var(--border-w) * 4) solid var(--st,var(--border-strong))!important}
.pro-lead .pro-status select{background:var(--sts,var(--surface-subtle))!important;color:var(--st,var(--status-neutral-text))!important;border-color:transparent!important;font-weight:var(--weight-strong);border-radius:var(--radius-sm)!important}
.pro-lead[data-status=New]{--st:var(--info-solid);--sts:var(--info-bg)}
.pro-lead[data-status=Contacted]{--st:var(--status-violet-dot);--sts:var(--status-violet-bg)}
.pro-lead[data-status=Qualified]{--st:var(--text-link);--sts:var(--success-bg)}
.pro-lead[data-status=Viewing]{--st:var(--accent-strong);--sts:var(--success-bg)}
.pro-lead[data-status=Offer]{--st:var(--warning-mark);--sts:var(--warning-bg)}
.pro-lead[data-status=Won]{--st:var(--text-link);--sts:var(--success-bg)}
.pro-lead[data-status=Lost]{--st:var(--border-control);--sts:var(--surface-subtle)}
.pro-card{box-shadow:0 var(--border-w) var(--focus-ring-w) color-mix(in srgb, var(--primary) 4%, transparent),0 var(--space-2) var(--space-6) color-mix(in srgb, var(--primary) 5%, transparent)}/* v0.59: premium buttons. One height scale (44 / 38 / 32), soft depth with a top highlight, a lift on hover,
   a pressed state, and a clear focus ring. Same look for every primary, secondary and WhatsApp button. */

/* v0.62: lead name opens Client 360 */
.pro-lead-open{color:inherit!important;text-decoration:none!important;background-image:linear-gradient(currentColor,currentColor);background-size:0 var(--space-half);background-repeat:no-repeat;background-position:0 100%;transition:background-size .2s}
.pro-lead-open:hover{background-size:100% var(--space-half);color:var(--success-text)!important}
.pro-lead-open::after{content:"›";margin-inline-start:var(--space-2);color:var(--text-tertiary);font-weight:var(--weight-regular)}
/* the Feinh Pro terms prompt (templates/pro_base.html) */
.lt-back{position:fixed;inset:0;z-index:var(--z-modal);background:var(--surface-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}
.lt-card{background:var(--surface-raised);border-radius:var(--radius-lg);max-width:var(--modal-w);width:100%;padding:var(--space-6);box-shadow:var(--elevation-3);color:var(--text-primary)}
.lt-card h2{font-size:var(--text-section-size);line-height:var(--text-section-lh);font-weight:var(--weight-strong);margin:0 0 var(--space-2)}
.lt-card p{margin:0 0 var(--space-3)}
.lt-card a{color:var(--text-link);font-weight:var(--weight-strong)}
.lt-chk{display:flex;gap:var(--space-2);align-items:flex-start;margin:var(--space-1) 0 var(--space-4);font-weight:var(--weight-strong)}
.lt-chk input{appearance:auto!important;-webkit-appearance:checkbox!important;width:var(--icon-sm)!important;height:var(--icon-sm)!important;flex:none;margin-top:var(--space-half);accent-color:var(--primary)}
.lt-err{color:var(--danger-text);font-size:var(--text-table-size);min-height:0}
.lt-card .pro-btn{width:100%}
.lt-card .pro-btn[disabled]{background:var(--surface-subtle);color:var(--text-disabled);border-color:transparent;cursor:not-allowed}
/* UI v2 button (.pro-btn): one height per size class, the components.css .fp-btn spec */
.pro-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-md);height:auto;padding:0 var(--space-4);border:var(--border-w) solid transparent;border-radius:var(--radius-sm);font:inherit;font-family:var(--font-ui);font-size:var(--text-body-size);line-height:var(--text-body-lh);font-weight:var(--weight-strong);white-space:nowrap;cursor:pointer;text-decoration:none!important;box-shadow:none;transform:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);background:var(--primary);color:var(--text-on-dark)!important;border-color:var(--primary)}
.pro-btn:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
.pro-btn.ghost{background:var(--surface-raised);color:var(--text-primary)!important;border-color:var(--border-strong)}
.pro-btn.ghost:hover{background:var(--surface-subtle)}
.pro-btn.wa{background:var(--whatsapp);color:var(--whatsapp-ink)!important;border-color:var(--whatsapp)}
.pro-btn.wa:hover{background:var(--whatsapp-hover);border-color:var(--whatsapp-hover)}
.pro-btn.pro-delgo{background:var(--danger-solid);color:var(--text-on-dark)!important;border-color:var(--danger-solid)}
.pro-btn.pro-delgo:hover{background:var(--danger-solid-hover);border-color:var(--danger-solid-hover)}
.pro-btn.danger{background:var(--danger-solid);color:var(--text-on-dark)!important;border-color:var(--danger-solid)}
.pro-btn.danger:hover{background:var(--danger-solid-hover);border-color:var(--danger-solid-hover)}
.pro-btn.sm,.pro-btn.xs{min-height:var(--control-sm);padding:0 var(--space-3);font-size:var(--text-table-size);line-height:var(--text-table-lh)}
.pro-btn svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}
.pro-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.pro-btn:disabled,.pro-btn[disabled],.pro-btn[aria-disabled=true]{background:var(--surface-subtle)!important;border-color:transparent!important;color:var(--text-disabled)!important;cursor:not-allowed;opacity:1}
@media (max-width:760px){.pro-btn,.pro-btn.sm,.pro-btn.xs{min-height:var(--control-touch)}}
/* UI v2: every control on a Pro page has a 32px hit area (44px on phones), one height per size class */
.fp-page :is(button,[role=button],select,summary,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range])){min-height:var(--control-sm)}
.fp-page :is(button,[role=button]):not(.fp-btn-icon){min-width:var(--control-sm)}
.fp-page input[type=color]{min-width:var(--control-sm)}
.fp-page :is(.c3-back,.pro-link,.bd-link,.c3-link){display:inline-flex;align-items:center;min-height:var(--control-sm)}
@media (max-width:760px){
  .fp-page :is(button,[role=button],select,summary,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range])){min-height:var(--control-touch)}
  .fp-page :is(button,[role=button]):not(.fp-btn-icon){min-width:var(--control-touch)}
  .fp-page :is(.c3-back,.pro-link,.bd-link,.c3-link,.bd-focus-btn){min-height:var(--control-touch)}
}
/* UI v2: links that act as controls (page nav, card head links) get the same hit area as buttons */
.fp-page :is(nav,.pro-cardhead,.bd-cardhead)>a,.fp-page label:has(>input[type=checkbox]),.fp-page label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm)}
.fp-page .pro-filter{scrollbar-width:none}.fp-page .pro-filter::-webkit-scrollbar{display:none}
.fp-page input[type=color]{min-height:var(--control-sm)}
/* data tables on phones read as one card per row, so nothing scrolls sideways */
@media (max-width:760px){
  .fp-page :is(nav,.pro-cardhead,.bd-cardhead)>a,.fp-page label:has(>input[type=checkbox]),.fp-page label:has(>input[type=radio]),.fp-page input[type=color]{min-height:var(--control-touch)}
  .fp-page input[type=color]{min-width:var(--control-touch)}
  .fp-page :is(.bd-tablewrap,.pro-tablewrap){overflow:visible}
  .fp-page :is(.bd-tablewrap,.pro-tablewrap) :is(table,thead,tbody,tr,th,td){display:block;width:auto!important;min-width:0!important}
  .fp-page :is(.bd-tablewrap,.pro-tablewrap) table{min-width:0!important}
  .fp-page :is(.bd-tablewrap,.pro-tablewrap) thead{display:none}
  .fp-page :is(.bd-tablewrap,.pro-tablewrap) tr{padding:var(--space-2) 0;border-bottom:var(--border-w) solid var(--border-subtle)}
  .fp-page :is(.bd-tablewrap,.pro-tablewrap) td{border:0!important;padding:var(--space-half) 0!important;white-space:normal;overflow-wrap:anywhere}
}
/* 2 Nov 2026 (layout check, 768px): between phone and laptop a wide data table reads as one card per row too */
@media (min-width:761px) and (max-width:1023px){
  .fp-page .pro-tablewrap{overflow:visible}
  .fp-page .pro-tablewrap :is(table,thead,tbody,tr,th,td){display:block;width:auto!important;min-width:0!important}
  .fp-page .pro-tablewrap thead{display:none}
  .fp-page .pro-tablewrap tr{padding:var(--space-2) 0;border-bottom:var(--border-w) solid var(--border-subtle)}
  .fp-page .pro-tablewrap td{border:0!important;padding:var(--space-half) 0!important;white-space:normal;overflow-wrap:anywhere}
}
.fp-page li>a:only-child:not([class]){display:inline-flex;align-items:center;min-height:var(--control-sm)}   /* plain text links only: a styled card link (.op-card...) keeps its own layout */
@media (max-width:760px){.fp-page li>a:only-child:not([class]){min-height:var(--control-touch)}}
.pr-rem-do .pr-rem-x{min-inline-size:var(--control-sm);min-block-size:var(--control-sm)}
/* v0.81 layout check: Overview to-do links and the reminder card's buttons are real tap targets */
.pro-todo li>a{display:inline-flex;align-items:center;min-block-size:var(--control-sm)}
@media (max-width:760px){.pro-todo li>a{min-block-size:var(--control-touch)}.pr-rem-do button,.pr-rem-do a,.pr-rem-do .pr-rem-x{min-block-size:var(--control-touch);min-inline-size:var(--control-touch)}}
/* reminder cards never cover the page: the page scrolls further by their height */
.fp-page,.fp-main>main{padding-block-end:calc(var(--rem-room,0px) + var(--fp-page-pad-end,0px))}
@media (max-width:760px){.pr-rems{bottom:calc(var(--phone-tabbar-h) + var(--space-2));inset-inline:var(--space-3);width:auto}}

/* R3: real checkboxes and a designed upload button on the Intro page */
.pro-toggles input[type=checkbox],.pro-logo-box input[type=checkbox]{-webkit-appearance:checkbox;appearance:auto;inline-size:18px;block-size:18px;width:18px;height:18px;min-width:18px;max-width:18px;aspect-ratio:1;min-height:0;padding:0;margin:0;border:0;box-shadow:none;background:none;accent-color:var(--accent-strong);flex:none}
.pro-file{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.pro-upload{cursor:pointer;inline-size:auto}
.pro-file:focus-visible + .pro-upload,.pro-upload:focus-within{outline:var(--focus-ring-w) solid var(--focus-ring);outline-offset:var(--focus-ring-w)}
.pro-logo-box{position:relative;display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}

/* R3: on a phone one reminder shows at a time (the others wait behind it, counted), in a compact card */
@media (max-width:760px){
  .pr-rem-card:not(:first-child){display:none}
  .pr-rem-card{padding:var(--space-3)}
  .pr-rem-card .pr-rem-t{font-size:var(--text-body-size);line-height:var(--text-body-lh);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  [data-more]:not([data-more=""])::before{content:attr(data-more);position:absolute;inset-block-start:calc(var(--space-2) * -1);inset-inline-end:var(--space-3);background:var(--accent-strong);color:var(--text-on-dark);border-radius:var(--radius-full);padding:0 var(--space-2);font-size:var(--text-meta-size);line-height:var(--text-meta-lh);z-index:1}
}
.pr-rem-t{overflow-wrap:anywhere;word-break:break-word;min-width:0;text-overflow:ellipsis}
/* v1.3 highlight of Tools in the sidebar removed (review MA-71, 2 Nov 2026): it made two items look selected under More */
.fp-nav-new { background: var(--accent-strong); color: var(--text-on-dark); }
/* v1.12: a button that is a link keeps the button's text colour; ".pro a" made "+ Add a listing" dark green on navy */
.pro a.fp-btn-primary, .pro a.fp-btn-primary:visited, .pro a.fp-btn-primary:hover, .pro a.fp-btn-primary:focus-visible { color: var(--text-on-dark); }
.pro a.fp-btn-secondary, .pro a.fp-btn-secondary:visited, .pro a.fp-btn-secondary:hover { color: var(--text-primary); }
/* v1.14 writing everywhere (fp-write.js): the mic in the field you are in, and the formatting bar for notes and emails */
.fpw-chip { position: absolute; z-index: var(--z-dropdown); display: inline-flex; align-items: center; gap: var(--space-half); padding: var(--space-half); border: var(--border-w) solid var(--border-default); border-radius: var(--radius-full); background: var(--surface-raised); box-shadow: var(--elevation-2); }
.fpw-chip[hidden] { display: none; }
.fpw-chip button { display: inline-grid; place-items: center; min-inline-size: var(--space-6); block-size: var(--space-6); padding: 0 var(--space-1); border: none; border-radius: var(--radius-full); background: transparent; color: var(--text-secondary); font: inherit; font-size: var(--text-meta-size); font-weight: var(--weight-strong); cursor: pointer; }
.fpw-chip button:hover { background: var(--surface-sunken); color: var(--text-primary); }
.fpw-chip button:focus-visible { outline: var(--focus-ring-w) solid var(--primary); outline-offset: var(--space-half); }
.fpw-chip svg { inline-size: var(--space-4); block-size: var(--space-4); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.fpw-chip.is-rec .fpw-mic { background: var(--danger-text); color: var(--text-on-dark); animation: fpw-pulse 1.2s ease-in-out infinite; }
@keyframes fpw-pulse { 50% { opacity: .65; } }
@media (prefers-reduced-motion: reduce) { .fpw-chip.is-rec .fpw-mic { animation: none; } }
.fpw-toast { position: fixed; inset-block-end: var(--space-6); inset-inline-start: 50%; transform: translateX(-50%); z-index: var(--z-toast); padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); background: var(--text-primary); color: var(--text-on-dark); font-size: var(--text-table-size); }
.fpw-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); padding: var(--space-1); border: var(--border-w) solid var(--border-default); border-block-end: none; border-start-start-radius: var(--radius-sm); border-start-end-radius: var(--radius-sm); background: var(--surface-sunken); }
.fpw-bar > button, .fpw-cols button { min-inline-size: var(--space-7); block-size: var(--space-7); border: var(--border-w) solid transparent; border-radius: var(--radius-xs); background: transparent; color: var(--text-primary); font: inherit; font-size: var(--text-table-size); cursor: pointer; }
.fpw-bar > button:hover, .fpw-bar > button[aria-pressed=true] { background: var(--surface-raised); border-color: var(--border-default); }
.fpw-bar button:focus-visible, .fpw-bar select:focus-visible { outline: var(--focus-ring-w) solid var(--primary); outline-offset: var(--space-half); }
.fpw-bar svg { inline-size: var(--space-4); block-size: var(--space-4); fill: none; stroke: currentColor; stroke-width: 1.8; vertical-align: middle; }
.fpw-size select { block-size: var(--space-7); border: var(--border-w) solid var(--border-control); border-radius: var(--radius-xs); background: var(--surface-raised); font: inherit; font-size: var(--text-meta-size); color: var(--text-primary); }
.fpw-cols { display: inline-flex; gap: var(--space-half); padding-inline: var(--space-1); }
.fpw-cols button { min-inline-size: var(--space-5); inline-size: var(--space-5); block-size: var(--space-5); border-radius: var(--radius-full); background: var(--c); border-color: var(--surface-raised); box-shadow: 0 0 0 var(--border-w) var(--border-default); }
.fpw-hint { color: var(--text-tertiary); font-size: var(--text-meta-size); padding-inline: var(--space-2); }
.fpw-sr { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.fpw-ed { display: block; inline-size: 100%; box-sizing: border-box; padding: var(--space-2) var(--space-3); border: var(--border-w) solid var(--border-control); border-end-start-radius: var(--radius-sm); border-end-end-radius: var(--radius-sm); background: var(--surface-raised); color: var(--text-primary); font: inherit; line-height: 1.5; overflow: auto; max-block-size: 22rem; }
.fpw-ed:focus { outline: none; box-shadow: var(--focus-ring); }
.fpw-ed.is-empty::before { content: attr(data-ph); color: var(--text-tertiary); pointer-events: none; }
.fpw-ed img { max-inline-size: 100%; block-size: auto; border-radius: var(--radius-sm); vertical-align: middle; }   /* v1.18 pictures in notes */
.fpw-ext { display: inline-flex; align-items: center; gap: var(--space-1); }
.fpw-ext select { block-size: var(--space-7); border: var(--border-w) solid var(--border-control); border-radius: var(--radius-xs); background: var(--surface-raised); font: inherit; font-size: var(--text-meta-size); }
.fpw-ext .fpw-sw { inline-size: var(--space-4); min-inline-size: var(--space-4); block-size: var(--space-4); padding: 0; border-radius: var(--radius-full); background: var(--c); border: var(--border-w) solid var(--surface-raised); box-shadow: 0 0 0 var(--border-w) var(--border-default); }
/* inside the record's composer, its own button styles must not resize the swatches or hide the size names */
.fpw-bar .fpw-cols button, .fpw-bar .fpw-cols button:hover { inline-size: var(--space-5); min-inline-size: var(--space-5); block-size: var(--space-5); min-block-size: 0; padding: 0; background: var(--c); border-radius: var(--radius-full); }
.fpw-bar .fpw-size select { min-inline-size: 6.5rem; padding-inline: var(--space-2); color: var(--text-primary); appearance: auto; }
.fpw-sizes { display: inline-flex; align-items: baseline; gap: var(--space-half); padding-inline: var(--space-1); }
.fpw-bar .fpw-sizes button { min-inline-size: var(--space-6) !important; block-size: var(--space-7); padding: 0; border: var(--border-w) solid transparent; border-radius: var(--radius-xs); background: transparent; color: var(--text-primary); font-weight: var(--weight-strong); cursor: pointer; }
.fpw-bar .fpw-sizes button:hover { background: var(--surface-raised); border-color: var(--border-default); }
.fpw-bar .fpw-cols button { inline-size: var(--space-5) !important; min-inline-size: var(--space-5) !important; block-size: var(--space-5) !important; min-block-size: var(--space-5) !important; }
/* v1.14: an amount said in words under its box (fp-input.js) */
.fpn-say { display: block; min-block-size: var(--text-meta-lh); margin-block-start: var(--space-half); color: var(--text-tertiary); font-size: var(--text-meta-size); line-height: var(--text-meta-lh); }
.fpn-say:empty { min-block-size: 0; }

/* v1.15 field rules (fp-input.js, fp-form.js): currency picker inside money boxes, messages under fields, tips, drafts */
.fpn-wrap { position: relative; display: block; inline-size: 100%; }
.fpn-wrap > input { inline-size: 100%; padding-inline-end: calc(var(--space-16) + var(--space-5)) !important; }
html[dir="rtl"] .fpn-wrap > input { padding-inline-end: var(--space-3) !important; padding-inline-start: calc(var(--space-16) + var(--space-5)) !important; }
.fpn-wrap > select.fpn-cur { position: absolute !important; inset-block: var(--space-half) !important; right: var(--space-half); left: auto; inline-size: calc(var(--space-16) + var(--space-3)) !important; min-inline-size: 0 !important; max-inline-size: none; block-size: auto !important; min-block-size: 0 !important; margin: 0 !important; padding-block: 0 !important; padding-inline: var(--space-2) var(--space-1) !important; border: none !important; border-inline-start: var(--border-w) solid var(--border-subtle) !important; border-radius: var(--radius-xs) !important; background-color: transparent !important; color: var(--text-secondary); font: inherit; font-size: var(--text-meta-size) !important; font-weight: var(--weight-strong); box-shadow: none !important; cursor: pointer; }
html[dir="rtl"] .fpn-wrap > select.fpn-cur { right: auto; left: var(--space-half); border-inline-start: none !important; border-inline-end: var(--border-w) solid var(--border-subtle) !important; }
.fpn-wrap > select.fpn-cur:hover { color: var(--text-primary); background-color: var(--surface-sunken) !important; }
.fpn-cur:focus-visible { outline: var(--focus-ring-w) solid var(--border-focus); }
.fpn-foreign + .fpn-cur, .fpn-foreign ~ .fpn-cur { color: var(--text-link); }
.fpn-fx:empty { display: none; }
.fpf-msg { display: block; margin-block-start: var(--space-half); color: var(--danger-text); font-size: var(--text-meta-size); line-height: var(--text-meta-lh); }
.fpf-msg[hidden] { display: none; }
.fpf-msg.fpf-hint { color: var(--text-secondary); }
input.fpf-bad, select.fpf-bad, textarea.fpf-bad { border-color: var(--danger-text); }
.fpf-use { padding: 0; border: none; background: none; color: var(--text-link); font: inherit; font-weight: var(--weight-strong); text-decoration: underline; cursor: pointer; }
button.fpf-tip { display: inline-grid !important; flex: none; place-items: center; inline-size: var(--space-4); block-size: var(--space-4); margin-inline: var(--space-1); padding: 0; border: var(--border-w) solid var(--border-strong); border-radius: var(--radius-full); background: var(--surface-raised); color: var(--text-secondary); font: inherit; font-size: var(--text-fine-size); font-style: italic; font-weight: var(--weight-strong); line-height: 1; vertical-align: middle; cursor: help; }
button.fpf-tip:hover, button.fpf-tip[aria-expanded="true"] { border-color: var(--text-link); color: var(--text-link); }
.fpf-pop { position: absolute; z-index: var(--z-tooltip); max-inline-size: min(var(--measure-narrow), calc(100vw - var(--space-4))); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); background: var(--surface-dark); color: var(--text-on-dark); box-shadow: var(--elevation-2); font-size: var(--text-meta-size); line-height: var(--text-meta-lh); }
.fpf-draft { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-3); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); background: var(--status-green-bg); color: var(--text-primary); font-size: var(--text-meta-size); }
.fpf-lt { display: inline; }
button.fpf-tip { min-block-size: 0 !important; min-inline-size: 0 !important; box-shadow: none !important; }
/* v1.19 Start calling bar (fp-callq.js) */
.fp-callq { position: fixed; inset-block-end: var(--space-4); inset-inline-start: 50%; transform: translateX(-50%); z-index: var(--z-sticky); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); border-radius: var(--radius-lg); background: var(--surface-dark); color: var(--text-on-dark); box-shadow: var(--elevation-3); }
html[dir="rtl"] .fp-callq { transform: translateX(50%); }
/* review #3 (3 Nov 2026): the reminder card is solid and its buttons read as buttons (WCAG 1.4.11, 3:1 edge on navy);
   while a message composer is under it, or being typed in, the reminders move to the top of the screen (pro_base.html dodge) */
.pr-rem-card{opacity:1;border:var(--border-w) solid var(--border-on-dark)}
.pr-rem-do button:not([data-a=done]):not(.pr-rem-x),.pr-rem-do a{background:color-mix(in srgb, var(--text-on-dark) 16%, var(--surface-dark));box-shadow:inset 0 0 0 var(--border-w) var(--text-on-dark-secondary)}
.pr-rem-do button:not([data-a=done]):not(.pr-rem-x):hover,.pr-rem-do a:hover{background:color-mix(in srgb, var(--text-on-dark) 26%, var(--surface-dark))}
.pr-rems.is-top{inset-block-end:auto;bottom:auto;inset-block-start:calc(var(--topbar-h) + var(--space-3))}
@media (max-width:760px){.pr-rems.is-top{inset-block-start:calc(var(--phone-topbar-h) + var(--space-2))}}
