/* DeSIGNATURE workspace. Colours and brand assets come from the existing site. */
html body.portal-page[data-portal]{--ws-ink:var(--deep);--ws-muted:var(--taupe);--ws-line:rgba(120,102,84,.20);--ws-paper:var(--white);--ws-accent:var(--dark);background:var(--white)!important;color:var(--deep)!important;font-family:var(--sans)!important;font-size:14px}
html body.portal-page[data-portal] *,html body.portal-page[data-portal] *:before,html body.portal-page[data-portal] *:after{box-sizing:border-box}
html body.portal-page[data-portal] [hidden],html body.portal-page[data-portal] .crm-dashboard [hidden],html body.portal-page[data-portal] .ws-tab-hidden{display:none!important}
html body.portal-page[data-portal] :is(h1,h2,h3,h4){color:var(--deep)!important;text-transform:none!important;letter-spacing:-.025em!important;font-family:var(--sans)!important;font-weight:600!important}
html body.portal-page[data-portal] h2{font-size:32px!important;line-height:1.2!important}
html body.portal-page[data-portal] h3{font-size:18px!important;line-height:1.4!important}
html body.portal-page[data-portal] :is(p,li,td,label){line-height:1.6}
html body.portal-page[data-portal] .label{color:var(--taupe)!important;font:10px var(--sans)!important;letter-spacing:.12em!important}
html body.portal-page[data-portal] .portal-header{display:none!important}
html body.portal-page[data-portal]:not(.is-locked) .portal-main{max-width:none!important;padding:0 44px 44px 284px!important;margin:0!important}
html body.portal-page[data-portal] .crm-dashboard{width:100%;max-width:none!important;color:var(--deep)!important}
html body.portal-page[data-portal] .crm-shell{display:block!important}
html body.portal-page[data-portal] .crm-workspace{display:block!important;color:var(--deep)!important;max-width:1500px!important;min-width:0!important;background:transparent!important;border:0!important;padding:0!important;margin:0 auto!important}
html body.portal-page[data-portal] .crm-nav-panel{position:fixed!important;inset:0 auto 0 0!important;width:240px!important;height:100dvh!important;min-height:0!important;overflow-y:auto!important;padding:32px 18px 18px!important;background:var(--mist)!important;border:0!important;border-right:1px solid var(--ws-line)!important;border-radius:0!important;display:flex!important;flex-direction:column!important;gap:6px!important}
html body.portal-page[data-portal] .ws-brand{display:block;padding:4px 6px 36px}
html body.portal-page[data-portal] .ws-brand img{width:190px;height:auto;filter:none!important;opacity:1!important}
html body.portal-page[data-portal] .crm-nav-panel>.label{padding:4px 14px 8px!important;margin:0!important}
html body.portal-page[data-portal] .crm-nav-panel button{display:flex!important;align-items:center!important;gap:13px!important;width:100%!important;min-height:44px!important;padding:12px 14px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:var(--deep)!important;text-transform:none!important;text-align:left!important;letter-spacing:0!important;font:14px var(--sans)!important;cursor:pointer}
html body.portal-page[data-portal] .crm-nav-panel button span{width:auto!important;min-width:0!important;max-width:none!important;flex:1!important;color:inherit!important;font:inherit!important;text-align:left!important;white-space:nowrap!important}
html body.portal-page[data-portal] .crm-nav-panel button svg{width:18px;height:18px;flex-shrink:0;stroke-width:1.5}
html body.portal-page[data-portal] .crm-nav-panel button:hover{background:var(--oat)!important}
html body.portal-page[data-portal] .crm-nav-panel button.active{background:var(--deep)!important;color:var(--white)!important;font-weight:600!important}
html body.portal-page[data-portal] .ws-settings{margin-top:26px;border-top:1px solid var(--ws-line);padding-top:18px}
html body.portal-page[data-portal] .ws-settings summary{cursor:pointer;padding:12px 14px;font-size:13px;color:var(--deep)}
html body.portal-page[data-portal] .ws-settings button{padding-left:24px!important;font-size:12px!important}
html body.portal-page[data-portal] .ws-route-buttons{display:none!important}
html body.portal-page[data-portal] .ws-member{margin-top:auto;padding:28px 12px 8px;display:flex;align-items:center;gap:12px;color:var(--deep)}
html body.portal-page[data-portal] .ws-member img{width:28px;height:40px;object-fit:contain;filter:none}
html body.portal-page[data-portal] .ws-member span{display:block;font-size:13px;font-weight:600}
html body.portal-page[data-portal] .ws-member small{display:block;font-size:10px;line-height:1.5;color:var(--taupe);margin-top:4px;text-transform:none}
html body.portal-page[data-portal] .crm-topbar{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:18px!important;min-height:80px!important;padding:20px 0!important;margin:0 0 38px!important;border:0!important;border-bottom:1px solid var(--ws-line)!important;background:transparent!important}
html body.portal-page[data-portal] .crm-topbar>div>.label{display:none!important}
html body.portal-page[data-portal] .crm-topbar h1{display:flex;align-items:center;gap:14px;font:13px var(--sans)!important;margin:0!important;letter-spacing:0!important;color:var(--taupe)!important}
html body.portal-page[data-portal] .crm-topbar h1 strong{font-weight:500;color:var(--deep)}
.ws-breadcrumb-divider{color:var(--sand)}
html body.portal-page[data-portal] .crm-userbar{display:flex!important;align-items:center!important;gap:20px!important;flex-wrap:nowrap!important}
html body.portal-page[data-portal] .crm-sync-status{border:0!important;background:transparent!important;padding:0!important;max-width:230px!important;color:var(--deep)!important}
html body.portal-page[data-portal] .crm-sync-status strong{display:block!important;font:11px var(--sans)!important;color:var(--deep)!important}
html body.portal-page[data-portal] .crm-sync-status strong:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--olive);margin-right:6px}
html body.portal-page[data-portal] .crm-sync-status small{display:block!important;font:10px var(--sans)!important;color:var(--taupe)!important;text-transform:none!important;letter-spacing:0!important;margin-top:3px}
html body.portal-page[data-portal] :is(.btn,.mini-action,.header-cta){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px!important;padding:9px 14px!important;border:1px solid var(--ws-line)!important;border-radius:5px!important;background:var(--white)!important;box-shadow:none!important;text-shadow:none!important;color:var(--deep)!important;font:13px var(--sans)!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
html body.portal-page[data-portal] :is(.btn,.mini-action,.header-cta):before,html body.portal-page[data-portal] :is(.btn,.mini-action,.header-cta):after{display:none!important}
html body.portal-page[data-portal] .btn.filled{background:var(--dark)!important;border-color:var(--dark)!important;color:var(--white)!important}
html body.portal-page[data-portal] :is(.btn,.mini-action):hover{background:var(--mist)!important;border-color:var(--rock)!important}
html body.portal-page[data-portal] .btn.filled:hover{background:var(--deep)!important;border-color:var(--deep)!important}
html body.portal-page[data-portal] :is(button,input,select,textarea):focus-visible,html body.portal-page[data-portal] summary:focus-visible{outline:2px solid var(--dark)!important;outline-offset:3px}
html body.portal-page[data-portal] :is(button,input,select,textarea):disabled{opacity:.55;cursor:not-allowed}
html body.portal-page[data-portal] :is(input,select,textarea){max-width:100%;min-height:42px!important;padding:10px 12px!important;border:1px solid var(--sand)!important;border-radius:5px!important;background:var(--white)!important;color:var(--deep)!important;font:14px var(--sans)!important;box-shadow:none!important}
html body.portal-page[data-portal] :is(input[type=checkbox],input[type=radio]){min-height:0!important;width:16px!important;height:16px!important;accent-color:var(--dark)}
html body.portal-page[data-portal] input::placeholder,html body.portal-page[data-portal] textarea::placeholder{color:var(--taupe);opacity:1}
html body.portal-page[data-portal] :is(.access-form,.commercial-form-grid,.commercial-settings-form) label>span{color:var(--deep)!important;font:12px var(--sans)!important;text-transform:none!important;letter-spacing:0!important}
html body.portal-page[data-portal] .ws-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 28px!important}
html body.portal-page[data-portal] .ws-heading h2{margin:0 0 10px!important;font-size:34px!important}
html body.portal-page[data-portal] .ws-heading p{color:var(--taupe)!important;font:14px/1.6 var(--sans)!important;margin:0!important}
html body.portal-page[data-portal] .ws-heading .label{display:none!important}
.ws-heading-actions{display:flex;gap:10px;flex-shrink:0}
html body.portal-page[data-portal] :is(.crm-card,.commercial-card,.commercial-hero,.ws-list-card,.crm-panel-table){background:var(--white)!important;border:1px solid var(--ws-line)!important;border-radius:7px!important;box-shadow:none!important;padding:24px!important;color:var(--deep)!important;min-width:0}
html body.portal-page[data-portal] :is(.crm-card,.commercial-card,.commercial-hero) :is(h2,h3,h4,p,label,td,th){color:var(--deep)!important}
html body.portal-page[data-portal] :is(.crm-card,.commercial-card) h2{font-size:26px!important}
html body.portal-page[data-portal] .status-pill{border:1px solid var(--ws-line)!important;border-radius:4px!important;background:var(--mist)!important;color:var(--dark)!important;padding:5px 8px!important;font:11px var(--sans)!important;letter-spacing:0!important;text-transform:none!important}
html body.portal-page[data-portal] .ws-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;margin:0 0 32px!important;padding:24px 0;border-top:1px solid var(--ws-line);border-bottom:1px solid var(--ws-line);background:transparent;border-radius:0}
html body.portal-page[data-portal] .ws-stat{min-width:0;padding:0 24px!important;background:transparent!important;border:0!important;border-right:1px solid var(--ws-line)!important;border-radius:0!important}
html body.portal-page[data-portal] .ws-stat:first-child{padding-left:0!important}
html body.portal-page[data-portal] .ws-stat:last-child{border-right:0!important}
.ws-stat small{font-size:12px;color:var(--taupe)}
html body.portal-page[data-portal] .ws-stat strong{display:block;font:600 32px/1.3 var(--sans)!important;letter-spacing:-.03em;margin:10px 0 6px!important;color:var(--deep)!important;overflow-wrap:anywhere}
.ws-stat span{font-size:11px;line-height:1.5;color:var(--taupe);display:block}
.ws-home-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-bottom:24px}
html body.portal-page[data-portal] .ws-list-card h3{margin:0 0 20px!important}
.ws-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--ws-line);padding:18px 0}
.ws-row:last-child{padding-bottom:0}
html body.portal-page[data-portal] .ws-row strong{display:block;font:500 14px var(--sans)!important;color:var(--deep)!important}
.ws-row small{display:block;font-size:12px;color:var(--taupe);margin-top:6px;line-height:1.5}
.ws-row button{flex-shrink:0}
.ws-empty{grid-column:1/-1;padding:24px;background:var(--mist);color:var(--taupe);font-size:13px;line-height:1.7;border-radius:5px}
html body.portal-page[data-portal].staff-mode [data-view-panel=overview]>:is([data-metrics],[data-operations-pulse],[data-overview-command-center],.crm-card-grid){display:none!important}
.ws-toolbar{display:flex;align-items:end;gap:16px;margin-bottom:24px}.ws-toolbar label:first-child{flex:1}
.ws-toolbar label,.ws-search{display:grid;gap:8px;font-size:12px;color:var(--taupe)}.ws-search{max-width:520px;margin-bottom:24px}
.ws-events-grid{display:flex;flex-direction:column;border:1px solid var(--ws-line);border-radius:7px;overflow:hidden}
html body.portal-page[data-portal] .ws-event{display:grid;grid-template-columns:82px minmax(0,1fr) auto 96px 20px;align-items:center;gap:24px;min-height:108px;padding:24px;text-align:left;background:var(--white)!important;color:var(--deep)!important;border:0!important;border-bottom:1px solid var(--ws-line)!important;border-radius:0!important;font:14px var(--sans)!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer;transform:none!important;box-shadow:none!important}
html body.portal-page[data-portal] .ws-event:last-child{border-bottom:0!important}
html body.portal-page[data-portal] .ws-event:hover{background:var(--mist)!important}
.ws-event-date{font-size:17px;font-weight:600;line-height:1.3;border-right:1px solid var(--ws-line);padding-right:18px}
.ws-event-date small{display:block;font-size:12px;color:var(--taupe);font-weight:400;margin-top:5px}
html body.portal-page[data-portal] .ws-event-name strong{display:block;font:500 16px var(--sans)!important;color:var(--deep)!important}
.ws-event-name small{display:block;font-size:12px;color:var(--taupe);margin-top:7px;line-height:1.5}.ws-event-tasks{font-size:12px;color:var(--taupe)}.ws-event-arrow{font-size:22px;color:var(--dark)}
html body.portal-page[data-portal] .crm-project-picker{background:var(--mist)!important;border:1px solid var(--ws-line)!important;border-radius:6px!important;padding:16px!important;margin:0 0 28px!important;gap:14px!important}
html body.portal-page[data-portal] .crm-project-picker :is(label>span,p){font:12px/1.5 var(--sans)!important;color:var(--taupe)!important;letter-spacing:0!important;text-transform:none!important}
.crm-project-picker .project-action-row{flex-wrap:wrap;gap:8px}.crm-project-picker p:empty{display:none}
html body.portal-page[data-portal]:has([data-view-panel=finance].active) .crm-project-picker{display:none!important}
html body.portal-page[data-portal]:has([data-view-panel=finance].active[data-billing-available=true]:is([data-finance-active=quotations],[data-finance-active=invoices])) .crm-project-picker{display:grid!important}
html body.portal-page[data-portal]:has([data-view-panel=finance].active) .crm-project-picker :is(.project-action-row,[data-access-summary]){display:none!important}
.ws-event-header{margin-bottom:24px}.ws-event-header h2{margin:6px 0 10px!important}.ws-event-header p{font-size:13px;color:var(--taupe)}
html body.portal-page[data-portal] :is(.ws-event-tabs,.finance-hub-tabs){display:flex!important;flex-wrap:nowrap!important;gap:28px!important;min-width:0;overflow-x:auto!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--ws-line)!important;padding:0!important;margin:0 0 28px!important}
html body.portal-page[data-portal] :is(.ws-event-tabs,.finance-hub-tabs) button{flex:0 0 auto!important;width:auto!important;padding:13px 0!important;white-space:nowrap;font:14px var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--taupe)!important;background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;cursor:pointer}
html body.portal-page[data-portal] :is(.ws-event-tabs button[aria-current=page],.finance-hub-tabs button[aria-selected=true]){color:var(--dark)!important;border-bottom-color:var(--dark)!important;font-weight:600!important}
html body.portal-page[data-portal] [data-view-panel=project]>.crm-card>.project-head,html body.portal-page[data-portal] [data-view-panel=project] .workspace-nav-panel{display:none!important}
html body.portal-page[data-portal] [data-view-panel=project] :is(.comms-panel,.vendor-panel,.approval-panel,.risk-panel,.ros-panel,.guest-panel){background:var(--white)!important;border:1px solid var(--ws-line)!important;padding:22px!important;margin:20px 0!important;border-radius:6px!important}
.ws-table-wrap{overflow:auto;background:var(--white);border:1px solid var(--ws-line);border-radius:6px;margin:18px 0 28px}
html body.portal-page[data-portal] :is(.ws-table,.table-scroll table){width:100%;border-collapse:collapse;font:13px/1.5 var(--sans)!important;color:var(--deep)!important}
.ws-table{min-width:540px}
html body.portal-page[data-portal] :is(.ws-table,.table-scroll table) th{font:12px var(--sans)!important;color:var(--taupe)!important;background:var(--mist)!important;padding:14px 18px!important;text-transform:none!important;letter-spacing:0!important;text-align:left}
html body.portal-page[data-portal] :is(.ws-table,.table-scroll table) td{padding:18px!important;border-bottom:1px solid var(--ws-line)!important}
.ws-table td small{display:block;color:var(--taupe);font-size:12px;margin-top:6px}.ws-table .number{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.ws-table tr:last-child td{border-bottom:0!important}
.ws-budget-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:16px;padding:24px;background:var(--mist);border:1px solid var(--ws-line);border-radius:6px;margin:18px 0}
.ws-budget-form label{display:grid;gap:8px;font-size:12px}.ws-budget-form [role=status]{grid-column:1/-1;margin:0;font-size:12px}
.ws-money-mask{margin-bottom:16px}.ws-notice{padding:14px 18px;background:var(--mist);color:var(--dark);border:1px solid var(--ws-line);border-radius:5px;font-size:13px;line-height:1.6;margin:16px 0}
.ws-brief-edit summary{cursor:pointer;font-size:13px;padding:14px 0}.ws-client-list{margin-bottom:24px}
.ws-inline-error{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10000;background:var(--deep);color:var(--white);padding:16px 24px;border-radius:6px;font-size:13px;max-width:90vw}
.ws-finance-subhead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;color:var(--taupe);font-size:12px}.ws-finance-subhead .ws-money-mask{margin:0!important}.ws-section-title{margin:0 0 18px!important}
html body.portal-page[data-portal] [data-ws-finance-rollup] .ws-stats{border-top:0;padding-top:0}
.ws-billing-notice{display:flex;align-items:center;justify-content:space-between;gap:16px}.ws-billing-notice button{flex-shrink:0}
.ws-billing-access{display:flex;gap:20px;padding:30px;background:var(--mist);border:1px solid var(--ws-line);border-radius:7px;margin-bottom:24px;max-width:800px}.ws-billing-access>svg{width:28px;height:28px;flex-shrink:0;color:var(--dark);margin-top:2px}.ws-billing-access h3{margin:0 0 12px!important}.ws-billing-access p{font-size:14px;color:var(--taupe);max-width:620px;margin:0 0 18px}
.ws-billing-guide{margin:24px 0;border-top:1px solid var(--ws-line);border-bottom:1px solid var(--ws-line);padding:18px 0}.ws-billing-guide summary{color:var(--deep);font-size:13px;font-weight:500;cursor:pointer}.ws-billing-guide ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:24px 0;padding-left:20px}.ws-billing-guide li{padding-left:4px;font-size:12px;color:var(--taupe)}.ws-billing-guide strong{display:block;color:var(--deep);font-weight:600;margin-bottom:7px}.ws-billing-guide p{font-size:12px;color:var(--taupe);margin:0}
html body.portal-page[data-portal] [data-commercial-actions],html body.portal-page[data-portal] [data-commercial-metrics]{display:none!important}
html body.portal-page[data-portal] .commercial-view.active{display:block!important;color:var(--deep)!important}
html body.portal-page[data-portal] .commercial-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)!important;gap:24px!important}
html body.portal-page[data-portal] .commercial-hero{margin-bottom:24px!important;padding:14px 20px!important}
html body.portal-page[data-portal] .commercial-hero [data-commercial-event-context]{display:none!important}
html body.portal-page[data-portal] .commercial-hero h2{font-size:18px!important;margin:6px 0!important}
html body.portal-page[data-portal] .commercial-status:empty,html body.portal-page[data-portal] .commercial-notice:empty{display:none!important}
html body.portal-page[data-portal] .ws-payment-workspace{padding:0!important;border:0!important;background:transparent!important}
html body.portal-page[data-portal] .ws-payment-workspace .finance-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
html body.portal-page[data-portal] .finance-grid>[data-finance-workspace]{min-width:0;background:var(--white);padding:24px;border:1px solid var(--ws-line);border-radius:6px}
html body.portal-page[data-portal] .finance-grid h3{margin:0 0 18px!important}
html body.portal-page[data-portal] [data-finance-summary]{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:24px 0!important;gap:0!important;padding:20px 0!important;border:0!important;border-bottom:1px solid var(--ws-line)!important;border-radius:0!important;background:transparent!important}
html body.portal-page[data-portal] [data-finance-summary] article{padding:0 20px!important;border:0!important;border-right:1px solid var(--ws-line)!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
html body.portal-page[data-portal] [data-finance-summary] article:first-child{padding-left:0!important}
html body.portal-page[data-portal] [data-finance-summary] article:last-child{border-right:0!important}
html body.portal-page[data-portal] [data-finance-summary] article span{font:600 24px var(--sans)!important;color:var(--deep)!important}
html body.portal-page[data-portal] [data-finance-summary] article p{font:12px var(--sans)!important;color:var(--taupe)!important;text-transform:none!important;letter-spacing:0!important}
.ws-finance-details{border-bottom:1px solid var(--ws-line);padding:16px 0;margin:24px 0}.ws-finance-details summary{cursor:pointer;font-size:13px}
/* Login uses the original asset files, at their original proportions and colours. */
.ws-login-brand{display:none}
html body.portal-page[data-portal].is-locked .portal-main{display:grid!important;grid-template-columns:38% 62%;min-height:100dvh;max-width:none!important;padding:0!important;margin:0!important}
html body.portal-page[data-portal].is-locked .portal-header{display:flex!important;position:absolute!important;top:24px!important;right:36px!important;left:auto!important;width:auto!important;background:transparent!important;border:0!important;padding:0!important;backdrop-filter:none!important}
html body.portal-page[data-portal].is-locked .portal-header>.brand{display:none!important}
html body.portal-page[data-portal].is-locked .ws-login-brand{display:flex;flex-direction:column;justify-content:space-between;padding:52px 56px;background:var(--deep);color:var(--white);min-height:100dvh}
.ws-login-wordmark{width:280px;height:auto;filter:none!important;opacity:1!important}.ws-login-message>img{width:90px;height:auto;margin-bottom:36px;filter:none!important;opacity:1!important}
html body.portal-page[data-portal] .ws-login-message h2{font:400 clamp(34px,3.5vw,56px)/1.12 var(--serif)!important;letter-spacing:-.025em!important;color:var(--oat)!important;margin:0 0 24px!important}
.ws-login-message p{color:var(--sand);font-size:14px;line-height:1.8;margin:0}.ws-login-foot{font-size:10px;letter-spacing:.16em;color:var(--sand);margin:0}
html body.portal-page[data-portal].is-locked .login-panel{align-self:center;justify-self:center;width:min(420px,calc(100% - 64px));margin:90px 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;backdrop-filter:none!important;box-shadow:none!important;opacity:1!important;text-align:left!important;transform:none!important}
html body.portal-page[data-portal] .login-panel h1{font:600 38px/1.2 var(--sans)!important;letter-spacing:-.04em!important;color:var(--deep)!important;margin:0 0 12px!important;text-transform:none!important}
html body.portal-page[data-portal] .login-panel>p{color:var(--taupe)!important;font:14px/1.6 var(--sans)!important;margin:0 0 32px!important}
html body.portal-page[data-portal] .login-panel form{display:grid;gap:20px;margin:0!important}
html body.portal-page[data-portal] .login-panel label{display:grid;gap:8px}
html body.portal-page[data-portal] .login-panel label>span{color:var(--deep)!important;font:13px var(--sans)!important;text-transform:none!important;letter-spacing:0!important}
html body.portal-page[data-portal] .login-panel input{width:100%!important;min-height:48px!important}
html body.portal-page[data-portal] .login-panel .btn{min-height:48px!important;font-weight:600!important;margin-top:4px}
html body.portal-page[data-portal] .reset-request{background:transparent!important;border:0!important;color:var(--dark)!important;font:13px var(--sans)!important;letter-spacing:0!important;text-transform:none!important;padding:0!important;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
html body.portal-page[data-portal] .login-panel .form-note{font:12px/1.7 var(--sans)!important;color:var(--taupe)!important;margin:4px 0 0!important;text-align:center}
@media(max-width:1150px){
 html body.portal-page[data-portal]:not(.is-locked) .portal-main{padding:0 28px 32px 244px!important}
 html body.portal-page[data-portal] .crm-nav-panel{width:216px!important;padding-inline:14px!important}
 html body.portal-page[data-portal] .crm-sync-status{display:none!important}
 .ws-home-columns{grid-template-columns:1fr}.ws-budget-form{grid-template-columns:1fr 1fr}
 html body.portal-page[data-portal] .ws-event{grid-template-columns:72px minmax(0,1fr) auto 20px;gap:16px}.ws-event-tasks{display:none}
 html body.portal-page[data-portal] .commercial-grid{grid-template-columns:minmax(0,1fr)!important}
 html body.portal-page[data-portal].is-locked .ws-login-brand{padding:40px 32px}.ws-login-wordmark{width:240px}
 .ws-billing-guide ol{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 html body.portal-page[data-portal]:not(.is-locked) .portal-main{padding:0 18px 24px!important}
 html body.portal-page[data-portal] .crm-topbar{min-height:64px!important;padding:14px 0!important;margin:0 0 18px!important;gap:10px!important}
 html body.portal-page[data-portal] .crm-topbar h1{font-size:12px!important;gap:8px}
 html body.portal-page[data-portal] .crm-userbar .btn{width:auto!important;min-height:36px!important;padding:8px 10px!important}
 html body.portal-page[data-portal] .crm-nav-panel{position:static!important;width:100%!important;height:auto!important;max-height:none!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:visible!important;align-items:center;padding:6px!important;margin-bottom:28px!important;border:1px solid var(--ws-line)!important;border-radius:6px!important;gap:4px!important}
 html body.portal-page[data-portal] .crm-nav-panel>.label,html body.portal-page[data-portal] .ws-brand,html body.portal-page[data-portal] .ws-member{display:none!important}
 html body.portal-page[data-portal] .crm-nav-panel button{width:auto!important;flex-shrink:0;padding:10px 12px!important;gap:8px!important;font-size:13px!important}
 html body.portal-page[data-portal] .ws-settings{margin:0;border:0;padding:0;flex-shrink:0}.ws-settings[open]{min-width:180px}
 html body.portal-page[data-portal] .ws-heading{align-items:start;flex-wrap:wrap;gap:18px;margin-bottom:24px!important}
 html body.portal-page[data-portal] .ws-heading h2{font-size:29px!important}.ws-heading-actions{width:100%}.ws-heading-actions .btn{flex:1}
 html body.portal-page[data-portal] .ws-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px;padding:22px 0}
 html body.portal-page[data-portal] .ws-stat{padding:0 16px!important}.ws-stat:nth-child(odd){padding-left:0!important}
 html body.portal-page[data-portal] .ws-stat:nth-child(2n){border-right:0!important}
 html body.portal-page[data-portal] .ws-stat strong{font-size:28px!important}
 html body.portal-page[data-portal] :is(.crm-card,.commercial-card,.ws-list-card){padding:20px!important}
 html body.portal-page[data-portal] .ws-event{grid-template-columns:58px minmax(0,1fr) 16px;gap:12px;padding:20px 14px;min-height:116px}
 .ws-event .status-pill{grid-column:2;grid-row:2;justify-self:start}.ws-event-arrow{grid-column:3;grid-row:1}.ws-event-date{font-size:15px;padding-right:10px}
 html body.portal-page[data-portal] .ws-event-name strong{font-size:14px!important}.ws-event-name small{font-size:11px}
 .ws-toolbar{flex-wrap:wrap;gap:12px}.ws-toolbar label{min-width:130px}.ws-toolbar label:first-child{flex-basis:100%}
 .ws-row{align-items:start;gap:12px}.ws-row small{font-size:11px}.ws-row .mini-action{font-size:12px!important;padding:8px 10px!important}
 .ws-budget-form{grid-template-columns:1fr;padding:18px}.ws-budget-form [role=status]{grid-column:1}
 html body.portal-page[data-portal] .crm-project-picker{grid-template-columns:minmax(0,1fr)!important}
 html body.portal-page[data-portal] .crm-project-picker>*{min-width:0!important;width:auto!important;grid-column:1!important}
 .ws-billing-notice{align-items:start;flex-direction:column}.ws-billing-access{padding:22px;gap:14px}.ws-billing-guide ol{grid-template-columns:1fr;gap:16px}
 html body.portal-page[data-portal] [data-finance-summary]{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:24px!important}
 html body.portal-page[data-portal] [data-finance-summary] article:nth-child(2n){border-right:0!important}
 html body.portal-page[data-portal] [data-finance-summary] article:nth-child(odd){padding-left:0!important}
 html body.portal-page[data-portal] [data-finance-summary] article span{font-size:20px!important}
 html body.portal-page[data-portal].is-locked .portal-main{grid-template-columns:1fr!important;min-height:100dvh;align-content:start}
 html body.portal-page[data-portal].is-locked .portal-header{display:none!important}
 html body.portal-page[data-portal].is-locked .ws-login-brand{min-height:0;padding:32px;flex-direction:row;align-items:center;gap:20px}
 .ws-login-wordmark{width:200px}.ws-login-message>img{width:36px;margin:0}.ws-login-message :is(h2,p),.ws-login-foot{display:none!important}
 html body.portal-page[data-portal].is-locked .login-panel{width:calc(100% - 48px);max-width:420px;margin:56px 0!important}
 html body.portal-page[data-portal] .login-panel h1{font-size:32px!important}
}
@media(prefers-reduced-motion:reduce){html body.portal-page[data-portal] *{scroll-behavior:auto!important;transition:none!important}}
