@import url('/portal-assets/brand.css');
.portal-page{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--font-family)}
.portal-page *{box-sizing:border-box}
.portal-page a{color:var(--ink);text-underline-offset:4px}
.portal-page a:hover{text-decoration-thickness:2px}
.portal-page h1,.portal-page h2,.portal-page h3{line-height:1.15;font-weight:500;letter-spacing:-.025em}
.portal-page h1{font-size:clamp(38px,4.3vw,54px);margin:12px 0 24px}
.portal-page h2{font-size:1.7rem}
.portal-page h3{font-size:1.2rem;margin:0 0 8px}
.portal-page p{margin:0 0 16px}
.portal-header{background:var(--white);border-bottom:1px solid var(--line)}
.portal-header-inner{width:min(var(--max),calc(100% - 80px));margin:auto;min-height:102px;padding:12px 0;display:flex;align-items:center;justify-content:space-between}
.portal-header span{font-size:.85rem;color:var(--slate)}
.portal-header img{max-width:100%;height:auto;display:block}
.portal-shell{width:min(var(--max),calc(100% - 80px));margin:64px auto 80px;padding:0}
.portal-shell.narrow{max-width:620px;min-height:50vh}
.portal-shell.wide{max-width:var(--max)}
.portal-page .eyebrow{text-transform:none;letter-spacing:0;font-size:15px;font-weight:400;color:var(--ink)}
.portal-page .lead{font-size:1.2rem;color:var(--slate);max-width:720px}
.portal-page .quiet{font-size:.85rem;color:var(--slate)}
.portal-page label{display:block;margin:20px 0 7px;font-weight:500}
.portal-page input,.portal-page select{font:inherit;width:100%;padding:12px 14px;border:1px solid var(--slate);border-radius:var(--control-radius);background:var(--white);color:var(--ink);min-height:48px}
.portal-page input[readonly]{background:var(--paper)}
.portal-page button,.portal-page .button{font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--control-radius);padding:12px 22px;min-height:48px;font-size:16px;font-weight:500;background:var(--white);color:var(--ink);text-decoration:none;gap:8px}
.portal-page button:hover{border-color:var(--ink)}
.portal-page .button{background:var(--action);color:var(--action-text);border-color:var(--action);margin-top:24px}
.portal-page .button:hover{background:var(--action-hover);border-color:var(--action-hover)}
.portal-page .button.secondary{background:transparent;color:var(--ink);border-color:var(--ink);margin:0}
.portal-page .button.secondary:hover{background:var(--sky);border-color:var(--ink)}
.portal-page button:disabled{opacity:.6;cursor:wait}
.portal-page :focus-visible{outline:2px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 3px var(--white)}
.portal-page form .quiet{margin-top:16px}
.login-captcha{margin:20px 0 12px;min-height:65px}
.portal-page .status{min-height:1.5em;margin:20px 0;color:var(--success)}
.portal-page .status.error{color:var(--error)}
.portal-footer{padding:28px 40px;background:var(--ink);color:var(--sky);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.portal-footer a{color:var(--white)}
.page-heading,.document-summary,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:32px}
.document-summary{padding:28px 0 36px;border-bottom:1px solid var(--line);margin-bottom:32px}
.document-summary h2{margin-top:0}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--panel-radius);padding:32px}
.panel h2{margin-top:8px}
.panel [data-copy-url],.panel [data-copy-pin]{margin-top:8px}
.invitations-section,.activity-section{margin-top:64px}
.invitation-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line)}
.invitation-row p{margin:0 0 6px;overflow-wrap:anywhere}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-content:start}
.row-actions button{font-size:.85rem;padding:8px 12px}
.portal-page .danger{color:var(--error)}
.badge{display:inline-block;font-size:.78rem;border-radius:4px;background:var(--sky);padding:2px 10px;margin-bottom:10px}
.activity-row{display:grid;grid-template-columns:190px 180px 1fr;gap:20px;border-top:1px solid var(--line);padding:18px 0}
.activity-row span{overflow-wrap:anywhere}
.stage-review-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px max(20px,calc((100vw - 1200px)/2));background:var(--ink);color:var(--white);font:14px/1.5 Roboto,Arial,sans-serif}
.stage-review-bar nav{display:flex;gap:24px}
.stage-review-bar a{color:var(--white);text-decoration:underline;text-underline-offset:3px}

@media(max-width:1023px){.portal-header-inner,.portal-shell{width:calc(100% - 64px)}
}

@media(max-width:767px){.portal-header-inner{width:calc(100% - 40px);min-height:86px}
.portal-header img{width:160px}
.portal-shell{width:calc(100% - 40px);margin:40px auto 64px;padding:0}
.portal-footer{padding:24px}
.dashboard-grid{grid-template-columns:1fr}
.panel{padding:24px}
.page-heading,.document-summary{align-items:flex-start;flex-direction:column;gap:16px}
.invitation-row{grid-template-columns:1fr}
.row-actions{justify-content:flex-start}
.activity-row{grid-template-columns:1fr;gap:6px}
.stage-review-bar{font-size:12px}
.stage-review-bar nav{gap:14px}
}

@media print{.portal-header,.portal-footer,.stage-review-bar{display:none!important}
}


@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}


