/* GSMaRT School System: the portals (students, parents, teachers, tenants) */
.portal-head { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: .8rem 1rem; box-shadow: var(--raise-1); }
.portal-head .portal-who { min-width: 0; flex: 1 1 260px; }
.portal-head .record-title { font-size: 1.15rem; }
.portal-head .portal-state { text-align: right; margin-left: auto; }
@media (max-width: 575.98px) { .portal-head .portal-state { text-align: left; margin-left: 0; } }
.portal-day { font-weight: 650; font-size: .85rem; color: var(--ink-soft); margin: .6rem 0 .3rem; }
.child-switch { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .9rem; }
.child-pick { display: flex; align-items: center; gap: .55rem; padding: .45rem .75rem .45rem .5rem; border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: var(--raise-1); min-width: 0; }
.child-pick:hover { border-color: #b9c6c3; text-decoration: none; }
.child-pick.active { border-color: var(--accent); box-shadow: inset 0 -2px 0 var(--accent), var(--raise-1); }
.child-pick span:last-child { display: flex; flex-direction: column; line-height: 1.2; }
.child-pick small { color: var(--muted); font-size: .76rem; }
.st:empty { display: inline-block; vertical-align: .05em; }
.class-roll td, .class-roll th { white-space: nowrap; }
.slip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .75rem; }
.slip { border: 1px dashed #9fb0ad; border-radius: 8px; padding: .8rem 1rem; background: #fff; break-inside: avoid; page-break-inside: avoid; }
.slip .slip-school { font-family: var(--font-title); font-weight: 650; font-size: .95rem; }
.slip .slip-name { font-weight: 650; margin-top: .3rem; }
.slip dl { display: grid; grid-template-columns: max-content 1fr; gap: .1rem .6rem; margin: .4rem 0 0; font-size: .85rem; }
.slip dt { color: var(--muted); font-weight: 500; }
.slip dd { margin: 0; font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); }
.slip .slip-note { font-size: .74rem; color: var(--muted); margin-top: .4rem; }
@media print { .slip-grid { grid-template-columns: repeat(2, 1fr); } }
.payslip-table td { padding: .2rem .4rem; }
