/* Phones (below 900 px): what's inside the pages (phone-pages.js). Nothing scrolls sideways; desktop is unchanged. */

/* Calendar month: on desktop the day number looks as before; dots and the day list are phone only. */
.mc-pick{display:contents;font:inherit;color:inherit}
.mc-dots,.mc-daylist{display:none}

@media (max-width:899px){
  /* Boards: one stage at a time */
  .pp-stages{margin:4px 0 12px}
  .pp-stages .seg{display:flex;width:100%}
  .pp-stages .seg button{flex:1 1 0;justify-content:center;gap:5px;padding:0 8px;height:40px}
  .pp-n{font-size:12px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
  .pp-stage-pick{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 18px;border-radius:999px;color:var(--ink);font:inherit;text-align:left}
  .pp-sp-main{display:flex;align-items:baseline;gap:8px;flex:1 1 auto;min-width:0}
  .pp-sp-main b{font-size:17px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pp-sp-main .pp-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--track)}
  .pp-sp-v{font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}
  .pp-stage-pick .ic{flex:none;color:var(--ink-2)}
  .pp-stage-pick:focus-visible,.pp-seg-chip:focus-visible,.pp-more:focus-visible,.pp-chip:focus-visible,.mc-pick:focus-visible,.pt-fold:focus-visible,.pt-mv:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
  .board.pp-one{display:block;overflow:visible;margin:0;padding:0;scroll-snap-type:none}
  .board.pp-one>section{display:none}
  .board.pp-one>section.pp-on{display:flex;flex-direction:column;gap:10px;min-height:0;width:100%;padding:0;border-radius:0;background:none;box-shadow:none}
  .board.pp-one>section.pp-on>.col-head{display:none}
  .board.pp-one>section.pp-on>.col-head:has(.hb-col-all){display:flex;background:none;box-shadow:none;padding:0 4px;height:auto}
  .board.pp-one>section.pp-on>.col-head:has(.hb-col-all) b,.board.pp-one>section.pp-on>.col-head:has(.hb-col-all) .n{display:none}
  .board.pp-one .pp-hide{display:none!important}
  .board.pp-one .col-add{margin-top:4px;min-height:44px}
  .pp-card{position:relative;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
  .pp-card>.card-top,.pp-card>.rm-top{padding-right:40px}
  .pp-more{position:absolute;top:6px;right:6px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);background:transparent;border:0;cursor:pointer}
  .pp-more:active{background:var(--track)}
  .pp-opt[aria-current="true"] .row-title{color:var(--orange-ink)}
  .pp-tick{color:var(--orange-ink)}
  .pp-opt{min-height:56px}

  /* Tables: an inset grouped list */
  .table-scroll,.adm-table-wrap{overflow:visible}
  table.pp-tlist{min-width:0;display:block;width:100%}
  table.pp-tlist thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  table.pp-tlist tbody{display:block}
  table.pp-tlist tr{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:3px 12px;min-height:64px;padding:11px 18px;border-top:1px solid var(--hair)}
  table.pp-tlist tbody tr:first-child{border-top:0}
  table.pp-tlist tr.pp-go{padding-right:40px;cursor:pointer}
  table.pp-tlist tr.pp-go::after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;border-top:2px solid var(--ink-3);border-right:2px solid var(--ink-3);transform:translateY(-50%) rotate(45deg)}
  table.pp-tlist tr::before{content:"";order:2;flex-basis:100%;height:0}
  table.pp-tlist td{display:block;height:auto;padding:0;border:0;min-width:0;font-size:13px;color:var(--ink-2);text-align:left;white-space:normal;overflow-wrap:anywhere}
  table.pp-tlist td.pp-t{order:0;flex:1 1 0;font-size:16px;font-weight:600;color:var(--ink)}
  table.pp-tlist td.pp-only{flex-basis:100%;font-size:14px;font-weight:400;color:var(--ink-2)}
  table.pp-tlist td.pp-r{order:1;flex:0 0 auto;margin-left:auto;font-size:15px;font-weight:600;color:var(--ink);text-align:right}
  table.pp-tlist td.pp-s{order:3;flex:0 1 auto;display:inline-flex;align-items:center;gap:6px}
  table.pp-tlist td.pp-s[data-pl]::before{content:attr(data-pl);color:var(--ink-3)}
  table.pp-tlist td.pp-empty,table.pp-tlist .pp-hide{display:none}
  table.pp-tlist .stepper{display:none}
  table.pp-tlist .av{width:24px;height:24px;font-size:10px}
  table.pp-tlist td.muted:last-child{flex-basis:100%}
  table.pp-tlist tr:focus-visible{outline:2px solid var(--orange);outline-offset:-2px;border-radius:14px}
  .pp-row-more{margin:4px 0 8px;width:calc(100% - 24px);margin-inline:12px}

  /* Roles matrix: one role at a time */
  .pp-chips{display:flex;align-items:center;gap:8px;margin:0 0 10px;flex-wrap:wrap}
  .pp-chip-l{font-size:13px;color:var(--ink-2);font-weight:600}
  .pp-chip{min-width:0;max-width:100%}
  table.pp-matrix{min-width:0!important;width:100%}
  table.pp-matrix .pp-off{display:none}
  table.pp-matrix .adm-corner,table.pp-matrix tbody th[scope]{position:static;width:auto;background:none}
  table.pp-matrix thead th{min-width:0}
  table.pp-matrix td{text-align:right;width:72px}

  /* Filters that don't fit: one chip that opens a list */
  .pp-seg-hid{display:none!important}
  .pp-seg-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:0 16px;font-size:15px}
  .pp-seg-chip b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .pp-chip-k{color:var(--ink-2);font-weight:500;white-space:nowrap}
  .pp-seg-chip .ic{flex:none;color:var(--ink-2)}

  /* Calendar: the week is an agenda; the month is a small grid with dots and the chosen day below */
  .weekgrid{display:none}.agenda{display:block}
  .month-head{padding:10px 0 6px}
  .mc{min-height:0;padding:2px;align-items:center;border-right:0;border-bottom:0}
  .mc-ev{display:none}
  .mc-pick{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;min-height:48px;padding:4px 0 6px;border:0;background:none;border-radius:14px;cursor:pointer}
  .mc.is-pick .mc-pick{background:var(--track)}
  .mc.is-pick:not(.today) .mc-d{color:var(--orange-ink)}
  .mc-dots{display:flex;gap:3px;height:6px}
  .mc-dots .kdot{width:6px;height:6px;margin:0}
  .mc-dots .kdot:not([class*="k-"]){background:var(--ink-3)}
  .mc-daylist{display:block;margin-top:18px}

  /* Detail rows: long values go under their label */
  .kv.kv-long{flex-direction:column;align-items:stretch;gap:4px}
  .kv.kv-long .k{max-width:none}
  .kv.kv-long .v{text-align:left;justify-content:flex-start;flex-wrap:wrap}
  .kv .v,.row-title,.row-sub{overflow-wrap:anywhere}

  /* Stats and charts */
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric:nth-child(odd)::before{display:none}
  .metric:nth-child(n+3){border-top:1px solid var(--hair)}
  .metric{padding:16px 18px 18px}
  .metric b{font-size:28px;overflow-wrap:anywhere}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2{grid-template-columns:minmax(0,1fr)}
  .legend{flex-wrap:wrap;row-gap:6px}
  main svg{max-width:100%}
  main canvas{max-width:100%;height:auto}
  .goal-progress{flex-direction:column;align-items:stretch;gap:8px}
  .goal-progress .bar{flex:none;width:100%}

  /* Forms in pages: one column, labels above, 16 px text so the phone doesn't zoom */
  main input:not([type=checkbox]):not([type=radio]):not([type=range]),main select,main textarea{font-size:16px}
  main .field{display:flex;flex-direction:column;align-items:stretch}
  input[type=range]{height:44px}
  input[type=range]::-webkit-slider-thumb{width:44px;height:30px;margin-top:-12px}
  input[type=range]::-moz-range-thumb{width:44px;height:30px}

  /* People tree on phones: fold and Move */
  .pt-cts{flex-wrap:wrap}
  .pt-fold{width:auto;padding:0 12px 0 10px;gap:4px;display:inline-flex;align-items:center;border-radius:999px;font-size:13px;font-weight:600}
  .pt-fold[aria-expanded="false"] .ic{transform:rotate(-90deg)}
  .pt-mv{width:auto;padding:0 14px 0 12px;gap:6px;display:inline-flex;align-items:center;border-radius:999px;font-size:13px;font-weight:600;margin-left:auto}

  /* Empty states: short, one action */
  main .empty{padding:28px 20px;gap:10px}
}
