.top{max-width:1480px;padding:8px 20px;min-height:56px;gap:12px;flex-wrap:nowrap}
.brand{flex:none}
.nav{align-items:center;gap:2px;flex:1 1 auto;flex-wrap:nowrap;white-space:nowrap}
.nav a{padding:8px}
.admin-menu{position:relative;flex:none}
.admin-menu>summary{cursor:pointer;color:#dff5e7;padding:8px;border-radius:7px;list-style:none;user-select:none}
.admin-menu>summary::-webkit-details-marker{display:none}
.admin-menu>summary:hover,.admin-menu[open]>summary,.admin-menu.active>summary{background:#214a38}
.admin-menu-dropdown{position:absolute;z-index:20;top:calc(100% + 8px);right:0;width:220px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px;box-shadow:0 10px 30px #0003;white-space:normal}
.nav .admin-menu-dropdown a{display:block;color:var(--ink);padding:8px 9px;border-radius:5px}
.nav .admin-menu-dropdown a:hover{background:#f0fdf4}
.admin-menu-group{display:block;padding:7px 9px 3px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none;white-space:nowrap}
.header-actions .user{margin-left:0}
.user form{margin:0}
.current-crm-summary{margin-bottom:16px}
.current-crm-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px}
.current-crm-totals>div{display:grid;gap:3px}
.current-crm-totals span{font-size:12px;color:#64748b}
.current-crm-totals strong{font-size:16px}
.work-tools textarea{min-height:0}
.contact-list{display:grid;gap:0}.contact-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:10px 0;border-top:1px solid #e2e8f0}.contact-row:first-child{border-top:0}.contact-row>div:first-child{display:grid;gap:2px;min-width:0}.contact-row span,.contact-row small{color:#64748b}.contact-row small{overflow-wrap:anywhere}.contact-actions{display:flex!important;align-items:center;gap:10px!important;flex:none}.contact-actions form,.inactive-contacts form{margin:0}.inactive-contacts{margin-top:10px;border-top:1px solid #e2e8f0;padding-top:10px}.inactive-contacts>summary{cursor:pointer;color:#64748b;font-weight:700}.contact-row.inactive{opacity:.78}
.contact-actions form[data-confirmed="yes"]{display:grid;justify-items:end;gap:5px;max-width:285px}.contact-inline-confirm{font-size:12px;color:#64748b;text-align:right;line-height:1.3}.contact-actions form[data-confirmed="yes"] .btn{padding:6px 9px;font-size:12px}
.order-workspace input[type=date]{position:static}
.order-workspace input[type=date]::-webkit-calendar-picker-indicator{position:static;width:auto;height:auto;opacity:1}
.order-workspace input[type=date]:not(:focus)::-webkit-calendar-picker-indicator{position:static;width:auto;height:auto;opacity:1;cursor:pointer}
.order-workspace .field.compact>input[type=date]{max-width:240px}
@media(max-width:1180px){.top{flex-wrap:wrap}.nav{order:3;flex-basis:100%;overflow-x:auto}.header-actions{margin-left:auto}}
@media(max-width:760px){.top{padding:8px 14px;gap:8px}.brand{font-size:18px}.header-actions{gap:7px}.user>span{max-width:120px;overflow:hidden;text-overflow:ellipsis}.nav{padding-bottom:2px}.current-crm-totals{grid-template-columns:1fr}}
.phone-list-widget{display:grid;gap:.55rem;max-width:42rem}.phone-list-row{display:grid;grid-template-columns:minmax(14rem,1fr) 7rem auto;gap:.65rem;align-items:center}.phone-kind{font-size:.86rem}.organization-phones{margin-top:1rem}.organization-phones>div{margin:.3rem 0}.client-finance-actions{margin:.8rem 0}.document-set-choice{align-items:center;gap:1.2rem;flex-wrap:wrap}.document-set-choice label{display:inline-flex;align-items:center;gap:.35rem}.document-set-editor{margin:1rem 0;padding:1rem;border:1px solid #d8e0e8;border-radius:.7rem;background:#f8fafc}
@media(max-width:700px){.phone-list-row{grid-template-columns:1fr auto}.phone-kind{display:none}}
.communication-list-widget{display:grid;gap:.55rem;max-width:920px}.communication-list-rows{display:grid;gap:.45rem}.communication-list-row{display:grid;grid-template-columns:140px minmax(180px,1.2fr) minmax(160px,1fr) auto;gap:.5rem;align-items:center}.contact-channel-list{display:grid;gap:.25rem;margin-top:.4rem}.contact-channel{overflow-wrap:anywhere}.contact-row>div:first-child{min-width:0}.organization-contact-panel .definition dd{overflow-wrap:anywhere}@media(max-width:760px){.communication-list-row{grid-template-columns:1fr}.communication-list-row .communication-remove{justify-self:start}}

/* Client and prospect forms share the established CRM palette and controls. */
.party-people-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}
.party-people-heading h2{font-size:19px;margin:0 0 5px}.party-people-heading p{margin:0;font-size:13px}.party-people-heading>.btn{white-space:nowrap}
.party-person{display:grid;gap:3px;position:relative;padding:13px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.party-person span,.party-person small{color:var(--muted)}.party-person-state{font-size:11px;color:var(--brand)!important}.party-draft-remove{justify-self:start;border:0;background:none;color:var(--muted);font-size:12px;padding:4px 0;cursor:pointer}
.party-contact-empty{font-size:13px;margin-bottom:0}.party-contact-open{overflow:hidden}
.party-contact-dialog{box-sizing:border-box;width:min(720px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:25px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);box-shadow:0 20px 80px rgba(0,0,0,.22)}
.party-contact-dialog::backdrop{background:rgba(20,32,28,.48)}.party-contact-dialog form{margin:0}.party-contact-dialog__heading{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}.party-contact-dialog__heading h2{font-size:22px;margin:0 0 6px}.party-contact-dialog__heading p{font-size:13px;color:var(--muted);margin:0}
.party-contact-close:not(.btn){width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:25px;cursor:pointer}
.party-contact-dialog .party-field textarea{min-height:76px;height:76px}.party-contact-dialog .phone-kind{display:none}.party-contact-dialog .phone-list-row{grid-template-columns:minmax(0,1fr) auto}.party-contact-dialog .communication-list-row{grid-template-columns:120px minmax(0,1fr);gap:7px}.party-contact-dialog .communication-remove{justify-self:start}
.party-contact-dialog__actions{display:flex;position:sticky;bottom:-25px;z-index:1;background:var(--card);justify-content:flex-end;gap:10px;padding:17px 0 10px;margin-top:20px;border-top:1px solid var(--line)}.party-contact-dialog__actions .btn{min-height:42px;min-width:110px}.party-contact-dialog :is(button,input,select,textarea):focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.party-contact-error,.party-contact-global-error{color:var(--danger);font-size:13px;line-height:1.4;margin-top:5px}.party-contact-global-error{padding:10px;border:1px solid var(--danger);border-radius:6px;margin-bottom:14px}.party-contact-dialog button:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){.party-contact-dialog .party-fields--two{grid-template-columns:1fr}.party-contact-dialog .communication-list-row{grid-template-columns:1fr}}
@media(max-width:520px){.party-people-heading{align-items:flex-start;flex-direction:column}.party-contact-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:19px 16px}.party-contact-dialog__actions{bottom:-19px}.party-contact-dialog__actions .btn{flex:1}.party-contact-dialog__heading h2{font-size:20px}}
.party-form-page{max-width:1000px;margin:0 auto 42px}
.party-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.party-form-heading h1{font-size:clamp(26px,2.8vw,34px);line-height:1.15;margin:4px 0 7px;letter-spacing:-.025em}
.party-form-heading p{margin:0;color:var(--muted)}
.party-form-kicker{color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.party-form-cancel-top{flex:none;font-weight:650;font-size:13px}
.party-form-heading__actions{display:flex;align-items:center;gap:14px;flex:none}
.party-form-heading__actions .btn{min-height:40px;white-space:nowrap}
.party-form{display:grid;gap:14px}
.party-section{padding:23px 26px 25px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 18px rgba(23,33,43,.035)}
.party-section__heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e8eef1}
.party-section__index{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:var(--brand2);color:var(--brand);font-size:12px;font-weight:800}
.party-section__heading h2{font-size:19px;line-height:1.2;margin:2px 0 4px}
.party-section__heading p{font-size:13px;line-height:1.4;color:var(--muted);margin:0}
.party-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px 18px}
.party-fields--two,.party-fields--contact{grid-template-columns:repeat(2,minmax(0,1fr))}
.party-fields--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.party-fields--following{margin-top:16px}
.party-field{min-width:0}
.party-field__label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#293b4c}
.party-field__label span{color:var(--danger)}
.party-field .input,.party-field input:not([type=checkbox]),.party-field select,.party-field textarea{min-height:42px;border-color:#bfcbd3;background:#fff}
.party-form .party-field textarea{height:96px;min-height:78px}
.party-field :is(input,select,textarea):focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
.party-field--error :is(input,select,textarea){border-color:var(--danger)}
.party-field__errors .errorlist{margin:6px 0 0;font-size:13px}
.party-field__help{margin-top:5px;color:var(--muted);font-size:12px}
.party-field .phone-list-widget,.party-field .communication-list-widget{max-width:none}
.party-field .phone-list-row{grid-template-columns:minmax(0,1fr) auto auto}
.party-field .communication-list-row{grid-template-columns:145px minmax(0,1fr) minmax(0,.8fr) auto}
.party-field .phone-add,.party-field .communication-add{justify-self:start;font-weight:700}
.party-form-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 25px;background:#ecf3ef;border:1px solid #d7e5dc;border-radius:12px}
.party-duplicate{min-width:0;max-width:570px}
.party-duplicate label{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#40524a;line-height:1.4;cursor:pointer}
.party-duplicate input{flex:none;width:17px;height:17px;margin:1px 0 0;accent-color:var(--brand)}
.party-duplicate--error .errorlist{font-size:13px;margin:0 0 6px}
.party-form-actions{display:flex;align-items:center;gap:9px;flex:none}
.party-form-actions .btn{min-height:42px;padding:10px 18px;text-align:center}
.party-form-actions .btn:not(.secondary){min-width:155px;box-shadow:0 5px 14px rgba(22,101,52,.17)}
.party-form-actions .btn:focus-visible,.party-form-cancel-top:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:760px){.party-form-heading{align-items:flex-start}.party-fields--two,.party-fields--contact,.party-fields--three{grid-template-columns:1fr}.party-field .communication-list-row{grid-template-columns:1fr}.party-field .communication-remove{justify-self:start}}
@media(max-width:520px){.party-form-page{margin-bottom:25px}.party-form-heading{display:block;margin-bottom:14px}.party-form-heading p{font-size:13px}.party-form-heading__actions{margin-top:13px;justify-content:space-between}.party-section{padding:18px 16px 20px}.party-section__heading{margin-bottom:16px}.party-section__heading h2{font-size:18px}.party-fields{gap:13px}.party-field .phone-list-row{grid-template-columns:minmax(0,1fr) auto}.party-field .phone-kind{display:none}.party-form-footer{display:grid;padding:16px}.party-form-actions{justify-content:stretch}.party-form-actions .btn{flex:1}.party-form-actions .btn:not(.secondary){min-width:0}}
.party-legacy{margin-top:15px;font-size:13px;overflow-wrap:anywhere}.party-legacy summary{cursor:pointer;color:var(--muted);font-weight:600}.party-legacy>div{padding:7px 0;border-top:1px solid var(--line)}
