    /* =========== PLAN HEADER =========== */
    .plan-header {
      text-align: center; padding: 24px 16px 8px;
    }
    .plan-header-name {
      font-size: 18px; font-weight: 800; color: var(--text); letter-spacing: 0.5px;
    }
    .plan-header-desc {
      font-size: 13px; color: var(--text3); margin-top: 4px; line-height: 1.4;
    }
    .plan-header-label {
      font-size: 10px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: var(--text3); margin-bottom: 4px;
    }
    .plan-header-by {
      margin-top: 6px; display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 11px; color: var(--text3); cursor: pointer;
    }
    .plan-header-view-btn {
      margin-top: 10px; background: none; border: 1px solid var(--border); color: var(--text3); font-family: inherit; font-size: 11px; font-weight: 600; cursor: pointer; padding: 5px 14px; border-radius: 20px; letter-spacing: 0.3px; transition: border-color 0.2s, color 0.2s;
    }
    @media (hover: hover) {
    .plan-header-view-btn:hover {
      border-color: var(--green); color: var(--green);
    }
    }
    .plan-header-renew-btn {
      margin-top: 6px; background: none; border: none; color: var(--text3); font-family: inherit; font-size: 11px; cursor: pointer; padding: 5px 0; opacity: 0.6; transition: opacity 0.2s;
    }
    @media (hover: hover) {
    .plan-header-renew-btn:hover {
      opacity: 1;
    }
    }

    /* =========== DAY SELECTOR =========== */
    .day-selector { padding: 20px 0; }
    .day-selector-title {
      font-size: 11px; font-weight: 600; color: var(--text3);
      text-transform: uppercase; letter-spacing: 2px; margin-bottom: 16px;
      text-align: center;
    }
    .day-grid { display: flex; flex-direction: column; gap: 8px; }
    .day-pick {
      background: var(--card); border: 1px solid var(--border); border-radius: var(--r);
      padding: 14px 16px; cursor: pointer; transition: all 0.2s;
      -webkit-tap-highlight-color: transparent;
      position: relative; overflow: hidden;
    }
    .day-pick:active { transform: scale(0.98); }
    .day-pick-ghost {
      position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
      font-size: 64px; font-weight: 900; line-height: 1;
      opacity: 0.06; pointer-events: none;
    }
    .day-pick-label {
      font-size: 9px; font-weight: 700; text-transform: uppercase;
      letter-spacing: 1.5px; margin-bottom: 3px;
      position: relative; z-index: 1;
      display: inline-flex; align-items: center; gap: 7px;
    }
    .day-pick-title { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; position: relative; z-index: 1; }
    .day-pick-sub { font-size: 11px; color: var(--text2); margin-top: 2px; text-transform: uppercase; letter-spacing: 0.3px; position: relative; z-index: 1; }
    .day-pick-status { font-size: 10px; color: var(--green); margin-top: 8px; text-transform: uppercase; letter-spacing: 1px; display: none; position: relative; z-index: 1; }
    .day-pick.done .day-pick-status { display: block; }
    .day-pick-history {
      display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px;
      position: relative; z-index: 1;
    }
    .day-ring {
      width: 32px; height: 32px; position: relative;
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
    }
    .day-ring svg { position: absolute; inset: 0; transform: rotate(-90deg); }
    .day-ring-bg { fill: none; stroke: var(--border); stroke-width: 2.5; }
    .day-ring-fill { fill: none; stroke-width: 2.5; stroke-linecap: round; transition: stroke-dashoffset 0.5s; }
    .day-ring-num {
      font-size: 9px; font-weight: 700; color: var(--text2); z-index: 1;
      line-height: 1;
    }
    .day-ring-month {
      font-size: 6px; font-weight: 600; color: var(--text3); z-index: 1;
      line-height: 1; text-transform: uppercase; letter-spacing: 0.3px;
    }
    .day-ring.full .day-ring-num { color: var(--green); }
    .day-ring.full .day-ring-month { color: var(--green); }
    .day-ring.full .day-ring-fill { stroke: var(--green); }
    .day-ring.day-ring--today { border-radius: 50%; }
    .day-ring.day-ring--today .day-ring-bg { stroke: rgba(255,255,255,0.35); }
    .day-ring.day-ring--today .day-ring-fill { stroke: #fff; }
    .day-ring.day-ring--today .day-ring-num { color: #fff; }
    .day-ring.day-ring--today .day-ring-month { color: #fff; font-weight: 800; }
    .day-pick-hoy {
      padding: 2px 8px; line-height: 1;
      font-size: 8px; font-weight: 800; letter-spacing: 0.5px;
      color: #fff; border-radius: 999px;
    }
    .day-ring-more { font-size: 10px; font-weight: 600; color: var(--text3); align-self: center; padding: 0 4px; }
    .day-pick.done { border-color: rgba(107,155,150,0.3); }

    /* =========== WORKOUT VIEW =========== */
    .workout-back {
      display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px 7px 10px;
      margin-bottom: 16px; font-size: 14px; font-weight: 500; color: var(--text2);
      background: var(--bg2); border: 1px solid var(--border); border-radius: 20px;
      cursor: pointer; -webkit-tap-highlight-color: transparent; user-select: none;
      transition: background 0.15s;
    }
    .workout-back:active { background: var(--border); }
    .workout-back svg { width: 14px; height: 14px; stroke: var(--text3); fill: none; stroke-width: 2.5; stroke-linecap: round; flex-shrink: 0; }
    .workout-day-title {
      font-size: 20px; font-weight: 800; text-transform: uppercase; margin-bottom: 4px;
    }
    .workout-day-title--16 { font-size: 16px; }
    .workout-day-title--18 { font-size: 18px; }
    .workout-day-sub {
      font-size: 11px; color: var(--text2); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px;
    }
    .workout-back-link {
      display: inline-flex; align-items: center; gap: 4px; margin-bottom: 14px;
      font-size: 12px; font-weight: 600; color: var(--text3);
      cursor: pointer; -webkit-tap-highlight-color: transparent; user-select: none;
      transition: color 0.15s;
    }
    .workout-back-link:active { color: var(--text2); }
    .workout-back-link svg {
      width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2.5;
      stroke-linecap: round; flex-shrink: 0;
    }
    .workout-head { margin-bottom: 20px; }
    .workout-head-context {
      font-size: 10px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase;
      color: var(--text3); margin-bottom: 6px;
    }
    .workout-head-title {
      font-size: 22px; font-weight: 800; line-height: 1.1; margin-bottom: 5px;
    }
    .workout-head-sub {
      font-size: 12px; color: var(--text2); font-weight: 500;
    }
    .workout-preview {
      background: var(--bg2); border: 1px solid var(--border); border-radius: 12px;
      padding: 14px; margin-bottom: 20px; text-align: center;
    }
    .workout-preview-note {
      font-size: 11px; color: var(--text3); line-height: 1.4; margin-bottom: 12px;
    }
    .workout-preview-btn {
      font-family: inherit; font-size: 13px; font-weight: 700; color: #fff;
      background: var(--green); border: none; border-radius: 20px;
      padding: 9px 22px; cursor: pointer; transition: opacity 0.2s;
    }
    .workout-preview-btn:active { opacity: 0.85; }
    .workout-head-context .ctx-done { color: var(--green); }
    .workout-head-context .ctx-ro { color: var(--text2); }
    .history-banner {
      background: rgba(113,137,168,0.1); border: 1px solid rgba(113,137,168,0.2);
      border-radius: 10px; padding: 10px 14px; margin-bottom: 12px;
      display: flex; align-items: center; gap: 10px;
    }
    .history-banner__icon { color: #7189a8; flex-shrink: 0; }
    .history-banner__date { font-size: 13px; color: #7189a8; font-weight: 600; }

    .section { margin-bottom: 16px; }
    .section-label {
      font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
      color: var(--text3); padding: 10px 0; border-bottom: 1px solid var(--border); margin-bottom: 8px;
    }

    /* Workout group (biserie/triserie) */
    .workout-group { margin-bottom: 10px; }
    .workout-group.biserie,
    .workout-group.triserie,
    .workout-group.simple {
      border: 1px solid var(--border); border-radius: var(--rs); overflow: hidden;
      background: var(--card);
    }
    .workout-group-header {
      display: flex; align-items: center; gap: 8px; padding: 10px 12px;
      border-bottom: 1px solid var(--border);
    }
    .workout-group-header .serie-type-badge { font-size: 10px; padding: 4px 10px; }
    .workout-group-label {
      font-size: 14px; color: var(--text2); font-weight: 500;
    }
    .workout-group-rest {
      font-size: 10px; color: var(--text3); margin-left: auto;
      letter-spacing: 0.5px;
    }
    .workout-group.biserie .ex-wrap,
    .workout-group.triserie .ex-wrap,
    .workout-group.simple .ex-wrap { margin-bottom: 0; }
    .workout-group.biserie .ex-row,
    .workout-group.triserie .ex-row,
    .workout-group.simple .ex-row { border-radius: 0; }

    /* Exercise row — Card apilada */
    .ex-wrap { margin-bottom: 6px; }
    .workout-note { display: flex; align-items: flex-start; gap: 12px; background: rgba(192,138,62,.06); border: 1px solid rgba(192,138,62,.25); border-radius: var(--rs, 14px); padding: 14px 12px; margin-bottom: 10px; }
    .workout-note.completed { opacity: .6; }
    .workout-note-body { flex: 1; min-width: 0; }
    .workout-note-title { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 3px; }
    .workout-note-text { font-size: 14px; color: var(--text2); line-height: 1.5; word-break: break-word; }
    .workout-group--prep .workout-group-header .serie-type-badge { display: none; }
    .ex-row {
      display: flex; align-items: flex-start; padding: 14px 12px;
      border-radius: var(--rs); transition: all 0.2s; gap: 10px;
      background: var(--glass-card);
      backdrop-filter: blur(12px) saturate(1.3);
      -webkit-backdrop-filter: blur(12px) saturate(1.3);
    }
    .ex-row.completed { opacity: 0.5; }
    .ex-row.completed .ex-name { text-decoration: line-through; text-decoration-color: var(--text3); }
    .ex-check {
      width: 26px; height: 26px; border-radius: 7px; border: 1.5px solid var(--border);
      background: none; cursor: pointer; flex-shrink: 0; display: flex;
      align-items: center; justify-content: center;
      transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1);
      -webkit-tap-highlight-color: transparent; margin-top: 22px;
    }
    .ex-check:active { transform: scale(0.85); }
    .ex-check--static { cursor: default; }
    .ex-check--static:active { transform: none; }
    .history-ro .ex-check { cursor: default; opacity: 0.7; }
    .history-ro .set-input { opacity: 0.7; }
    .ex-check.checked {
      background: linear-gradient(135deg, #34d399, #8b5cf6);
      border-color: transparent;
      box-shadow: 0 2px 8px rgba(139,92,246,0.25);
    }
    .ex-check svg { width: 14px; height: 14px; stroke: #fff; stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }
    .ex-check svg polyline {
      stroke-dasharray: 23;
      stroke-dashoffset: 23;
      transition: stroke-dashoffset 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .ex-check.checked svg polyline { stroke-dashoffset: 0; }
    .ex-thumb {
      width: 72px; height: 72px; border-radius: 10px; overflow: hidden; flex-shrink: 0;
      background: var(--card); cursor: pointer; position: relative;
    }
    .ex-thumb img { width: 100%; height: 100%; object-fit: cover; background: var(--bg2); }
    .ex-thumb-zoom {
      position: absolute; bottom: 3px; right: 3px; width: 22px; height: 22px;
      background: rgba(0,0,0,0.4); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
    }
    .ex-media-strip-label {
      position: absolute; top: 6px; left: 6px; background: rgba(0,0,0,0.6);
      color: #fff; font-size: 9px; padding: 2px 6px; border-radius: 3px; font-weight: 600;
      z-index: 2;
    }
    .ex-thumb-play {
      position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
      background: rgba(0,0,0,0.35); border-radius: 10px;
    }
    .ex-thumb-play svg { width: 20px; height: 20px; fill: #fff; margin-left: 2px; }
    .ex-info { flex: 1; min-width: 0; }
    .ex-name { font-size: 15px; font-weight: 600; line-height: 1.3; }
    .ex-detail { font-size: 13px; color: var(--text2); margin-top: 2px; }
    .ex-last-weight { font-size: 11px; color: var(--text3); margin-top: 2px; }
    .ex-sets-label { font-size: 14px; font-weight: 700; color: var(--green); margin-top: 4px; }
    .ex-expand {
      width: 34px; height: 34px; border-radius: 50%; background: none;
      border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center;
      cursor: pointer; flex-shrink: 0; -webkit-tap-highlight-color: transparent; transition: all 0.2s;
    }
    .ex-expand:active { background: var(--card-h); }
    .ex-expand svg { width: 14px; height: 14px; stroke: var(--text3); stroke-width: 2; fill: none; stroke-linecap: round; transition: transform 0.2s; }
    .ex-expand.open svg { transform: rotate(180deg); }

    /* Set logging panel */
    .media-panel {
      max-height: 0; overflow: hidden; transition: max-height 0.35s ease;
      margin-top: -2px;
    }
    .media-panel.open { max-height: 400px; }
    .sets-panel {
      max-height: 0; overflow: hidden; transition: max-height 0.3s ease;
      background: var(--bg2); border-radius: 0 0 var(--rs) var(--rs);
      margin-top: -2px;
    }
    .sets-panel.open { max-height: 500px; }
    .ex-actions { display: flex; flex-direction: column; gap: 4px; flex-shrink: 0; align-items: center; }
    .ex-detail-btn {
      width: 26px; height: 26px; border-radius: 50%;
      background: none; border: none;
      color: var(--text3); cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; padding: 0; transition: all 0.2s;
      -webkit-tap-highlight-color: transparent;
    }
    .ex-detail-btn svg { width: 15px; height: 15px; }
    .ex-detail-btn:active { border-color: var(--text); color: var(--text); }
    .ex-history-btn {
      width: 26px; height: 26px; border-radius: 50%;
      background: none; border: none;
      color: var(--text3); cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; padding: 0; transition: all 0.2s;
      -webkit-tap-highlight-color: transparent;
    }
    .ex-history-btn svg { width: 15px; height: 15px; }
    .ex-history-btn:active { color: var(--green); }
    .sets-inner { padding: 12px; }
    .sets-header {
      display: grid; grid-template-columns: 40px 1fr 1fr 28px; gap: 8px;
      font-size: 10px; font-weight: 600; color: var(--text3); text-transform: uppercase;
      letter-spacing: 1px; margin-bottom: 8px; padding: 0 4px;
    }
    .set-row {
      display: grid; grid-template-columns: 40px 1fr 1fr 28px; gap: 8px;
      margin-bottom: 6px; align-items: center;
    }
    .set-row-tech { margin: -2px 0 8px 48px; }
    .set-row-tech .method-tag { font-size: 10px; padding: 3px 8px; }
    .remove-set-btn {
      width: 28px; height: 28px; border-radius: 8px;
      background: none; border: 1px solid transparent; color: var(--text3);
      font-size: 14px; cursor: pointer; display: flex;
      align-items: center; justify-content: center; transition: all 0.2s;
      padding: 0; -webkit-tap-highlight-color: transparent;
    }
    .remove-set-btn:active { background: rgba(255,68,68,0.15); border-color: rgba(255,68,68,0.3); color: var(--red); }
    .set-num {
      font-size: 14px; font-weight: 700; color: var(--text3);
      text-align: center;
    }
    .set-input {
      background: var(--card); border: 1px solid var(--border); color: var(--text);
      font-family: inherit; font-size: 16px; font-weight: 600;
      padding: 8px 10px; border-radius: 6px; width: 100%; text-align: center;
      outline: none; transition: border-color 0.2s;
      -moz-appearance: textfield;
    }
    .set-input::-webkit-outer-spin-button,
    .set-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
    .set-input:focus { border-color: var(--text3); }
    .set-input::placeholder { color: var(--text3); font-weight: 400; }
    .set-input.set-rep-ok { color: var(--green); }
    .set-input.set-rep-low { color: #c98a2e; }
    .sets-empty-ro {
      font-size: 12px; color: var(--text3); text-align: center;
      padding: 10px 4px; font-style: italic;
    }
    .add-set-btn {
      width: 100%; padding: 8px; background: none; border: 1px dashed var(--border);
      color: var(--text3); font-size: 11px; font-family: inherit; border-radius: 6px;
      cursor: pointer; margin-top: 4px; transition: all 0.2s; text-transform: uppercase;
      letter-spacing: 1px;
    }
    .add-set-btn:active { background: var(--card); }

    /* Bloque con vueltas (circuito / biserie / triserie / preparación): registro guiado */
    .workout-group--rounds {
      position: relative; overflow: hidden;
      border: 1px solid var(--border); border-radius: var(--rs); background: var(--card);
    }
    .workout-group--rounds .workout-group-header { padding: 11px 14px; }
    .workout-group--rounds .round-body { padding: 0 14px; }
    .workout-group--rounds .group-rest-line { padding: 2px 14px 14px; }
    .rounds-nav {
      display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
      padding: 8px 10px; margin: 10px 14px 8px;
      background: var(--bg2); border-radius: 10px;
    }
    .rounds-nav-lbl {
      font-size: 10px; font-weight: 700; letter-spacing: 0.5px;
      text-transform: uppercase; color: var(--text3); margin-right: 2px;
    }
    .rpill {
      height: 28px; min-width: 34px; padding: 0 7px;
      display: flex; align-items: center; justify-content: center; gap: 4px;
      border-radius: 8px; border: 1px solid var(--border); background: var(--card);
      font-family: inherit; font-size: 13px; font-weight: 700; color: var(--text2);
      cursor: pointer; transition: background 0.15s, border-color 0.15s, color 0.15s;
      -webkit-tap-highlight-color: transparent;
    }
    .rpill svg { width: 13px; height: 13px; }
    .rpill.done { border-color: rgba(107,155,150,0.5); background: rgba(107,155,150,0.12); color: var(--green); }
    .rpill.active { border-color: rgba(139,92,246,0.5); background: rgba(139,92,246,0.12); color: #8b5cf6; }
    .rpill.locked { opacity: 0.4; cursor: default; pointer-events: none; }
    .rpill--static { cursor: default; opacity: 1; }
    .rpill.active.viewing { background: #8b5cf6; border-color: #8b5cf6; color: #fff; }
    .rpill.done.viewing { background: var(--green); border-color: var(--green); color: #fff; }

    .rounds-nav-plan {
      margin-left: auto; display: inline-flex; align-items: center; gap: 4px;
      border: none; background: none; padding: 4px 2px 4px 8px;
      font-family: inherit; font-size: 11px; font-weight: 700; color: var(--text3);
      cursor: pointer; -webkit-tap-highlight-color: transparent;
      transition: color 0.15s;
    }
    .rounds-nav-plan:active { color: var(--text2); }
    .rounds-nav-count + .rounds-nav-plan { margin-left: 0; }

    .wo-plan-ex { padding: 12px 0; }
    .wo-plan-ex:first-child { padding-top: 0; }
    .wo-plan-ex + .wo-plan-ex { border-top: 1px solid var(--border); }
    .wo-plan-ex-name { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 9px; }
    .wo-plan-grid {
      display: grid; grid-template-columns: auto auto auto 1fr;
      column-gap: 12px; row-gap: 7px; align-items: center;
    }
    .wo-plan-n {
      min-width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;
      border-radius: 6px; background: var(--bg2);
      font-size: 11px; font-weight: 700; color: var(--text3);
    }
    .wo-plan-tgt { font-size: 13px; font-weight: 600; color: var(--text2); white-space: nowrap; }
    .wo-plan-w { font-size: 12px; color: var(--text3); white-space: nowrap; }
    .wo-plan-int {
      display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap;
      font-size: 12px; color: var(--text3); text-align: right;
    }
    .wo-plan-int .method-tag { font-size: 10px; padding: 3px 8px; }


    .rd-ex { margin-bottom: 6px; border-radius: 12px; overflow: hidden; background: var(--ex-bg); transition: opacity 0.25s; }
    .rd-ex.is-done { opacity: 0.5; }
    .rd-ex.is-done .rd-name { text-decoration: line-through; text-decoration-color: var(--text3); }
    .rd-row { display: flex; align-items: center; gap: 9px; padding: 9px; }
    .rd-check {
      position: relative;
      width: 28px; height: 28px; border-radius: 8px; border: 1.5px solid rgba(139,92,246,0.45);
      background: var(--card); flex-shrink: 0; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1);
      -webkit-tap-highlight-color: transparent;
    }
    .rd-check:active { transform: scale(0.85); }
    .rd-check--static { cursor: default; }
    .rd-check--static:active { transform: none; }
    .rd-check svg { width: 15px; height: 15px; opacity: 0; color: #fff; }
    .rd-check.on {
      background: linear-gradient(135deg, #34d399, #8b5cf6); border-color: transparent;
      box-shadow: 0 2px 8px rgba(139,92,246,0.25);
    }
    .rd-check.on svg { opacity: 1; }
    .rounds-nav-count { margin-left: auto; font-size: 11px; font-weight: 700; color: var(--text3); }
    .rd-thumb {
      position: relative; width: 46px; height: 46px; border-radius: 9px; flex-shrink: 0;
      border: none; padding: 0; cursor: pointer; overflow: hidden; background: var(--card);
    }
    .rd-thumb img { width: 100%; height: 100%; object-fit: cover; }
    .rd-thumb-zoom {
      position: absolute; right: 3px; bottom: 3px; width: 15px; height: 15px;
      border-radius: 5px; background: rgba(0,0,0,0.55);
      display: flex; align-items: center; justify-content: center;
    }
    .rd-main { flex: 1; min-width: 0; }
    .rd-line1 { display: flex; align-items: center; gap: 6px; }
    .rd-name {
      font-size: 14px; font-weight: 600; flex: 1; min-width: 0;
      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .rd-ibtn {
      width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--border);
      background: var(--card); color: var(--text3); flex-shrink: 0; cursor: pointer;
      display: flex; align-items: center; justify-content: center; padding: 0;
      -webkit-tap-highlight-color: transparent;
    }
    .rd-line2 { display: flex; align-items: center; gap: 8px; margin-top: 5px; }
    .rd-target { font-size: 12px; color: var(--text3); flex: 1; }
    .rd-tech-line { margin-top: 5px; }
    .rd-tech-line .method-tag, .method-tag--tap { cursor: pointer; -webkit-tap-highlight-color: transparent; }
    .rd-tech-line .method-tag { font-size: 10px; padding: 3px 8px; }
    .rd-loads { display: flex; gap: 6px; align-items: center; flex-shrink: 0; }
    .rd-load { display: flex; align-items: center; gap: 4px; }
    .rd-inp {
      width: 44px; height: 32px; text-align: center; font-size: 14px; font-weight: 700;
      border: 1px solid var(--border); border-radius: 8px; background: var(--card);
      color: var(--text); font-family: inherit; outline: none;
    }
    .rd-inp:focus { border-color: #8b5cf6; }
    .rd-load span { font-size: 10px; color: var(--text3); }
    .rd-ex .media-panel { padding: 0; }

    .rounds-loader {
      position: absolute; inset: 0; z-index: 5;
      background: color-mix(in srgb, var(--card) 94%, transparent);
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
      opacity: 0; visibility: hidden; transition: opacity 0.2s;
    }
    .rounds-loader.on { opacity: 1; visibility: visible; }
    .rounds-loader-spin {
      width: 38px; height: 38px; border: 3px solid var(--border);
      border-top-color: #8b5cf6; border-radius: 50%; animation: rdspin 0.7s linear infinite;
    }
    @keyframes rdspin { to { transform: rotate(360deg); } }
    .rounds-loader-done {
      width: 48px; height: 48px; border-radius: 50%;
      background: linear-gradient(135deg, #34d399, #8b5cf6);
      display: flex; align-items: center; justify-content: center;
      animation: rddonepop 0.38s ease;
    }
    .rounds-loader-done svg { width: 26px; height: 26px; stroke: #fff; }
    @keyframes rddonepop { 0% { transform: scale(0.4); opacity: 0; } 60% { transform: scale(1.12); } 100% { transform: scale(1); opacity: 1; } }
    .rounds-loader-txt { font-size: 14px; font-weight: 700; color: var(--text2); }
    .rounds-loader-sub { font-size: 12px; color: var(--text3); margin-top: -6px; }

    .rd-inp[readonly], .set-input[readonly] { cursor: pointer; }
    .rd-inp[readonly]:focus, .set-input[readonly]:focus { border-color: var(--border); }
    .loadsheet-overlay {
      position: fixed; inset: 0; z-index: 1360;
      background: var(--glass-overlay);
      backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      display: flex; align-items: center; justify-content: center;
      opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0.25s; padding: 20px;
    }
    .loadsheet-overlay.active { opacity: 1; visibility: visible; }
    .loadsheet-card {
      position: relative; background: var(--glass-modal); border-radius: 24px; padding: 24px;
      width: 100%; max-width: 340px;
      backdrop-filter: blur(var(--glass-thick-blur)) saturate(2.2);
      -webkit-backdrop-filter: blur(var(--glass-thick-blur)) saturate(2.2);
      border: 1px solid var(--glass-border);
      box-shadow: 0 24px 56px rgba(0,0,0,0.45);
    }
    .loadsheet-close {
      position: absolute; top: 14px; right: 14px; z-index: 2; width: 30px; height: 30px;
      border-radius: 50%; border: none; cursor: pointer; padding: 0;
      display: flex; align-items: center; justify-content: center;
      background: var(--bg2); color: var(--text3);
      -webkit-tap-highlight-color: transparent;
    }
    .loadsheet-close:active { color: var(--text); }
    .loadsheet-ex {
      font-size: 16px; font-weight: 700; color: var(--text); padding-right: 34px;
      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .loadsheet-sub {
      font-size: 12px; font-weight: 600; color: var(--text3);
      text-transform: uppercase; letter-spacing: 1px; margin-top: 3px;
    }
    .loadsheet-sub:empty { display: none; }
    .loadsheet-fields { display: flex; gap: 12px; margin-top: 18px; }
    .loadsheet-field { flex: 1; min-width: 0; }
    .loadsheet-field.hidden { display: none; }
    .loadsheet-flabel {
      display: block; font-size: 12px; font-weight: 600; color: var(--text3);
      margin-bottom: 6px; text-align: center;
    }
    .loadsheet-inwrap {
      display: flex; align-items: baseline; justify-content: center; gap: 5px;
      background: var(--bg2); border: 2px solid var(--border); border-radius: 12px;
      padding: 10px 12px; transition: border-color 0.15s;
    }
    .loadsheet-inwrap:focus-within { border-color: #8b5cf6; }
    .loadsheet-input {
      width: 100%; min-width: 0; background: none; border: none; outline: none;
      color: var(--text); font-family: inherit; font-size: 30px; font-weight: 700;
      text-align: center; padding: 0;
    }
    .loadsheet-unit { font-size: 13px; font-weight: 600; color: var(--text3); flex-shrink: 0; }
    .loadsheet-done {
      width: 100%; margin-top: 20px; padding: 15px;
      background: linear-gradient(135deg, #34d399, #8b5cf6, #3b82f6, #34d399); background-size: 400% 400%; animation: aurora 8s ease infinite;
      color: #fff; border: none; border-radius: 12px; font-family: inherit; font-size: 15px;
      font-weight: 700; cursor: pointer; text-transform: uppercase; letter-spacing: 1px;
      -webkit-tap-highlight-color: transparent;
    }
    .loadsheet-done:active { opacity: 0.85; }
    .loadsheet-sub .method-tag {
      text-transform: none; letter-spacing: 0.2px; vertical-align: middle; margin-left: 4px;
    }
    .loadsheet-hint {
      font-size: 11.5px; color: var(--text3); text-align: center;
      line-height: 1.45; margin-top: 10px;
    }
    .loadsheet-hint:empty { display: none; }
    .loadsheet-tech.hidden { display: none; }
    .lstech-head { display: flex; align-items: center; gap: 8px; margin-top: 18px; }
    .lstech-head-t {
      font-size: 11px; font-weight: 700; letter-spacing: 0.6px;
      text-transform: uppercase; color: var(--text3);
    }
    .lstech-head-line { flex: 1; height: 1px; background: var(--border); }
    .lstech-row { display: flex; align-items: flex-end; gap: 8px; margin-top: 10px; }
    .lstech-f { flex: 1; min-width: 0; }
    .lstech-fl {
      display: block; font-size: 11px; font-weight: 600; color: var(--text3);
      margin-bottom: 5px; text-align: center;
    }
    .lstech-x { font-size: 14px; color: var(--text3); padding-bottom: 11px; }
    .lstech-hint {
      font-size: 10.5px; line-height: 1.45; color: var(--text3);
      margin-top: 5px; padding: 0 2px;
    }
    .lstech-hint.hidden { display: none; }
    .lstech-inwrap {
      display: flex; align-items: baseline; justify-content: center; gap: 4px;
      background: var(--bg2); border: 1.5px solid var(--border); border-radius: 10px;
      padding: 8px 10px; transition: border-color 0.15s;
    }
    .lstech-inwrap.is-empty { border-style: dashed; }
    .lstech-inwrap:focus-within { border-color: #8b5cf6; border-style: solid; }
    .lstech-input {
      width: 100%; min-width: 0; background: none; border: none; outline: none;
      color: var(--text); font-family: inherit; font-size: 19px; font-weight: 700;
      text-align: center; padding: 0;
    }
    .lstech-unit { font-size: 11px; font-weight: 600; color: var(--text3); flex-shrink: 0; }
    .lstech-minis { display: flex; gap: 8px; margin-top: 10px; }
    .lstech-mini { flex: 1; min-width: 0; text-align: center; }
    .lstech-mini-input {
      width: 100%; background: var(--bg2); border: 1.5px solid var(--border); border-radius: 10px;
      padding: 9px 4px; outline: none;
      color: var(--text); font-family: inherit; font-size: 18px; font-weight: 700;
      text-align: center; transition: border-color 0.15s;
    }
    .lstech-mini-input.is-empty { border-style: dashed; }
    .lstech-mini-input:focus { border-color: #8b5cf6; border-style: solid; }
    .lstech-mini-l {
      display: block; font-size: 10px; font-weight: 600; color: var(--text3);
      text-transform: uppercase; letter-spacing: 0.3px; margin-top: 4px;
    }
    .lstech-note {
      font-size: 11.5px; line-height: 1.5; color: var(--text3);
      background: var(--bg2); border-radius: 9px; padding: 9px 11px; margin-top: 12px;
    }

