:root{font-family:Segoe UI,Arial,sans-serif;color:#19344a;background:#f2f5f7;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:#12618c;text-underline-offset:3px}.wrap{max-width:1140px;margin:auto;padding:24px}header{background:#fff;border-bottom:4px solid #388bb3}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:30px;font-weight:750;text-decoration:none}.brand span{display:block;font-size:13px;font-weight:400;color:#476477}nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}nav span{font-size:14px}nav form{margin:0}h1{font-size:32px;margin:4px 0 24px;line-height:1.25}.eyebrow{color:#557082;font-size:14px}.panel,.card{background:white;border:1px solid #dbe4e9;border-radius:12px;padding:24px;margin-bottom:20px}.login{max-width:470px;margin:36px auto}.login label{display:block;margin:18px 0 7px}input,select,button{font:inherit;border-radius:6px}input,select{padding:11px;border:1px solid #a8bdc9;width:100%;background:white}button,.button{display:inline-block;padding:11px 18px;border:0;background:#176c98;color:white;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#114e6e}.secondary{background:#eaf1f5;color:#174964}.login button{width:100%;margin-top:24px}.hint{font-size:14px;color:#557082}.error{padding:14px;background:#ffeded;border-left:4px solid #b73b3b}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:16px;align-items:end}.filters label{display:block;margin-bottom:7px}.count{color:#557082}.card h2{font-size:22px;margin:8px 0 12px}.meta{display:flex;gap:24px;flex-wrap:wrap;color:#4e6879;font-size:14px}.pill{display:inline-block;background:#e8f2f8;color:#205574;padding:3px 10px;border-radius:14px;font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid dt{color:#557082;font-size:14px}.grid dd{margin:5px 0 18px}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}footer{font-size:13px;color:#557082}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:10px;border-bottom:1px solid #e1e8ed}.pagination{display:flex;gap:15px;align-items:center}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #eebd49;outline-offset:3px}@media(max-width:750px){header .wrap{align-items:flex-start;flex-direction:column}.filters,.grid{grid-template-columns:1fr}.wrap{padding:18px}h1{font-size:27px}nav{gap:12px}}@media print{header,footer,.filters,.pagination{display:none}body{background:white}.panel,.card{border:0}a{color:inherit;text-decoration:none}}
.activity-form label{display:block;margin:18px 0 7px;font-weight:600}.activity-form textarea{font:inherit;width:100%;border:1px solid #a8bdc9;border-radius:6px;padding:12px;resize:vertical}.activity-form input[readonly]{background:#eef2f5}.activity-form .form-field{margin-bottom:18px}.field-error{color:#a52626;font-size:14px}.activity-form button{margin-bottom:24px}.activity-form textarea:focus-visible{outline:3px solid #eebd49;outline-offset:3px}
.section-nav{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}.section-nav [aria-current=page]{font-weight:700}.activity-form .check{display:flex;align-items:flex-start;gap:12px;font-weight:400;margin:14px 0;line-height:1.5}.check input{width:20px;min-width:20px;height:20px;margin-top:2px}.objectives{padding-left:20px}.objectives .check{font-size:15px}.activity-form section>button{margin-top:18px}
@media print{.activity-form,.section-nav,.hint,.error,[role="status"]{display:none}.panel{padding:8px 0}h2,h3,h4{break-after:avoid}.prose{orphans:3;widows:3}}
.activity-step-nav{gap:10px;align-items:stretch}.activity-step-nav .button{display:flex;align-items:center;max-width:100%;border:1px solid #a8bdc9;border-radius:8px;background:#fff;color:#174964;line-height:1.4;padding:12px 16px}.activity-step-nav .button:hover{background:#eaf1f5;border-color:#176c98}.activity-step-nav .button[aria-current=page]{background:#176c98;border-color:#176c98;color:#fff;font-weight:700}.activity-step-nav .button[aria-current=page]:hover{background:#114e6e}
input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.finance-cost-section.has-cost{background:#e4f4df;border-color:#8bbd7a}
.finance-cost-detail{padding:16px;margin-top:16px;border:1px solid transparent;border-radius:8px}.finance-cost-detail.has-cost{background:#c8e6bd;border-color:#78a967}
.finance-cost-section.has-error,.finance-cost-section .finance-cost-detail.has-error{background:#ffeded;border-color:#b73b3b}
.submission-state,.approval-state{font-weight:700}.submission-state.is-submitted,.approval-state.is-approved{color:#176333;background:#e8f5ec}.submission-state.is-unsubmitted,.approval-state.is-unapproved{color:#a52626;background:#ffeded}
.report-table{overflow-x:auto}table tfoot{font-weight:700}@media print{.report-table{overflow:visible}thead{display:table-header-group}tr{break-inside:avoid}}

.transport-map td{vertical-align:top;overflow-wrap:anywhere}.transport-map table{font-size:13px}.transport-map td p{margin:8px 0}@media print{.transport-map{page:transport}.transport-map table{font-size:9px;width:100%}.transport-map td{max-width:48mm}}@page transport{size:A4 landscape;margin:10mm}

/* Menu pessoal, ativado apenas na nova atividades.php. */
.paa-menu{position:relative}.paa-menu summary{color:#12618c;cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.paa-menu summary:focus-visible{outline:3px solid #eebd49;outline-offset:3px}.paa-menu-items{position:absolute;top:100%;left:0;z-index:20;min-width:260px;max-width:calc(100vw - 36px);padding:8px;background:white;border:1px solid #a8bdc9;border-radius:8px;box-shadow:0 8px 24px #19344a26;display:grid;gap:4px}.paa-menu-items a,.paa-menu-items span{display:block;padding:11px 12px;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.paa-menu-items a{text-decoration:none;border-radius:4px}.paa-menu-items a:hover{background:#e8f2f8}.paa-menu-items [aria-disabled=true]{color:#557082;font-size:14px}.step-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0 8px}.activity-form .step-actions button{margin:0}.step-actions button:disabled{opacity:.5;cursor:default}.step-actions button:disabled:hover{background:#176c98}@media print{.step-actions{display:none}}
.pedagogy-goal:has(> .check input[name="goals[]"]:checked){background:#e4f4df;border-color:#8bbd7a}
.finance-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:end}.finance-pair .form-field{min-width:0}.finance-unit{display:flex;align-items:stretch}.finance-unit input{min-width:0;border-radius:6px 0 0 6px}.finance-unit span{display:flex;align-items:center;padding:0 14px;background:#eaf1f5;border:1px solid #a8bdc9;border-left:0;border-radius:0 6px 6px 0}@media(max-width:750px){.finance-pair{grid-template-columns:1fr;gap:0}}
.finance-pair input,.finance-pair select{height:47px}
.activity-review .review-item{display:grid;grid-template-columns:fit-content(55%) minmax(0,1fr);column-gap:.5em;align-items:baseline;margin:18px 0;min-width:0;overflow-wrap:anywhere}.activity-review .review-item h3{font-size:16px;line-height:1.6;margin:0}.activity-review .review-item .prose{min-width:0}.activity-review.review-selected{background:#e4f4df;border-color:#8bbd7a}.activity-review .finance-pair{align-items:start}

/* Ficha: comando no ecrã e identificação da coordenação no início da impressão. */
.activity-sheet-heading{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:4px 0 24px}.activity-sheet-heading h1{margin:0}.activity-print-coordinator{display:none}
@page activity-sheet{size:A4 portrait;margin:12mm}
@media print{
 main.wrap:has(.activity-sheet){page:activity-sheet;max-width:none;padding:0}
 .activity-sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .activity-sheet-heading button{display:none}
 .activity-sheet .activity-print-coordinator{display:block}
 .activity-sheet .panel{border:1px solid #dbe4e9;padding:24px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
 .activity-sheet .review-selected{border-color:#8bbd7a}
 .activity-sheet .review-item{break-inside:avoid}
 .activity-sheet .review-item h3{break-after:auto}
 .activity-sheet .finance-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
}
@media print{
 html:has(.activity-sheet){background:white}
 .activity-sheet-heading,.activity-sheet .activity-review>h2,.activity-sheet .finance-pair{break-inside:avoid}
 .activity-sheet .activity-review>p{break-after:avoid;break-inside:avoid}
}
@media print{
 .activity-sheet .review-pedagogy:not(.review-selected),.activity-sheet .review-pedagogy .review-unselected{display:none}
 .activity-sheet .review-pedagogy.review-selected{background:white;border-color:#dbe4e9}
}
/* Identificação e saudação junto à marca, fora da navegação. */
.header-identity{min-width:0;max-width:100%}.header-greeting{margin:10px 0 0;font-size:14px;line-height:1.5;color:#476477;overflow-wrap:anywhere}header nav{min-width:0}
.activity-edit-heading span{font-size:18px;font-weight:400;line-height:1.5;margin-left:.5em;overflow-wrap:anywhere}
.activity-card-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.activity-card-heading .button{max-width:100%;overflow-wrap:anywhere}
.activity-card-heading .activity-card-title{font-size:20px;line-height:1.3;margin:0;flex:1;min-width:180px}
.activity-card-actions{display:flex;justify-content:flex-start;margin-bottom:12px}.activity-card-actions .button{max-width:100%;overflow-wrap:anywhere}
.activity-card-heading .activity-card-view{margin-left:auto}

.activity-card-heading .activity-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin:0 0 0 auto;white-space:nowrap}.activity-card-actions .button{padding:7px 12px;line-height:1.25;text-align:center}@media(max-width:750px){.activity-card-heading .activity-card-actions{width:100%;align-items:stretch;white-space:normal}.activity-card-actions .button{width:100%}}

/* Cabeçalho em três colunas: identidade, navegação e conta. */
header>.wrap{display:block}
.header-layout{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,2.4fr) minmax(145px,.8fr);align-items:center;gap:24px}
.header-identity{min-width:0;max-width:100%}
.header-greeting{margin:10px 0 0;font-size:14px;line-height:1.5;color:#476477;overflow-wrap:anywhere}
header nav.header-navigation{display:flex;justify-content:center;align-content:center;gap:8px 16px;min-width:0;flex-wrap:wrap}
header nav.header-navigation>a,header nav.header-navigation .paa-menu>summary{font-size:14px;line-height:1.4}
.header-account{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:start;gap:10px}
.header-account form{margin:0}
.header-logout{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:110px;min-width:110px;max-width:100%}
.header-logout .header-version{width:100%;margin:0;text-align:left}
.header-account button{min-width:110px}
@media(max-width:900px){.header-layout{grid-template-columns:minmax(160px,.9fr) minmax(0,2fr) minmax(120px,.7fr);gap:14px}header nav.header-navigation{gap:6px 10px}header nav.header-navigation>a,header nav.header-navigation .paa-menu>summary{font-size:13px}}
@media(max-width:750px){.header-layout{grid-template-columns:1fr;gap:14px}.header-identity{flex-basis:auto}header nav.header-navigation{justify-content:flex-start;align-items:flex-start}.header-account{flex-direction:row;justify-content:flex-start;align-items:center}}
.reference-error{color:#b42318;font-weight:700}
.registration-form input::placeholder{font-style:italic}
header{position:sticky;top:0;z-index:100}

/* Títulos das secções de O meu PAA. */
.my-paa-role>.my-paa-role-heading{text-decoration:none;border:0;border-left:2px solid #a8bdc9;border-bottom:2px solid #a8bdc9;padding:10px 14px}
.my-paa-role--coordinator>.my-paa-role-heading{background:#7a243a;color:#fff;border-color:#7a243a}
.my-paa-role--responsible>.my-paa-role-heading{background:#24532d;color:#fff;border-color:#24532d}
.my-paa-role--companion>.my-paa-role-heading{background:#592d73;color:#fff;border-color:#592d73}

.header-school{margin:0 0 10px;font-size:14px;line-height:1.5;color:#476477;overflow-wrap:anywhere}

.header-version{margin:0 0 6px;font-size:13px;line-height:1.5;color:#b42318;overflow-wrap:anywhere}

.page-end-line{display:flex;align-items:center;gap:16px;color:#557082;font-size:14px;line-height:1.5}.page-end-line::before,.page-end-line::after{content:'';flex:1;border-top:1px solid #a8bdc9}.page-end-line span{flex-shrink:0}

.brand{display:flex;align-items:center;gap:10px;color:#12618c}.brand-name{font:inherit}.brand .brand-description{font-size:13px;font-weight:400;line-height:1.25;color:#476477;white-space:nowrap}

.history-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(140px,1fr) auto;gap:16px;align-items:end}.history-filters>div{min-width:0}.history-filters label{display:block;margin-bottom:7px;font-weight:600}@media(max-width:900px){.history-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:750px){.history-filters{grid-template-columns:1fr}}

input::placeholder,textarea::placeholder{color:#c45b5b;opacity:1}

.panel.save-success{background:#e4f4df;border-color:#8bbd7a}

/* A instrução fica vermelha no campo e na lista; as escolhas mantêm a cor normal. */
select:has(option.select-placeholder:checked):not([multiple]){color:#c45b5b}
select option,select optgroup{color:FieldText}
select option.select-placeholder{color:#c45b5b}

/* Asteriscos de campos obrigatórios, incluindo os que mudam com as escolhas. */
.required-marker,#calendar-required,#day-required,#articulation-required{color:#a52626}

.transport-details{border:0;padding:0;margin:0 0 0 24px;min-width:0}@media(max-width:750px){.transport-details{margin-left:16px}}

.companion-entry{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;margin:12px 0}.companion-entry p{margin:0;overflow-wrap:anywhere}.companion-entry form{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%;margin:0}.companion-entry button{margin:0}.companion-picker-actions{margin:12px 0 18px}.companion-picker-actions button{margin:0}

.companion-entry[hidden]{display:none}

.companion-entry button[data-remove-pending],.companion-entry button[data-remove-saved]{color:#a52626}

.participant-group-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.participant-group-actions button{margin:0}.participant-group-entry[hidden]{display:none}

.participant-count-fields{border:0;padding:0;margin:0 0 0 24px;min-width:0}@media(max-width:750px){.participant-count-fields{margin-left:16px}}

.participant-group-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.participant-group-heading h3{margin:0;min-width:0;overflow-wrap:anywhere}.participant-group-heading .participant-group-actions{margin:0}.participant-group-heading button{padding:7px 12px;line-height:1.25}

.companion-entry.card{margin:0 0 20px}

.participant-group-entry:focus{outline:3px solid #eebd49;outline-offset:3px}

.participant-group-actions button[data-remove-group]{color:#a52626}

.companion-entry:focus{outline:3px solid #eebd49;outline-offset:3px}

.activity-form .form-subheading{font:inherit;font-weight:600;margin:18px 0 7px}

.header-account .button,.header-account button{border-radius:8px}
.header-account .button:hover,.header-account button:hover,.header-account .button:focus-visible,.header-account button:focus-visible{background:#114e6e;color:#fff}

header nav.header-navigation{gap:6px 8px}
header nav.header-navigation>a.header-nav-button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:6px 10px;border:1px solid #a8bdc9;border-radius:999px;background:#fff;color:#174964;text-decoration:none;font-size:13px;line-height:1.3;text-align:center;overflow-wrap:anywhere}
header nav.header-navigation>a.header-nav-button:hover,header nav.header-navigation>a.header-nav-button:focus-visible{background:#e8f2f8;color:#114e6e;border-color:#388bb3}

header nav.header-navigation>a.header-nav-button[aria-current="page"]{background:#e8f2f8;color:#114e6e;border-color:#388bb3}
.header-account .button[aria-current="page"]{background:#114e6e;color:#fff}

/* As opções administrativas aproveitam o espaço entre a identidade e a conta. */
header .wrap:has(>.header-admin-layout){max-width:1600px;width:100%}
.header-layout.header-admin-layout{width:100%;grid-template-columns:170px minmax(0,1fr) 125px;gap:12px;align-items:center}
.header-admin-layout .header-identity{grid-column:1;grid-row:1}
.header-admin-layout .header-identity>.header-greeting{margin:0 0 10px}
.header-admin-layout .header-account{grid-column:3;grid-row:1}
.header-admin-layout nav.header-navigation{grid-column:2;grid-row:1}
@media(max-width:750px){
    .header-layout.header-admin-layout{grid-template-columns:minmax(0,1fr) auto;gap:14px}
    .header-admin-layout .header-account{grid-column:2;grid-row:1}
    .header-admin-layout nav.header-navigation{grid-column:1/-1;grid-row:2}
}
@media(min-width:751px) and (max-width:1000px){.header-layout.header-admin-layout{grid-template-columns:150px minmax(0,1fr) 115px;gap:10px}header .header-admin-layout nav.header-navigation>a.header-nav-button{font-size:12px;padding:5px 8px}}
/* Dados e ação de cada estrutura apresentados na mesma linha. */
.structure-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.6fr) auto;align-items:center;gap:14px;padding:14px 16px;font-size:14px}
.structure-row h3{margin:0;font-size:16px}
.structure-row p{margin:0}
.structure-row>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.structure-row{display:flex;flex-wrap:wrap}.structure-row h3{flex-basis:100%}}
.activity-form.structure-controls{display:flex;align-items:center;gap:12px;margin:0 0 20px}
.activity-form.structure-controls label{margin:0;flex-shrink:0}
.activity-form.structure-controls select{flex:1;min-width:0;width:auto}
.activity-form.structure-controls button,.activity-form.structure-controls .button{margin:0;flex-shrink:0}
@media(max-width:900px){.activity-form.structure-controls{flex-wrap:wrap}.activity-form.structure-controls select{flex-basis:200px}}
.activity-delete-link{color:#a52626}.danger-button{background:#a52626;color:#fff}.danger-button:hover,.danger-button:focus-visible{background:#7e1c1c;color:#fff}
.council-appraisal-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:16px;align-items:end}
.council-appraisal-row>div{min-width:0}
.activity-form .council-appraisal-row label{margin:0 0 7px}
.activity-form .council-appraisal-row button{margin:0}
@media(max-width:750px){.council-appraisal-row{grid-template-columns:1fr}}

/* Tarefas administrativas disponíveis ao passar o rato ou navegar por teclado. */
.admin-management-menu{position:relative;max-width:100%}
header nav.header-navigation .admin-management-menu>a.header-nav-button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:6px 10px;border:1px solid #a8bdc9;border-radius:999px;background:#fff;color:#174964;text-decoration:none;font-size:13px;line-height:1.3;text-align:center;overflow-wrap:anywhere}
header nav.header-navigation .admin-management-menu>a.header-nav-button:hover,header nav.header-navigation .admin-management-menu>a.header-nav-button:focus-visible,header nav.header-navigation .admin-management-menu>a.header-nav-button[aria-current="page"]{background:#e8f2f8;color:#114e6e;border-color:#388bb3}
.admin-management-menu>.admin-management-items{display:none}
.admin-management-menu:hover>.admin-management-items,.admin-management-menu:focus-within>.admin-management-items{display:grid}
.admin-management-items a[aria-current="page"],.admin-management-items a:focus-visible{background:#e8f2f8}
@media(min-width:751px) and (max-width:1000px){header .header-admin-layout nav.header-navigation .admin-management-menu>a.header-nav-button{font-size:12px;padding:5px 8px}}

/* Inscrição no cabeçalho da página de login. */
.header-layout.header-login-layout{grid-template-columns:minmax(0,1fr) auto}.header-registration{justify-self:end;text-align:right}.header-registration .button{max-width:100%}@media(max-width:750px){.header-layout.header-login-layout{grid-template-columns:1fr}}

/* Espaçamento exterior compacto na página de login. */
body:has(main.wrap>.login) header>.wrap{padding-top:12px;padding-bottom:12px}.header-layout.header-login-layout{gap:8px 16px}.header-login-layout .header-school{margin:0 0 6px}main.wrap:has(>.login){padding:12px 16px 4px}main.wrap>.login{margin:0 auto;padding-top:12px}main.wrap>.login>h2{margin-top:0}main.wrap:has(>.login)+footer.wrap{padding:4px 16px 8px}

/* Atalhos para as secções de O meu PAA. */
.my-paa-heading{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin:4px 0 24px}.my-paa-heading>h1{margin:0}.my-paa-navigation{gap:8px;margin-left:auto}.my-paa-shortcut{display:inline-block;padding:7px 12px;border-radius:10px;font-size:13px;line-height:1.4;color:#fff;text-decoration:none;text-align:center}.my-paa-shortcut--coordinator{background:#7a243a}.my-paa-shortcut--responsible{background:#24532d}.my-paa-shortcut--companion{background:#592d73}.my-paa-shortcut:hover{filter:brightness(1.15)}.my-paa-role-heading>h2[id]{scroll-margin-top:var(--my-paa-header-offset,220px)}@media(max-width:750px){.my-paa-navigation{justify-content:flex-end;max-width:100%}}@media print{.my-paa-navigation{display:none}}
/* Atalhos na linha de cada título de secção. */
.my-paa-role-heading{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin:0.83em 0}.my-paa-role-heading>h2{margin:0;font-size:24px}.my-paa-role-heading .my-paa-navigation{justify-content:flex-end}.my-paa-role-heading .my-paa-shortcut{border:1px solid rgba(255,255,255,.5)}

.registration-form .username-space-warning{display:block;margin-top:6px;color:#b42318;font-size:14px;line-height:1.4;animation:username-warning-flash 1.2s ease-in-out infinite}.registration-form .username-space-warning:empty{display:none}

@keyframes username-warning-flash{0%,100%{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.registration-form .username-space-warning{animation:none}}

/* Campos da inscrição visíveis abaixo do cabeçalho fixo. */
.registration-form input,.registration-form select,.registration-form textarea{scroll-margin-top:var(--registration-header-offset,160px)}

/* Confirmação de inscrição e agradecimento. */
.registration-success{position:fixed;top:33.333vh;top:33.333dvh;left:50%;right:auto;bottom:auto;transform:translateX(-50%);margin:0;width:min(560px,calc(100% - 32px));max-height:calc(66.667dvh - 16px);overflow:auto;padding:28px;border:1px solid #a8bdc9;border-radius:14px;background:#fff;color:#19344a;box-shadow:0 12px 40px rgba(25,52,74,.22);z-index:101}.registration-success::backdrop{background:rgba(25,52,74,.35)}.registration-success h2{margin:0 0 16px;font-size:24px}.registration-success p{margin:0 0 24px;line-height:1.6}.registration-success form{text-align:center;margin:0}.registration-success button{min-width:90px;border-radius:8px}.registration-thanks:not([hidden]){position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 32px);text-align:center}.registration-thanks h1{margin:0;font-size:clamp(48px,8vw,80px);line-height:1.2}.registration-thanks h1:focus{outline:none}main.wrap:has(>.registration-thanks){min-height:calc(100dvh - 200px)}
/* Ações de gestão de contas na mesma linha. */
.account-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin:16px 0 0}.account-actions button,.account-actions .button{margin:0;padding:8px 10px;border:1px solid transparent;border-radius:8px;font-size:14px;line-height:1.4;white-space:nowrap;text-align:center}.account-actions .account-action-approve{background:#24643b;color:#fff;border-color:#24643b}.account-actions .account-action-approve:hover{background:#19482a;border-color:#19482a}.account-actions .account-action-reject{background:#b42318;color:#fff;border-color:#b42318}.account-actions .account-action-reject:hover{background:#8f1c13;border-color:#8f1c13}.account-actions .account-action-edit{background:#fff;color:#405466;border-color:#8a9aa8}.account-actions .account-action-edit:hover{background:#edf1f4;color:#253848;border-color:#405466}@media(max-width:400px){.account-actions{gap:6px}.account-actions button,.account-actions .button{padding:8px;font-size:13px}}
/* Cartões de utilizadores com identificação, detalhes e ações em três colunas. */
.account-card-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:24px;align-items:start;margin-top:20px}.account-card-layout dl{margin:0;min-width:0}.account-card-layout dt{font-size:14px;color:#557082;margin:0 0 4px}.account-card-layout dd{margin:0 0 16px;line-height:1.5;overflow-wrap:anywhere}.account-card-layout dd:last-child{margin-bottom:0}.account-card-actions{justify-self:end}.account-card-actions .account-actions{margin:0}@media(max-width:900px){.account-card-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.account-card-actions{grid-column:1/-1;justify-self:end}}@media(max-width:550px){.account-card-layout{grid-template-columns:minmax(0,1fr);gap:20px}.account-card-actions{justify-self:start}}
/* Alteração direta do estado no cartão de utilizador. */
.account-actions .account-action-activate{background:#fff;color:#24643b;border-color:#24643b}.account-actions .account-action-activate:hover{background:#e8f5ec;color:#19482a;border-color:#19482a}.account-actions .account-action-deactivate{background:#fff;color:#9c352b;border-color:#b16a61}.account-actions .account-action-deactivate:hover{background:#ffeded;color:#8f1c13;border-color:#8f1c13}

/* Estado junto à ação da conta. */
.account-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:100%}.account-card-actions .account-card-status{flex:0 0 auto}.account-card-status dd{margin:0}

/* Estado sem ação e botão de alteração com cores opostas. */
.account-card-status .account-status{display:inline-block;padding:8px 12px;border:1px solid transparent;border-radius:8px;font-size:14px;line-height:1.4;cursor:default;opacity:1}.account-card-status .account-status-active{background:#24643b;color:#fff;border-color:#24643b}.account-card-status .account-status-inactive{background:#b42318;color:#fff;border-color:#b42318}.account-card-status .account-status-pending{background:#f5ecd4;color:#715313;border-color:#d8c28b}.account-actions .account-action-activate{background:#24643b;color:#fff;border-color:#24643b}.account-actions .account-action-activate:hover{background:#19482a;color:#fff;border-color:#19482a}.account-actions .account-action-deactivate{background:#b42318;color:#fff;border-color:#b42318}.account-actions .account-action-deactivate:hover{background:#8f1c13;color:#fff;border-color:#8f1c13}
/* Campo e valor na mesma linha nos cartões de utilizadores. */
.account-card-layout .account-field{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;margin-bottom:12px}.account-card-layout .account-field:last-child{margin-bottom:0}.account-card-layout .account-field dt,.account-card-layout .account-field dd{margin:0;line-height:1.5}.account-card-layout .account-field dd{min-width:0;overflow-wrap:anywhere}

/* Confirmação e resultado da rejeição de inscrições. */
.account-dialog{position:fixed;top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);margin:0;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:1px solid #a8bdc9;border-radius:14px;background:#fff;color:#19344a;box-shadow:0 12px 40px rgba(25,52,74,.22);z-index:101}.account-dialog::backdrop{background:rgba(25,52,74,.35)}.account-dialog h2{margin:0 0 16px;font-size:24px}.account-dialog p{margin:0 0 24px;line-height:1.6;overflow-wrap:anywhere}.account-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:0}.account-dialog-actions button{min-width:80px;border-radius:8px}.account-dialog .account-dialog-reject{background:#b42318;color:#fff}.account-dialog .account-dialog-reject:hover{background:#8f1c13}.account-dialog .account-dialog-cancel{background:#fff;color:#405466;border:1px solid #8a9aa8}.account-dialog .account-dialog-cancel:hover{background:#edf1f4}
/* Pesquisa de contas numa única linha. */
.activity-form.account-filters{display:flex;align-items:center;gap:16px}.activity-form.account-filters label{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap;font-size:14px}.account-filters label:first-child{flex:0 0 auto}.account-filters label:nth-child(2){flex:1;min-width:0}.account-filters select{width:180px}.account-filters input{flex:1;min-width:0}.activity-form.account-filters button{margin:0;flex-shrink:0}@media(max-width:750px){.activity-form.account-filters{flex-wrap:wrap;gap:12px}.account-filters label:nth-child(2){flex-basis:100%}.account-filters select{width:auto;min-width:0;flex:1}.account-filters label:first-child{width:100%}.activity-form.account-filters button{margin-left:auto}}
.account-card-actions .account-delete-action{flex-basis:100%;background:#fff;color:#9d2424;border:1px solid #9d2424;text-align:center;font-size:13px;padding:8px 12px}.account-card-actions .account-delete-action:hover,.account-card-actions .account-delete-action:focus-visible{background:#9d2424;color:#fff}

.account-activity-divider{width:100%;border:0;border-top:1px solid #dbe4e9;margin:16px 0}

.activity-card-heading .activity-role-button{padding:7px 12px;font-size:14px;line-height:1.25}.account-dialog ul{margin:0 0 24px;padding-left:24px;line-height:1.6;overflow-wrap:anywhere}

.activity-card-heading .activity-role-button:hover,.activity-card-heading .activity-role-button:focus-visible{color:#fff;background:#114e6e}

.account-dialog .activity-people-empty{color:#b42318}

/* Ano letivo configurado, por baixo da saudação. */
.header-school-year,.header-date-time{margin:2px 0 0;font-size:14px;line-height:1.5;color:#476477;overflow-wrap:anywhere}
.header-admin-layout .header-identity>.header-greeting{margin-bottom:0}

/* Separadores entre as filas de botões, acompanhando a quebra automática. */
header nav.header-navigation{row-gap:12px;background-repeat:no-repeat}

/* Saudação e data centradas sobre a navegação. */
.header-center{min-width:0}
.header-center>.header-greeting{margin:0;text-align:center}
.header-center>.header-date-time{margin:2px 0 12px;text-align:center;font-variant-numeric:tabular-nums}
.header-admin-layout>.header-center{grid-column:2;grid-row:1}
@media(max-width:750px){.header-admin-layout>.header-center{grid-column:1/-1;grid-row:2}}