/* Shared action states. Section artwork and composition remain separate. */
.button{transition:background-color .14s,border-color .14s,box-shadow .14s;box-shadow:0 1px 2px #10224b0a}
.button.secondary{background:#eef4fc;border-color:#d8e4f3;color:#173c69}
.button.secondary:hover:not(:disabled){background:#e4eefb;border-color:#acc9ee}
.button:hover:not(.secondary):not(:disabled){box-shadow:0 3px 8px #10224b18}
.button:active:not(:disabled){box-shadow:inset 0 1px 3px #10224b24}
.button:disabled{box-shadow:none;cursor:not-allowed}
[aria-busy=true] .button:disabled{cursor:wait}
.form-status[data-state=saving]{color:var(--muted)}
.form-status[data-state=saved]{color:var(--green)}
.form-status[data-state=error]{color:var(--red)}
.refresh-status{position:sticky;top:8px;z-index:2;width:fit-content;margin:0 0 12px;padding:8px 12px;background:#edf4ff;color:#173c69;border-radius:6px;font-size:14px}
.ui-notice{position:fixed;z-index:30;bottom:88px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:14px 18px;border:1px solid #c7dfd3;border-radius:8px;background:#f0faf4;color:#175538;box-shadow:0 4px 20px #10224b12;line-height:1.5}
.participation-editor .form-status{min-height:24px;margin:0}
.attendance-row [data-attendance-feedback]{grid-column:1 / -1;flex-basis:100%;font-size:13px}
.debt-record{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.debt-record .debt-athlete{border:0;border-radius:0;flex:1}
.debt-quick-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line)}
.debt-quick-actions .text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.debt-quick-actions .text-link svg{width:18px;height:18px}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
.home-priorities{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:22px}
.home-priorities h2,.consultation-group h2{font-size:18px;margin-bottom:14px}
.priority-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.priority-list a{display:flex;align-items:center;gap:12px;padding:14px;background:#f0f5fc;border-radius:8px;min-width:0}
.priority-list a>span{flex:1;min-width:0}.priority-list strong,.priority-list small{display:block}.priority-list small{margin-top:4px;color:var(--muted);font-size:13px}
.principal-contact{padding:18px 0;border-bottom:1px solid var(--line)}.principal-contact h2{font-size:18px;margin-bottom:14px}
.principal-contact>div{margin:12px 0}.principal-contact strong,.principal-contact small{display:block}.principal-contact small{margin:5px 0;color:var(--muted);font-size:13px}
.principal-contact a{display:inline-flex;gap:8px;align-items:center;min-height:44px;color:var(--blue)}
.consultation-group{margin-bottom:28px}.consultation-group .consultation-grid{margin-bottom:12px}
.enrollment-next{padding:18px;background:#eef7f1;border:1px solid #cde3d5;border-radius:8px;margin-bottom:20px}.enrollment-next h2{font-size:18px}.enrollment-next p{margin:8px 0 14px}
@media(max-width:640px){.priority-list{grid-template-columns:minmax(0,1fr)}.student-list-filters{flex-wrap:wrap}#content [aria-label="Estado de alumnos"]{flex-wrap:wrap}}
#content>[data-view-freshness]{font-size:12px;line-height:1.5;margin:0 0 8px;color:var(--muted)}
.app-header{padding-bottom:8px}main{padding-top:18px}
.student-grid .student-portrait{width:48px;height:48px;flex-shrink:0}.student-grid .student-row{gap:12px;align-items:flex-start}
.student-grid .student-row-copy>strong{font-size:15px;line-height:1.45}.profile-data-note{font-size:12px;color:var(--muted)}
.cash-statement .statement-line.opening{padding-top:0;padding-bottom:20px;font-weight:600}
.cash-statement .statement-line.net{font-size:15px}.cash-statement .statement-line.accumulated{margin-top:16px;padding:18px}
/* Sports tasks stay compact; warnings never change a quota automatically. */
.journey-tools,.journey-exceptional{margin:16px 0;border-top:1px solid #dce5ed;padding-top:12px}
.journey-tools>summary,.journey-exceptional>summary{cursor:pointer;font-weight:600;color:#31465d;min-height:44px;padding:10px 0}
.journey-tools>summary i{width:18px;height:18px;vertical-align:middle;margin-right:8px}
.journey-tools h3{font-size:14px;margin:16px 0 4px}
.journey-people>section{min-width:0;margin:20px 0}
.journey-people>section>h3{font-size:16px;color:#254766;border-bottom:2px solid #e6edf3;padding-bottom:10px}
.roster-context{display:flex;flex-wrap:wrap;gap:6px 12px;margin:8px 0;color:#486179;font-size:13px}
.roster-context small,.roster-warning{flex-basis:100%;margin:0}
.roster-warning{border-left:3px solid #d09b31;padding:6px 10px;background:#fff7e4;color:#755216}
.journey-person>details:not(.participation-editor){margin-top:10px}
.journey-person>details>a,.journey-person>details>button{margin:8px 6px 0 0}
.sports-capture{margin:16px 0 24px}
.sports-capture>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600;color:#125dd7}
