/* M3 visual plan selection. Uses the same family-card markup as Biblioteca M3. */
/* Scoped to draft selector: neither Biblioteca nor the student interface changes. */
.m3-picker-open{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px}
.m3-picker-open::before{content:"▦";font-size:15px}
.m3-picker-host{margin:12px 0 8px;min-width:0}
.m3-picker{
  display:grid;gap:14px;min-width:0;padding:16px;border:1px solid rgba(137,106,83,.38);
  border-radius:18px;background:linear-gradient(180deg,#32271f,#281f19);color:var(--text)
}
.m3-picker-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.m3-picker-head>div{display:grid;gap:4px}
.m3-picker-head>div>strong{font-size:17px}
.m3-picker-head small{color:#bcada0;font-size:11px;line-height:1.4}
.m3-picker-goal{display:grid;gap:5px;color:#d9bba0;font-size:10px;font-weight:800}
.m3-picker-goal input{width:96px;min-height:40px;padding:0 10px;background:#1e1712;border:1px solid #795941;border-radius:11px;color:var(--text);font:inherit;font-size:15px}
.m3-picker .m3-picker-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:10px}
.m3-picker .m3-picker-stats .library-stat{padding:11px 13px;border-radius:14px;background:#30251e}
.m3-picker .m3-picker-stats .library-stat span{font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.m3-picker .m3-picker-stats .library-stat strong{font-size:22px;margin:3px 0 0}
.m3-picker-filters{display:grid;grid-template-columns:minmax(160px,2fr) repeat(3,minmax(110px,1fr));gap:10px;align-items:end}
.m3-picker-filters label{display:grid;gap:6px;min-width:0;color:#d8ae8c;font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.m3-picker-filters input,.m3-picker-filters select{
  width:100%;min-width:0;min-height:43px;padding:0 11px;border:1px solid rgba(137,106,83,.45);
  border-radius:12px;background:#1d1611;color:#f3e9dc;font:inherit;font-size:13px;letter-spacing:normal;text-transform:none
}
.m3-picker-filters input:focus-visible,.m3-picker-filters select:focus-visible,
.m3-picker-goal input:focus-visible{outline:2px solid #dda15e;outline-offset:2px}
.m3-picker-progress{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;padding:9px 11px;border-radius:12px;background:#3a291e}
.m3-picker-progress strong{font-size:12px;color:#f1c8a3}
.m3-picker-progress span{font-size:11px;color:#c8ae99}
.m3-picker-selected{display:flex;flex-wrap:wrap;gap:6px;min-height:25px}
.m3-picker-selected>small{font-size:11px;color:#b9a595}
.m3-picker-chip{border:1px solid rgba(218,161,94,.45);border-radius:20px;background:#493123;color:#ffe2c4;min-height:27px;padding:4px 8px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.m3-picker-chip>span{font-size:13px;margin-left:4px}
.m3-picker-chip:focus-visible{outline:2px solid #f3c18b;outline-offset:2px}
.m3-picker .m3-picker-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px;margin:0;min-width:0}
.m3-picker .m3-picker-gallery .family-zone-heading{grid-column:1/-1;margin:9px 0 0}
.m3-picker .m3-picker-card{
  position:relative;display:grid;grid-template-columns:1fr;min-width:0;min-height:0;
  width:100%;padding:0;overflow:hidden;border:2px solid rgba(137,106,83,.34);
  border-radius:16px;background:#2e241d;color:var(--text);text-align:left;
  cursor:pointer;box-shadow:none;transition:border-color .12s,background .12s
}
.m3-picker .m3-picker-card:hover{border-color:rgba(211,154,85,.6);background:#33271f}
.m3-picker .m3-picker-card.is-selected{border-color:#e2a365;background:#38251b;box-shadow:0 0 0 1px rgba(226,163,101,.2)}
.m3-picker .m3-picker-card:focus-visible{outline:3px solid #f4c18a;outline-offset:2px}
.m3-picker .m3-picker-card .family-preview{display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:#15110e}
.m3-picker .m3-picker-card .family-preview>video,
.m3-picker .m3-picker-card .family-preview>img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.m3-picker .m3-picker-card .m3-picker-empty-preview{display:grid;place-items:center;width:100%;height:100%;font-size:24px;color:#956e51}
.m3-picker .m3-picker-card .family-item-copy{display:block;min-width:0;padding:9px 10px 12px}
.m3-picker .m3-picker-card .family-code{color:#d99b65;font-size:9px;font-weight:900;letter-spacing:.07em;margin:0 0 4px}
.m3-picker .m3-picker-card .family-item-copy>strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.35}
.m3-picker .m3-picker-card .family-item-copy>small:last-child{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;color:#a99685}
.m3-picker-check{
  position:absolute;top:8px;right:8px;display:grid;place-items:center;width:27px;height:27px;
  border:2px solid #d8aa7d;border-radius:6px;background:rgba(21,16,13,.86);
  color:#fff;font-size:17px;font-weight:900;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.5)
}
.m3-picker-card.is-selected .m3-picker-check{border-color:#e5b681;background:#b47742;color:#fff}
.m3-picker-no-movements{grid-column:1/-1;padding:16px;border:1px solid #6c4f3c;border-radius:12px;font-size:12px;color:#e7b88d}
.m3-picker-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-top:11px;border-top:1px solid #674937}
.m3-picker-actions>.btn{min-height:41px}
.m3-picker-actions>.btn:disabled{opacity:.45;cursor:not-allowed}
.m3-picker-session-confirmed{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0;color:#dabb9a;font-size:11px}
.m3-picker-session-confirmed strong{color:#efb77f}
.m3-picker-alternate{margin-top:10px;border:1px solid rgba(137,106,83,.2);border-radius:11px;padding:8px}
.m3-picker-alternate>summary{cursor:pointer;font-size:11px;color:#c3a68e}
.m3-picker-alternate .draft-add-exercise{margin-top:9px}
@media(max-width:1050px){
  .m3-picker-filters{grid-template-columns:minmax(160px,2fr) repeat(2,minmax(130px,1fr))}
  .m3-picker-filters label:last-child{grid-column:auto}
}
@media(max-width:760px){
  .m3-picker-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .m3-picker-filters label:first-child{grid-column:1/-1}
  .m3-picker .m3-picker-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
}
@media(max-width:520px){
  .m3-picker{padding:10px;gap:11px}
  .m3-picker .m3-picker-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .m3-picker .m3-picker-card .family-preview{aspect-ratio:4/3}
  .m3-picker-filters{gap:7px}
  .m3-picker-filters label{font-size:9px}
  .m3-picker-filters input,.m3-picker-filters select{min-height:41px;font-size:12px}
  .m3-picker-actions>.btn{flex:1;min-width:0;font-size:11px;padding:0 8px}
  .m3-picker .m3-picker-stats .library-stat{padding:9px}
  .m3-picker .m3-picker-stats .library-stat strong{font-size:19px}
}
