/* Simplification pass (owner, 2026-10-05): team pages. */

/* My profile: the Location box is wider than the phone box. */
.profile-location { flex: 2 1 18rem; }
.profile-location input { width: 100%; }

/* My reminders: the digest preview is a small link beside its switch. */
.pref-digest-switch { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.pref-preview-link { font-size: 0.85rem; }

/* Timesheet: certify a range on one row, From and To. */
.time-certify-range { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem; }
.time-certify-range > .field-line { flex: 0 1 auto; flex-direction: row; align-items: center; gap: 0.4rem; }
.time-certify-range > .field-line > input { width: auto; }

/* Time off: the forecast and history buttons sit beside the balance. */
.leave-balance-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; }
.leave-balance-row > .page-actions { margin: 0; }

/* Benefits & Pay: a card's name never breaks mid-word, and its favorite is a
   small star in the card's bottom corner. */
.tile { position: relative; }
.tile .tile-identity { flex: 1 1 auto; }
.tile .tile-identity h2 { flex: 1 1 auto; }
.tile .favorite-corner { position: absolute; right: 10px; bottom: 8px; margin: 0; }
.favorite-star { background: none; border: 0; padding: 4px 6px; font-size: 1.2rem; line-height: 1; color: var(--text-light); cursor: pointer; border-radius: 6px; }
.favorite-star[aria-pressed="true"] { color: var(--warn, #b7791f); }
.favorite-star:hover, .favorite-star:focus-visible { color: var(--accent); background: var(--chip); }
.tile:has(.favorite-corner) { padding-bottom: 2.4rem; }

/* Training: required tiles are solid and marked; optional ones are dashed,
   flat and quiet, so the two never look alike. */
.cert-kind { font-size: .72rem; font-weight: 700; }
.cert-tile:not(:has(.cert-dates)) .cert-kind { margin-top: auto; }
.cert-dates + .cert-kind { margin-top: .25rem; }
.cert-required { border-width: 1px 1px 1px 1px; border-top-width: 5px; box-shadow: 0 2px 8px var(--shadow); }
.cert-required .cert-kind { color: var(--accent); }
.cert-optional { opacity: .7; filter: grayscale(1); background: transparent; border-style: dashed; border-top: 1px dashed var(--line); box-shadow: none; }
.cert-optional .cert-kind { color: var(--text-light); font-weight: 600; }

/* Security: the two warnings under "Purpose of the visit" read as one line. */
.visit-warnings > p { display: inline; margin: 0; }
.visit-warnings { margin: 4px 0 0; }

/* Requests: search and filters on one row. */
.requests-own-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; }
.requests-own-filters #request-search { flex: 1 1 14rem; min-width: 0; }
.requests-own-filters > .field-line { flex: 0 1 auto; flex-direction: row; align-items: center; gap: .4rem; }
.requests-own-filters > .field-line > select { width: auto; }

/* Team: the Org chart link sits right beside the heading; a job title reads
   directly under each name. */
.team-head { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.team-head h1 { margin: 0; }
.person-title { margin: 2px 0 0; font-size: .9rem; color: var(--text); }
