/* One desktop navigation component, independent of the workspace. */
:root{--parade-nav-height:44px;--parade-nav-button-height:38px;--parade-nav-inset:2px;--parade-nav-padding-inline:14px;--parade-nav-font-size:14px;--parade-nav-letter-spacing:-.1px;--parade-nav-active-fill:linear-gradient(145deg,#485634,#28321d)}
@media(min-width:761px){
 :is(#app-preview>.app-bar .app-nav,.broker-access-page .b-header>.b-nav).p-navigation{display:flex;align-items:center;height:var(--parade-nav-height);min-height:var(--parade-nav-height);padding:var(--parade-nav-inset);gap:0;box-sizing:border-box;border:1px solid #fff;border-radius:999px;background:#ffffffbb;box-shadow:none;font:400 var(--parade-nav-font-size)/1.55 Manrope,Arial,sans-serif}
 :is(#app-preview>.app-bar .app-nav,.broker-access-page .b-header>.b-nav).p-navigation>button{position:relative;display:flex;align-items:center;justify-content:center;height:var(--parade-nav-button-height);min-height:var(--parade-nav-button-height);padding:6px var(--parade-nav-padding-inline);border:0;border-radius:999px;box-sizing:border-box;font:500 var(--parade-nav-font-size) Manrope,sans-serif;line-height:normal;letter-spacing:var(--parade-nav-letter-spacing);white-space:nowrap;color:#13180f;background:transparent;cursor:pointer}
 :is(#app-preview>.app-bar .app-nav,.broker-access-page .b-header>.b-nav).p-navigation>button[aria-current=page]{background:var(--parade-nav-active-fill);color:#fff}
 :is(#app-preview>.app-bar .app-nav,.broker-access-page .b-header>.b-nav).p-navigation .p-nav-label{font:inherit;letter-spacing:inherit;line-height:inherit}
 .p-navigation[data-nav-variant=primary]>.p-nav-capsule{border-radius:999px}
 .p-navigation[data-nav-variant=primary] .p-nav-icon{display:none}
}
.p-navigation[data-nav-variant=bottom] .p-nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.p-nav-motion{isolation:isolate}.p-nav-motion:not(.b-bottom-nav){position:relative}
.p-nav-motion>.p-nav-capsule{position:absolute;z-index:0;pointer-events:none;border-radius:999px;background:var(--parade-nav-active-fill);transform-origin:left center;box-shadow:inset 0 1px 0 #ffffff24}
.p-nav-motion>button{position:relative;z-index:1}
:is(#app-preview .app-nav,.broker-access-page .b-nav,.broker-access-page .b-bottom-nav).p-nav-motion>button[aria-current=page]{background:transparent!important;box-shadow:none}
.broker-access-page .b-bottom-nav.p-nav-motion>.p-nav-capsule{background:#f1f4e9;border-radius:50%;box-shadow:none}
@media(max-width:600px){#app-preview .app-nav.p-nav-motion{position:fixed}body.library-mode #app-preview .app-nav.p-nav-motion{position:relative}#app-preview .app-nav.p-nav-motion>.p-nav-capsule{background:#f1f4e9;box-shadow:none}}
@media(prefers-reduced-motion:no-preference){.p-navigation>button{transition:color 180ms ease,background-color 180ms ease}}

/* Modal shell: only the middle section scrolls, in both workspaces. */
dialog.p-dialog{padding:0;overflow:hidden;max-height:calc(100dvh - 32px);box-sizing:border-box;background:#f5f6f0;border:1px solid #fff;border-radius:24px}
dialog.p-dialog[open]{display:flex;flex-direction:column}
dialog.p-dialog .p-dialog-frame{display:flex;flex-direction:column;min-height:0;max-height:inherit;overflow:hidden;padding:0;margin:0;width:100%}
dialog.p-dialog .p-dialog-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px 18px;margin:0;border-bottom:1px solid #fff;background:#f5f6f0}
dialog.p-dialog .p-dialog-header h2{margin:0;font-weight:400;line-height:1.25;letter-spacing:-.7px}
dialog.p-dialog .p-dialog-header button{flex-shrink:0}
dialog.p-dialog .p-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 26px 24px;scroll-padding-block:20px;scrollbar-gutter:stable}
dialog.p-dialog .p-dialog-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:16px 26px;margin:0;border-top:1px solid #fff;background:#f5f6f0}
dialog.p-dialog .p-dialog-body>:first-child{margin-top:0}
dialog.p-dialog .p-dialog-body>:last-child{margin-bottom:0}
#client-dialog.p-dialog{padding:0;max-height:calc(100dvh - 32px)}
#broker-onboarding .bo-header{border-bottom:1px solid #fff;padding-bottom:16px}
#broker-onboarding .bo-footer{border-top:1px solid #fff}
html:has(dialog[open]){overflow:hidden;scrollbar-gutter:stable}
@media(max-width:760px){
 dialog.p-dialog{max-height:calc(100dvh - 24px)}
 #client-dialog.p-dialog{max-height:calc(100dvh - 24px)}
 dialog.p-dialog .p-dialog-header{padding:18px 18px 14px}
 dialog.p-dialog .p-dialog-body{padding:18px 16px 20px}
 dialog.p-dialog .p-dialog-footer{padding:12px 16px max(14px,env(safe-area-inset-bottom));gap:8px}
 dialog.p-dialog .p-dialog-footer>button{width:100%;justify-content:center;flex:1 0 100%}
}

/* Shared modal content surface; fixed header and footer keep their sage tint. */
dialog.p-dialog .p-dialog-body,dialog .b-modal-body,#broker-onboarding .bo-content{background:#fff}

/* Standard centred dialog variant, shared by lot editing and presentation follow-up. */
dialog.p-dialog.p-dialog-standard{position:fixed;inset:0;margin:auto;width:min(650px,calc(100vw - 32px));height:fit-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border:1px solid #fff;border-radius:24px;box-shadow:0 24px 80px #26301c26}
dialog.p-dialog.p-dialog-standard .p-dialog-header h2{font-size:26px;font-weight:400;letter-spacing:-.7px}
dialog.p-dialog.p-dialog-standard .p-dialog-header .eyebrow{font-size:12px;line-height:1.5;letter-spacing:0;margin:0 0 6px;color:#656a5e}
dialog.p-dialog.p-dialog-standard .p-dialog-header .icon-button{width:44px;height:44px;min-height:44px;border:1px solid #fff;background:#ffffffb8}
dialog.p-dialog.p-dialog-standard .p-dialog-footer{margin:0;padding:16px 26px;border-top:1px solid #fff;box-shadow:none}
dialog.p-dialog.p-dialog-standard .p-dialog-body{background:#fff}
@media(max-width:600px){dialog.p-dialog.p-dialog-standard{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}dialog.p-dialog.p-dialog-standard .p-dialog-header h2{font-size:23px}dialog.p-dialog.p-dialog-standard .p-dialog-footer{padding:12px 16px max(14px,env(safe-area-inset-bottom))}}

/* Shared circular indicator, from sage to deep olive. */
.p-progress-ring{position:relative;width:106px;height:106px;flex-shrink:0}.p-progress-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.p-progress-ring circle{fill:none;stroke-width:8;stroke-linecap:round}.p-progress-ring .p-ring-value{fill:none;stroke-width:8;stroke-linecap:butt}.p-progress-ring .p-ring-track{stroke:var(--parade-chart-track,#E7EBDF)}.p-progress-ring>strong{position:absolute;inset:0;display:grid;place-items:center;font:400 22px/1 Manrope,sans-serif;letter-spacing:-.7px;color:#354126}

/* Shared source attribution across the stud, owner and broker workspaces. */
.p-source-credit{display:inline-flex;align-items:center;gap:12px;max-width:100%;vertical-align:middle;line-height:1.6;text-align:left}.p-source-credit>.p-source-credit-logo{display:block;width:48px;height:48px;min-width:48px;object-fit:contain;flex:0 0 48px;mix-blend-mode:multiply}.p-source-credit>span{min-width:0}.p-source-credit:only-child{vertical-align:top}a:has(>.p-source-credit){text-decoration:none}a:has(>.p-source-credit):hover .p-source-credit>span{text-decoration:underline;text-underline-offset:3px}

/* The same broker identity is used in request cards, timelines and the directory. */
#app-preview .contact-avatar:is(.p-broker-avatar,.p-owner-avatar,.p-user-avatar){display:grid;place-items:center;box-sizing:border-box;width:40px;height:40px;flex:0 0 40px;border:2px solid #fff;border-radius:50%;overflow:hidden;font:500 13px/1 Manrope,sans-serif;letter-spacing:0;color:#29341B}
#app-preview .contact-avatar:is(.p-broker-avatar,.p-owner-avatar,.p-user-avatar).large{width:54px;height:54px;flex-basis:54px;font-size:16px}
#app-preview .contact-avatar:is(.p-broker-avatar,.p-owner-avatar,.p-user-avatar) img{display:block;width:100%;height:100%;object-fit:cover}
#app-preview .broker-head:has(>.p-broker-avatar){gap:12px;align-items:center}
#app-preview .broker-head>.p-broker-avatar+div{min-width:0}

/* One table header component: a neutral surface, shared type and spacing. */
:root{--parade-table-header-bg:#F3F2F0;--parade-table-header-ink:#70706C;--parade-table-header-radius:12px;--parade-table-header-font-size:12px}
#app-preview div.p-table-head,#app-preview thead.p-table-head th{background:var(--parade-table-header-bg);color:var(--parade-table-header-ink);font:500 var(--parade-table-header-font-size)/1.5 Manrope,sans-serif;letter-spacing:.03em;text-transform:uppercase;border:0;box-sizing:border-box;min-height:44px}
#app-preview div.p-table-head{border-radius:var(--parade-table-header-radius);padding-block:12px}
#app-preview div.p-table-head>[role=columnheader]{font:inherit;color:inherit;letter-spacing:inherit}
#app-preview thead.p-table-head th{height:44px;padding-block:12px}
#app-preview thead.p-table-head th:first-child{border-top-left-radius:var(--parade-table-header-radius);border-bottom-left-radius:var(--parade-table-header-radius)}
#app-preview thead.p-table-head th:last-child{border-top-right-radius:var(--parade-table-header-radius);border-bottom-right-radius:var(--parade-table-header-radius)}
#app-preview :is(.sales-table-footer,.directory-table-footer){background:var(--parade-table-header-bg);color:var(--parade-table-header-ink)}

/* Shared table-row interaction: the surface floats inside the row, clear of separators. */
:root{--parade-table-row-radius:12px;--parade-table-row-gap-y:4px;--parade-table-row-gap-x:0px;--parade-table-row-selected:#E3E8D7}
#app-preview .app-inner :is(.sale-row,.sale-lots-table .sale-lot-row,.request-lot-row,button.visit-row,.ow-visit,.ow-result-row,.ow-market-link,.directory-contact-row,.p-table-row,.hh-table tbody tr[data-history-sale],.hh-table tbody tr[data-owner-sale-horse]){--p-row-fill:transparent;--p-row-focus:transparent;background:transparent;outline:none}
#app-preview .app-inner :is(.sale-row,.sale-lots-table .sale-lot-row,.request-lot-row,button.visit-row,.ow-visit,.ow-result-row,.ow-market-link,.directory-contact-row,.p-table-row,.hh-table tbody tr[data-history-sale],.hh-table tbody tr[data-owner-sale-horse]):is(:hover,:focus-within){--p-row-fill:var(--parade-chart-track,#E3E7DB);background:transparent}
#app-preview .app-inner :is(.sale-row,.sale-lots-table .sale-lot-row,.request-lot-row,button.visit-row,.ow-visit,.ow-result-row,.ow-market-link,.directory-contact-row,.p-table-row,.hh-table tbody tr[data-history-sale],.hh-table tbody tr[data-owner-sale-horse]):is(.selected,[aria-selected=true]){--p-row-fill:var(--parade-table-row-selected);background:transparent}
#app-preview .app-inner :is(.sale-row,.sale-lots-table .sale-lot-row,.request-lot-row,button.visit-row,.ow-visit,.ow-result-row,.ow-market-link,.directory-contact-row,.p-table-row,.hh-table tbody tr[data-history-sale],.hh-table tbody tr[data-owner-sale-horse]):focus-visible{--p-row-focus:#A6B583}
#app-preview .app-inner :is(.sale-row,.sale-lots-table .sale-lot-row,.request-lot-row,button.visit-row,.ow-visit,.ow-result-row,.ow-market-link){position:relative;isolation:isolate}
#app-preview .app-inner :is(.sale-row,.sale-lots-table .sale-lot-row,.request-lot-row,button.visit-row,.ow-visit,.ow-result-row,.ow-market-link)::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:var(--parade-table-row-gap-y) var(--parade-table-row-gap-x);background:var(--p-row-fill);border:1px solid var(--p-row-focus);border-radius:var(--parade-table-row-radius);transition:background-color 140ms ease}
#app-preview .app-inner :is(.directory-contact-row,.p-table-row,.hh-table tbody tr[data-history-sale],.hh-table tbody tr[data-owner-sale-horse])>td{position:relative;isolation:isolate;background:transparent}
#app-preview .app-inner :is(.directory-contact-row,.p-table-row,.hh-table tbody tr[data-history-sale],.hh-table tbody tr[data-owner-sale-horse])>td::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:var(--parade-table-row-gap-y) 0;background:var(--p-row-fill);border-block:1px solid var(--p-row-focus);transition:background-color 140ms ease}
#app-preview .app-inner :is(.directory-contact-row,.p-table-row,.hh-table tbody tr[data-history-sale],.hh-table tbody tr[data-owner-sale-horse])>td:first-child::before{left:var(--parade-table-row-gap-x);border-left:1px solid var(--p-row-focus);border-radius:var(--parade-table-row-radius) 0 0 var(--parade-table-row-radius)}
#app-preview .app-inner :is(.directory-contact-row,.p-table-row,.hh-table tbody tr[data-history-sale],.hh-table tbody tr[data-owner-sale-horse])>td:last-child::before{right:var(--parade-table-row-gap-x);border-right:1px solid var(--p-row-focus);border-radius:0 var(--parade-table-row-radius) var(--parade-table-row-radius) 0}
@media(prefers-reduced-motion:reduce){#app-preview .app-inner :is(.sale-row,.sale-lot-row,.request-lot-row,button.visit-row,.ow-visit,.ow-result-row,.ow-market-link,.directory-contact-row>td,.hh-table tbody td)::before{transition:none}}

/* List entries inside cards share the table row's inset surface and text clearance. */
#app-preview .app-inner :is(.request-lot-row,button.visit-row,.ow-visit,.ow-result-row,.ow-market-link){box-sizing:border-box;padding-inline:10px}

/* The final record ends cleanly before the table pagination or card edge. */
#app-preview .app-inner :is(.sales-table>.sale-row,.sale-lots-table>.sale-lot-row):last-child{border-bottom:0}
#app-preview .app-inner :is(.directory-contact-table,.hh-table)>tbody>tr:last-child>td{border-bottom:0}

/* Shared status badge: identical geometry in tables and card headings. */
:is(#app-preview,.broker-access-page) .p-status-badge.dot-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:4px;box-sizing:border-box;min-height:26px;height:auto;width:max-content;max-width:100%;padding:4px 8px;border:0;border-radius:999px;font-family:inherit;font-size:var(--parade-text-badge,12px);font-weight:500;line-height:18px;letter-spacing:normal;white-space:nowrap;vertical-align:middle;box-shadow:none}
:is(#app-preview,.broker-access-page) .p-status-badge.dot-badge:before{content:'';display:block;flex:0 0 4px;width:4px;height:4px;border-radius:50%;background:currentColor}
:is(#app-preview,.broker-access-page) .p-status-badge[data-status-tone=neutral]{background:#F0F0ED;color:#656A5E}
:is(#app-preview,.broker-access-page) .p-status-badge[data-status-tone=olive]{background:#E4EAD8;color:#485634}
:is(#app-preview,.broker-access-page) .p-status-badge[data-status-tone=copper]{background:var(--pd-color-accentSoft);color:var(--pd-color-accentText)}
:is(#app-preview,.broker-access-page) .p-status-badge[data-status-tone=live]{background:#485634;color:#FFF}

/* Native table base, using the shared header, row surfaces and pagination. */
#app-preview .p-data-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font:400 14px/1.5 Manrope,sans-serif}
#app-preview .p-data-table :is(th,td){padding:12px 10px;vertical-align:middle}
#app-preview .p-data-table tbody td{border-bottom:1px solid #E1E5D9}
#app-preview .p-data-table tbody tr:last-child td{border-bottom:0}
#app-preview .p-data-table .p-table-row{cursor:pointer}

/* Compact shared segmented choice and pill search, available inside dialogs too. */
.segmented.p-segmented{display:inline-flex;align-items:center;gap:0;height:48px;min-height:48px;padding:2px;box-sizing:border-box;border:1px solid var(--pd-color-line,#E1E4DB);border-radius:999px;background:var(--pd-color-panel,#F3F3EF);box-shadow:none}
.segmented.p-segmented>button{display:inline-flex;align-items:center;justify-content:center;height:42px;min-height:42px;margin:0;padding:6px 16px;border:0;border-radius:999px;box-sizing:border-box;background:transparent;color:var(--pd-color-ink);font:500 var(--parade-text-control,14px)/1.3 Manrope,sans-serif;white-space:nowrap;box-shadow:none;cursor:pointer}
.segmented.p-segmented>button[aria-pressed=true]{background:var(--parade-nav-active-fill,linear-gradient(145deg,#485634,#28321d));color:#fff;border:0;box-shadow:none}
.segmented.p-segmented>button:not([aria-pressed=true]):hover{background:var(--pd-color-selected,#E5EAD9);color:var(--pd-color-ink)}
.segmented.p-segmented>button:focus-visible{outline:2px solid var(--pd-color-focus);outline-offset:-2px}
.p-search-field.search-field,dialog.p-dialog label.p-search-field{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%;height:48px;min-height:48px;padding:0 16px;margin:0 0 16px;box-sizing:border-box;border:1px solid var(--pd-color-line,#E1E4DB);border-radius:999px;background:var(--pd-color-panel,#F3F3EF);color:var(--pd-color-ink);box-shadow:none}
.p-search-field>.p-search-glyph{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;margin:0;line-height:1;color:var(--pd-color-muted)}
.p-search-field .p-search-glyph .ph-light{font-size:20px;line-height:1}
.p-search-field.search-field>input,dialog.p-dialog label.p-search-field>input{display:block;flex:1;min-width:0;width:100%;height:46px;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--pd-color-ink);box-shadow:none;font:400 var(--parade-text-control,14px)/1.4 Manrope,sans-serif;outline:0}
.p-search-field.search-field:focus-within,dialog.p-dialog label.p-search-field:focus-within{outline:2px solid var(--pd-color-focus);outline-offset:-2px;background:#fff}
.p-search-field.search-field>input:focus-visible,dialog.p-dialog label.p-search-field>input:focus-visible{outline:0;border:0;box-shadow:none}
.p-search-field input::placeholder{color:var(--pd-color-muted);opacity:1}

/* The search primitive owns its outline; its nested input has no second border. */
.p-search-field.search-field>input,dialog.p-dialog label.p-search-field>input{border:0!important;box-shadow:none!important;background:transparent!important}

/* Shared request-card shell for the stud board and broker requests. */
.p-request-card{min-width:0;align-self:start;overflow:hidden;border:1px solid #fff;border-radius:24px;background:#FFFFFFCC;box-shadow:none}
.p-request-card>.broker-head{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid #E2E5DA}
.p-request-card>.broker-head>div{flex:1;min-width:0}
.p-request-card>.broker-head strong{display:block;font:500 16px/1.45 Manrope,sans-serif}
.p-request-card>.broker-head small{display:block;font:400 13px/1.55 Manrope,sans-serif;color:#656A5E}
.p-request-card>.request-list{padding:8px 18px;min-height:0;max-height:330px;overflow-y:auto}
.p-request-card.request-group-completed{background:#E8E9E6;border-color:#E0E2DC;box-shadow:none}
.p-request-card.request-group-completed>.broker-head{border-bottom-color:#D4D7CF}

/* Upcoming sale badges keep the photo glass surface, with the copper accent. */
:is(#app-preview,.broker-access-page) :is(.photo-tag,.b-glass-tag)[data-sale-status="upcoming"]{background:color-mix(in srgb,var(--pd-color-accent) 82%,transparent);color:#FFFFFF;border-color:#FFFFFF77}
