/* Mentor app: inbox, feedback workspace, profile editor, earnings. */
.inbox-li{align-items:flex-start}
/* ---------- mentor: requests inbox ---------- */
.inbox-act{flex:0 0 auto;justify-content:flex-end;gap:8px}
.inbox-act .status{align-self:center}
@media (max-width:600px){
  .inbox-li{flex-direction:column;align-items:stretch}
  .inbox-act{justify-content:flex-start;width:100%}
  .inbox-act .btn{flex:1 1 0}
}
/* ---------- mentor: feedback workspace ---------- */
#nf .panel-h{flex-wrap:wrap;row-gap:4px}
#nf .panel-h > b{white-space:nowrap}
@media (max-width:600px){
  #nf .panel-h > span{flex:1 1 100%}
}
/* ---------- mentor: profile photo ---------- */
.photo-edit{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.photo-edit > .stack{flex:1 1 220px;justify-items:start}
.file-vh{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}
/* ---------- mentor: earnings ---------- */
.earn-tbl td{vertical-align:top}
@media (max-width:600px){
  .earn-tbl th:nth-child(4),.earn-tbl td:nth-child(4){display:none}
  .earn-tbl th,.earn-tbl td{padding:10px 10px}
}
/* ---------- shell: notifications list keeps the time on one line ---------- */
/* Mentor app styles (fix round, one owner: js/app/mentor.js). Audit: docs/audit-apple/04-mentor.md. */
.m-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* ---------- sheets (Accept, Pass, Send) ---------- */
.m-sheet-act{justify-content:flex-end;gap:10px;margin-top:6px}
.m-sheet-act .btn{min-width:120px}
.m-preview{margin:0;padding:12px 14px;border-left:3px solid var(--accent);background:var(--mint);font-size:var(--fs-small);white-space:pre-wrap;max-height:30dvh;overflow:auto}
/* ---------- undo bar ---------- */
.m-undo{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--player-h) + 16px + env(safe-area-inset-bottom,0px));z-index:var(--z-tip);display:flex;align-items:center;gap:14px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:var(--fs-ui);padding:8px 8px 8px 16px;max-width:calc(100% - 32px)}
.m-undo[hidden]{display:none}
.m-undo .btn{background:var(--accent);color:var(--on-accent);min-height:40px}
/* ---------- switch (Taking tracks) ---------- */
.m-switch{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;background:none;color:var(--ink);font:inherit;font-size:var(--fs-body-s);font-weight:500;cursor:pointer}
.m-switch-t{position:relative;width:48px;height:28px;flex:0 0 48px;border:1px solid var(--hair-strong);background:var(--paper);transition:background-color .15s}
.m-switch-t::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--ink);transition:transform .15s}
.m-switch[aria-checked="true"] .m-switch-t{background:var(--accent)}
.m-switch[aria-checked="true"] .m-switch-t::after{transform:translateX(20px)}
.m-switch:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  .m-switch-t,.m-switch-t::after{transition:none}
}
/* ---------- Home ---------- */
.m-open{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:20px}
.m-pause{display:inline-flex;align-items:center;gap:8px}
.m-pause input{min-height:44px}
.m-steps{margin-bottom:20px}
.m-step{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;padding:12px 16px;min-height:44px;border-bottom:1px solid var(--hair);text-decoration:none;color:inherit}
.m-step:last-child{border-bottom:0}
.m-tick{width:24px;height:24px;border:1px solid var(--hair-strong);display:grid;place-items:center;font-size:var(--fs-small);line-height:1}
.m-step.ok .m-tick{background:var(--accent)}
.m-step.ok b{font-weight:500;color:var(--muted)}
.m-kpis{margin-bottom:20px}
.m-kpis > a:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
/* ---------- Inbox ---------- */
.m-tabs{margin-bottom:16px}
.inbox-act .m-act-gap{width:12px}
@media (max-width:760px){
  .m-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:calc(-1 * var(--gutter,16px));margin-right:calc(-1 * var(--gutter-r,16px));padding:0 var(--gutter-r,16px) 2px var(--gutter,16px)}
  .m-tabs::-webkit-scrollbar{display:none}
  .m-tabs .chip{flex:0 0 auto;min-height:44px}
  .inbox-act .m-act-gap{display:none}
}
/* ---------- Workspace ---------- */
.m-head{align-items:flex-start}
.m-facts{margin:6px 0 0;font-size:var(--fs-body-s)}
.m-head-r{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}
.m-save{font-family:var(--mono);font-size:var(--fs-caption);min-height:1.2em}
.m-save[data-st="error"],.m-save[data-st="offline"]{color:var(--bad)}
.m-ws .panel-h > .small{text-align:right}
.m-pin-row{gap:10px;flex-wrap:wrap;align-items:center}
.m-pin-row .check{align-items:center;min-height:44px}
.m-keys{margin:0}
@media (hover:none){
  .m-keys{display:none}
}
.m-note .m-t{min-height:36px;min-width:52px;padding:0 8px;border:1px solid var(--hair-strong);text-decoration:none;text-align:center}
.m-note.m-flash{background:var(--mint);transition:background-color 1.2s}
.m-note.editing{background:var(--mint)}
.m-note.editing .t{padding-top:10px}
.m-note.editing textarea{min-height:88px}
.m-nudge{gap:10px;align-items:center}
.m-del{color:var(--bad);border-color:var(--bad)}
.m-ok{color:var(--ok)}
.m-ready{margin:0;color:var(--muted)}
.m-ready.ok{color:var(--ok)}
.m-linkbtn{background:none;border:0;padding:0;color:var(--ink);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:36px}
/* scores: ten tappable segments per axis, no layout shift */
.m-scores summary{cursor:pointer;min-height:36px}
.m-scale{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:var(--fs-micro)}
.m-ax{display:grid;gap:6px}
.m-seg{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}
.m-seg button{min-height:36px;padding:0;border:1px solid var(--hair);background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:var(--fs-caption);cursor:pointer}
.m-seg button[aria-checked="true"]{background:var(--accent);border-color:var(--on-accent);font-weight:600}
.m-seg button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
/* conversation: collapsible, filtered to this request */
.m-conv > summary{cursor:pointer;list-style:none;min-height:44px}
.m-conv > summary::-webkit-details-marker{display:none}
.m-conv > summary::after{content:"+";font-family:var(--mono);font-size:var(--fs-lead);margin-left:8px}
.m-conv[open] > summary::after{content:"−"}
.m-conv-bar{display:flex;align-items:center;gap:12px;padding:6px 16px;border-bottom:1px solid var(--hair)}
.m-conv:not(.all) .m-other{display:none}
/* Accept / Pass bar: sits at the bottom of the screen while the page scrolls */
.m-bar{position:sticky;bottom:calc(var(--player-h) + env(safe-area-inset-bottom,0px));z-index:20;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding:12px 0;background:var(--ground);border-top:1px solid var(--hair)}
.m-bar .btn{min-height:48px}
.m-bar .btn:last-child{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media (max-width:960px){
  /* phone and tablet: one column, ordered around the job, compact player pinned under the top bar */
  .m-ws .m-grid{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .m-ws .m-grid > .m-col{display:contents}
  .m-ws .m-grid > .m-col > *{width:100%;min-width:0}
  .m-o1{order:1}
  .m-o2{order:2}
  .m-o3{order:3}
  .m-o4{order:4}
  .m-o5{order:5}
  .m-o6{order:6}
  .m-o7{order:7}
  .m-player.m-sticky{position:sticky;top:var(--m-top,64px);z-index:15;background:var(--ground);padding-bottom:4px}
  .m-player.m-sticky .player-top{padding:6px 10px;gap:10px}
  .m-player.m-sticky .pbtn{width:44px;height:44px;flex-basis:44px}
  .m-player.m-sticky .pvol{display:none}
  .m-player.m-sticky .player .wave{height:64px}
  .m-head{flex-direction:column;gap:10px}
  .m-head-r{flex-direction:row;align-items:center;text-align:left}
  .m-bar{margin-left:calc(-1 * var(--gutter,16px));margin-right:calc(-1 * var(--gutter-r,16px));padding:10px var(--gutter-r,16px) 10px var(--gutter,16px)}
  .m-bar .btn{flex:1 1 0}
  .m-bar .btn:last-child{flex:2 1 0}
  .m-sheet-act .btn{flex:1 1 0}
}
@media (pointer:coarse){
  .m-ws .chip,.m-seg button,.m-note .m-t,.m-linkbtn{min-height:44px}
}
/* ---------- Earnings ---------- */
.m-bank{margin-bottom:20px;gap:6px;display:grid}
.m-bank p{margin:0}
#pErr:empty{display:none}
.m-dirty{position:sticky;bottom:calc(var(--player-h) + env(safe-area-inset-bottom,0px));z-index:20;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--paper);border:1px solid var(--hair-strong)}
.m-dirty.on{background:var(--accent);color:var(--on-accent)}
.m-dirty.on .btn{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media (max-width:760px){
  /* Earnings on phones: keep "You get" and the payout, drop the format column (ui-staff.css hid column 4, which is now the money) */
  .earn-tbl th:nth-child(4),.earn-tbl td:nth-child(4){display:table-cell}
  .earn-tbl th:nth-child(2),.earn-tbl td:nth-child(2){display:none}
}
.m-gother{gap:8px;margin-top:8px;flex-wrap:nowrap}
.m-gother input{flex:1 1 auto;min-width:0}
.m-gc{background:var(--mint)}

/* mentor home: favourites (phase 2) span the whole grid so no half-empty row */
.dash-grid > .m-favs{grid-column:1 / -1}
.m-favs .li{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}
.m-favs .li > a{min-width:0;text-decoration:none;color:inherit}
/* Favourites page */
.fav-li{align-items:flex-start}
.fav-li .fav-play{flex:none;min-width:72px}
.fav-act{flex:none;gap:6px}
.fav-act .btn{min-width:120px;justify-content:center}
.fav-player:not(:empty){margin-top:10px}
.fav-count{font-variant-numeric:tabular-nums}
@media (max-width:600px){.fav-li{flex-wrap:wrap}.fav-act{width:100%;display:grid;grid-template-columns:1fr 1fr}.fav-act .btn:only-child{grid-column:1/-1}}