/* Invitation management shares the website's restrained colours and controls. */
.portal-page [hidden]{display:none!important}
.portal-page .status:empty{display:none}
.invitations-section{margin-top:32px}
.toolbar-actions,.management-actions,.inline-controls,.copy-field{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.toolbar-actions .button,.inline-controls .button{margin-top:0}
.invitation-filters{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin:20px 0 28px}
.invitation-filters label{margin-top:0;font-size:.85rem}
.invitation-filters select{min-width:180px}
.invitation-filters p{margin-bottom:12px;margin-left:auto}
.invitation-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:center}
.invitation-list{display:grid;gap:12px;padding:0;list-style:none;margin:0}
.invitation-row{display:block;padding:0;border:0}
.portal-page .invitation-record{position:relative;padding:18px 44px 18px 20px;text-decoration:none;color:inherit;background:var(--white);border:1px solid #B7CCDD;border-radius:var(--panel-radius);box-shadow:0 2px 6px rgb(0 69 119 / .06);cursor:pointer;transition:background-color var(--motion),border-color var(--motion),box-shadow var(--motion)}
.portal-page .invitation-record::after{content:"";position:absolute;top:25px;right:20px;width:8px;height:8px;border-top:2px solid var(--ink);border-right:2px solid var(--ink);transform:rotate(45deg)}
.portal-page .invitation-record:hover{background:var(--sky);border-color:var(--ink);box-shadow:0 3px 10px rgb(0 69 119 / .1)}
.portal-page .invitation-record:hover h3{text-decoration:underline;text-underline-offset:4px}
.portal-page .invitation-record:focus-visible{background:var(--sky);border-color:var(--ink);outline-offset:3px}
.invitation-row h3{font-size:1.05rem;margin:0;overflow-wrap:anywhere}
.invitation-row p{margin:0}
.invitation-summary-line{display:flex;align-items:center;justify-content:flex-end;gap:8px 16px;flex-wrap:wrap}
.activity-badge{display:inline-flex;align-items:center;gap:7px;border-radius:4px;padding:2px 8px;background:var(--sky);color:var(--ink);font-size:.8rem;white-space:nowrap}
.activity-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink)}
.empty-state{padding:28px 0;color:var(--slate)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0}
.pagination p{margin:0;font-size:.85rem;color:var(--slate)}
.invitation-dialog{border:1px solid var(--line);border-radius:var(--panel-radius);padding:32px;background:var(--paper);color:var(--ink);width:min(580px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain}
.invitation-dialog::backdrop{background:rgb(15 35 55 / .55)}
.manage-dialog{width:min(860px,calc(100% - 48px))}
.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.dialog-heading h2{margin:0 0 8px;overflow-wrap:anywhere}
.dialog-heading p{overflow-wrap:anywhere;margin:0}
.invitation-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:24px 0;margin:0}
.invitation-summary dt{font-size:.85rem;color:var(--slate)}
.invitation-summary dd{margin:6px 0 0;font-weight:500;overflow-wrap:anywhere}
.invitation-controls,.notification-settings,.invitation-activity{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.invitation-controls .quiet,.notification-settings .quiet{margin:14px 0}
.inline-controls select{flex:1;min-width:120px;width:auto}
.management-actions{margin-top:24px}
.invitation-dialog .check-label{display:flex;align-items:flex-start;gap:12px;font-weight:400}
.invitation-dialog input[type=checkbox]{width:22px;height:22px;min-height:22px;margin:3px 0 0;flex-shrink:0;accent-color:var(--ink)}
.sharing-panel{background:var(--sky);border-left:3px solid var(--ink);padding:24px;margin:8px 0 28px}
.sharing-panel h3{margin-top:0}
.copy-field{flex-wrap:nowrap}
.copy-field input{flex:1;min-width:0}
.copy-field button{flex-shrink:0}
.activity-list{list-style:none;margin:20px 0 0;padding:0}
.invitation-activity .section-heading{gap:16px;align-items:center}
.invitation-activity h3{margin:0}
.invitation-activity .activity-row{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0;border-top:1px solid var(--line)}
.activity-row strong{font-weight:500;font-size:.95rem}
.activity-row time{font-size:.85rem;color:var(--slate)}
.activity-row details{grid-column:1 / -1;font-size:.85rem;color:var(--slate)}
.activity-row details p{overflow-wrap:anywhere;margin:8px 0 0}
.activity-row summary{cursor:pointer;padding:10px 0}
@media(max-width:767px){
 .section-heading{gap:16px;align-items:flex-start;flex-direction:column}
 .toolbar-actions{width:100%}.toolbar-actions button{flex:1}
 .invitation-filters{gap:12px}.invitation-filters>div{flex:1;min-width:140px}.invitation-filters select{min-width:0}.invitation-filters p{width:100%;margin:0}
 .portal-page .invitation-record{grid-template-columns:minmax(0,1fr);gap:10px;padding:18px 16px}
 .invitation-record h3{padding-right:24px}
 .invitation-summary-line{justify-content:flex-start}
 .portal-page .invitation-record::after{right:16px;top:24px}
 .invitation-dialog,.manage-dialog{padding:24px 20px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .dialog-heading h2{font-size:1.5rem}.dialog-heading>button{padding:10px 14px}
 .invitation-summary{gap:20px 16px;font-size:.95rem}
 .inline-controls{align-items:stretch}.inline-controls select{width:100%}.inline-controls .button{width:100%}
 .copy-field{flex-wrap:wrap}.copy-field input{flex-basis:100%}
 .sharing-panel{padding:20px}
 .invitation-activity .section-heading{align-items:flex-start}
 .invitation-activity .activity-row{grid-template-columns:1fr}
 .pagination{gap:10px}.pagination button{padding:10px 14px}
}
.invitation-dialog{scroll-padding-top:140px}
.invitation-dialog .dialog-heading{position:sticky;top:0;z-index:2;background:var(--paper);padding-bottom:16px;border-bottom:1px solid var(--line)}
.invitation-dialog .dialog-heading .status{font-size:.85rem;margin:8px 0 0}

@media(prefers-reduced-motion:reduce){.portal-page .invitation-record{transition:none}}
