.ap-portal { color:var(--secondary-ultra-dark,#073d34); max-width:100%; --ap-gap:var(--space-s,1rem); }
.ap-portal *, .ap-portal *::before, .ap-portal *::after { box-sizing:border-box; }
.ap-task-grid,.ap-document-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:var(--ap-gap); }
.ap-task-card { display:flex; flex-direction:column; gap:var(--space-xs,.65rem); padding:var(--space-m,1.5rem); background:var(--accent-ultra-light,#e7f2e8); border:1px solid var(--accent-medium,#aac8ad); border-radius:var(--radius-l,1rem); color:inherit; margin-bottom:var(--space-xs,.65rem); overflow-wrap:anywhere; }
.ap-task-card a { color:var(--secondary-dark,#004e43); }
.ap-task-card h3 { margin:0; }
.ap-form,.ap-login form { display:grid; grid-template-columns:1fr; gap:var(--ap-gap); margin-block:var(--space-m,1.5rem); max-width:55rem; }
.ap-form label,.ap-login label { display:flex; flex-direction:column; gap:.35rem; }
.ap-form input:not([type=checkbox]),.ap-form select,.ap-form textarea,.ap-login:not(.form--light) input:not([type=hidden]),.ap-upload-category select { width:100%; min-width:0; background:var(--white,#fff); border:1px solid var(--accent-medium,#aac8ad); border-radius:var(--radius-s,.4rem); padding:.7rem; font:inherit; color:inherit; }
.ap-form label:has(input[type=checkbox]) { flex-direction:row; align-items:center; }
.ap-form input[type=checkbox] { width:1.25rem; height:1.25rem; }
.ap-button { display:inline-flex; justify-content:center; align-items:center; gap:.65em; padding:.7em 1em; background:var(--success,#149f72); color:var(--white,#fff)!important; border:1px solid var(--success,#149f72); border-radius:var(--radius-l,1rem); font:inherit; font-weight:700; cursor:pointer; text-align:center; text-decoration:none; transition:background .25s,color .25s; }
.ap-button:hover,.ap-button:focus-visible { background:var(--success-light,#d2efda); color:var(--success,#149f72)!important; }
.ap-table-wrap { overflow-x:auto; max-width:100%; }
.ap-portal table { width:100%; border-collapse:collapse; background:var(--white,#fff); }
.ap-portal td,.ap-portal th { text-align:left; padding:.75rem; border-bottom:1px solid var(--accent-medium,#aac8ad); vertical-align:top; }
.ap-alert { padding:var(--space-s,1rem); background:var(--accent-ultra-light,#e7f2e8); border-radius:var(--radius-s,.4rem); }
.ap-portal pre { white-space:pre-wrap; overflow-wrap:anywhere; max-width:100%; font-size:.9em; }
.ap-advisor-message-form_actions:has(.ap-upload-documents) { display:grid; grid-template-columns:1fr; gap:var(--space-s); width:100%; }
.ap-advisor-message-submit.ap-upload-documents { background:var(--success-dark); text-decoration:none; }
.ap-advisor-message-submit.ap-upload-documents:hover,.ap-advisor-message-submit.ap-upload-documents:focus-visible { background:var(--success-light); border-color:var(--success); color:var(--success); }
#ap-pdf-dialog { width:min(95vw,70rem); max-height:90dvh; border:0; border-radius:var(--radius-l,1rem); padding:var(--space-s,1rem); background:#f4f7f5; }
#ap-pdf-dialog::backdrop,#ap-session-dialog::backdrop { background:rgb(0 25 22 / .75); }
#ap-pdf-dialog canvas { display:block; max-width:100%; height:auto; margin:1rem auto; }
#ap-session-dialog { border:0; border-radius:var(--radius-l,1rem); padding:var(--space-m,1.5rem); max-width:min(90vw,32rem); background:var(--accent-ultra-light,#e7f2e8); color:var(--secondary-ultra-dark,#073d34); }
.ap-session-warning { display:grid; gap:var(--space-s,1rem); }
.ap-security input { max-width:100%; }
@media(max-width:600px) { .ap-task-card { padding:var(--space-s,1rem); }.ap-portal td,.ap-portal th { padding:.5rem; }.ap-form select[multiple] { min-height:9rem; } }
/* Only private staff uploads need a recipient choice; general documents inherit context. */
.ap-portal form:has(select[name="ap_category"] option[value="general"]:checked) [data-ap-private-recipient] { display: none; }
[data-ap-private-recipient] { display: grid; gap: .5em; }
