/* ============================================================
 * components.css — Shared UI components
 * ============================================================ */

.status-title{font-size:13px;font-weight:600;letter-spacing:.04em;}
.home-day-hero{text-align:center;padding:28px 0 24px;}
.home-day-name{font-size:48px;font-weight:700;letter-spacing:-.03em;color:#1a1917;line-height:.95;margin-bottom:8px;}
.home-day-sub{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#9e9b91;}
.home-program-card{background:#1a1917;border-radius:16px;padding:20px;margin-bottom:16px;text-align:center;}
.hpc-label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:8px;}
.hpc-name{font-size:22px;font-weight:700;color:#fff;line-height:1.15;margin-bottom:6px;}
.hpc-meta{font-size:13px;color:rgba(255,255,255,.45);}
.home-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.home-btn{background:#1a1917;color:#fff;border:none;border-radius:14px;padding:18px 14px;font-family:'Inter',sans-serif;font-size:16px;font-weight:600;cursor:pointer;text-align:center;line-height:1.2;}
.home-btn.light{background:#e4e2db;color:#1a1917;}
.home-btn.large{grid-column:1/2;}
.home-top-bar{display:flex;justify-content:space-between;align-items:center;padding:0 20px 8px;}
.motto-logo{font-size:15px;font-weight:700;letter-spacing:.08em;color:#1a1917;}
.streak-pill{background:#1a1917;color:#fff;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:5px;}
.ex-priority{display:inline-block;background:#1a1917;color:#fff;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:5px;}
.ex-sets-head{display:grid;grid-template-columns:28px 1fr 64px 64px 38px;gap:6px;padding:6px 14px;background:#f8f7f3;}
.esh-col{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b0aea5;text-align:center;}
.esh-col:first-child{text-align:left;}
.ex-add-set{padding:10px 14px;border-top:1px solid #f0efe9;text-align:center;}
.ex-add-set button{background:none;border:none;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:#9e9b91;cursor:pointer;display:inline-flex;align-items:center;gap:5px;}
.ex-add-set button:active{color:#1a1917;}
.wp-label{font-size:11px;color:#9e9b91;margin-bottom:5px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.form-row.four{grid-template-columns:1fr 1fr 1fr 1fr;}
.form-group{display:flex;flex-direction:column;gap:5px;}
.gitem{display:flex;justify-content:space-between;padding:7px 0;border-bottom:.5px solid #f0efe9;font-size:13px;}
.gitem:last-child{border-bottom:none;}
.gname{color:#3a3830;}
.gamount{font-weight:600;color:#6b6860;font-size:12px;}
.programs-scroll{flex:1;overflow-y:auto;padding:0 20px 100px;}
.week-nav{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.wnav{font-size:11px;font-weight:600;padding:6px 12px;border-radius:20px;border:1.5px solid #dddbd2;background:#fff;color:#6b6860;cursor:pointer;}
.wnav.active{background:#1a1917;border-color:#1a1917;color:#fff;}
.week-block{display:none;}
.week-block.active{display:block;}
.week-h{font-size:13px;font-weight:700;color:#1a1917;border-bottom:1px solid #f0efe9;padding-bottom:6px;margin-bottom:10px;}
.day-block{margin-bottom:14px;}
.day-lbl{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9e9b91;margin-bottom:6px;}
.ex-table{width:100%;border-collapse:collapse;font-size:12px;}
.ex-table th{text-align:left;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9e9b91;padding:4px 6px;border-bottom:1px solid #f0efe9;}
.ex-table td{padding:6px 6px;border-bottom:.5px solid #f0efe9;color:#3a3830;}
.ex-n{font-weight:600;color:#1a1917;}
.pay-handle{width:40px;height:4px;background:#dddbd2;border-radius:2px;margin:0 auto 18px;}
.pay-name{font-size:18px;font-weight:700;color:#1a1917;margin-bottom:4px;}
.pay-price-big{font-size:52px;font-weight:700;color:#1a1917;line-height:1;margin-bottom:4px;}
.pay-desc{font-size:12px;color:#9e9b91;margin-bottom:18px;}
.btn-pay{width:100%;background:#1a1917;color:#fff;font-family:'Inter',sans-serif;font-size:15px;font-weight:700;padding:15px;border:none;border-radius:12px;cursor:pointer;margin-bottom:10px;}
.promo-row{display:flex;gap:8px;margin-bottom:8px;}
.promo-in{flex:1;font-family:'Inter',sans-serif;font-size:13px;padding:10px 12px;background:#f0efe9;border:1.5px solid #e4e2db;border-radius:8px;color:#1a1917;outline:none;}
.promo-btn-s{background:#e4e2db;border:none;font-family:'Inter',sans-serif;font-size:12px;font-weight:700;color:#1a1917;padding:10px 14px;border-radius:8px;cursor:pointer;}
.promo-err{font-size:11px;color:#dc2626;display:none;margin-bottom:6px;}
.btn-cancel-s{background:transparent;border:none;color:#9e9b91;font-size:13px;cursor:pointer;padding:8px;}
.auth-handle{width:40px;height:4px;background:#dddbd2;border-radius:2px;margin:0 auto 18px;}
.auth-logo-sm{font-size:18px;font-weight:700;letter-spacing:.08em;color:#1a1917;text-align:center;margin-bottom:2px;}
.auth-tag-sm{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9e9b91;text-align:center;margin-bottom:18px;}
.auth-tabs-row{display:flex;background:#f0efe9;border-radius:8px;padding:3px;margin-bottom:14px;}
.auth-tab-btn{flex:1;font-size:12px;font-weight:600;padding:8px;border:none;background:transparent;color:#9e9b91;cursor:pointer;border-radius:6px;}
.auth-tab-btn.active{background:#fff;color:#1a1917;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.auth-inp{font-family:'Inter',sans-serif;font-size:14px;padding:12px 14px;background:#f0efe9;border:1.5px solid #e4e2db;border-radius:10px;color:#1a1917;outline:none;width:100%;margin-bottom:10px;}
.auth-inp:focus{border-color:#1a1917;background:#fff;}
.btn-auth-s{width:100%;background:#1a1917;color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;padding:13px;border:none;border-radius:10px;cursor:pointer;margin-bottom:12px;}
.auth-div-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.auth-div-line{flex:1;height:1px;background:#e4e2db;}
.auth-div-txt{font-size:11px;color:#9e9b91;}
.btn-google-s{width:100%;background:#fff;border:1.5px solid #e4e2db;border-radius:10px;padding:12px;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:#1a1917;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;}
.auth-error-s{font-size:11px;color:#dc2626;min-height:14px;margin-top:4px;}
.sw-handle{width:40px;height:4px;background:#dddbd2;border-radius:2px;margin:0 auto 16px;}
.sw-title{font-size:17px;font-weight:700;color:#1a1917;margin-bottom:14px;}
.sw-prog{background:#f8f7f3;border-radius:10px;padding:12px 14px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.sw-prog.active-prog{background:#1a1917;}
.sw-prog.active-prog .sw-pname{color:#fff;}
.sw-prog.active-prog .sw-pmeta{color:rgba(255,255,255,.5);}
.sw-pname{font-size:13px;font-weight:600;color:#1a1917;margin-bottom:2px;}
.sw-pmeta{font-size:11px;color:#9e9b91;}
.sw-btn{font-size:11px;font-weight:700;padding:7px 13px;background:#1a1917;color:#fff;border:none;border-radius:7px;cursor:pointer;white-space:nowrap;}
.sw-btn.current{background:rgba(255,255,255,.15);color:#fff;}
.vid-head{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0efe9;}
.vid-head-title{font-size:14px;font-weight:700;color:#1a1917;}
.vid-close{background:none;border:none;font-size:22px;color:#9e9b91;cursor:pointer;}
.vid-embed{position:relative;padding-bottom:56.25%;background:#1a1917;}
.vid-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.vid-cues{padding:12px 16px;}
.vid-cue-title{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9e9b91;margin-bottom:6px;}
.vid-cue{font-size:12px;color:#3a3830;padding:3px 0;display:flex;gap:6px;}
.vid-cue::before{content:'→';color:#1a1917;flex-shrink:0;}
table{width:100%;border-collapse:collapse;font-size:13px;}
thead th{padding:9px 14px;text-align:left;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9e9b91;background:#f8f7f3;border-bottom:1px solid #f0efe9;}
td{padding:10px 14px;color:#3a3830;}
td.num{font-weight:700;color:#1a1917;}
.pr-badge{font-size:9px;background:#fef9c3;color:#854d0e;border:1px solid #fde68a;padding:2px 5px;border-radius:4px;font-weight:700;margin-left:5px;vertical-align:middle;}
.empty-icon{opacity:.2;margin-bottom:12px;}
.empty-txt{font-size:14px;color:#9e9b91;}
.hist-stat{background:#fff;border-radius:12px;padding:14px;}
.hs-val{font-size:26px;font-weight:700;color:#1a1917;line-height:1;}
.hs-lbl{font-size:10px;color:#9e9b91;margin-top:3px;text-transform:uppercase;letter-spacing:.06em;}
.chart-card{background:#fff;border-radius:14px;padding:16px;margin-bottom:10px;}
.chart-title{font-size:13px;font-weight:700;color:#1a1917;margin-bottom:14px;}
.bar-chart{display:flex;align-items:flex-end;gap:4px;height:70px;padding-bottom:18px;position:relative;}
.bar{flex:1;border-radius:3px 3px 0 0;background:#e4e2db;position:relative;min-height:3px;transition:height .4s;}
.bar:active{background:#1a1917;}
.bar-lbl{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);font-size:9px;color:#9e9b91;white-space:nowrap;}
.cal-month{font-size:13px;font-weight:700;color:#1a1917;margin-bottom:10px;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal-day-h{text-align:center;font-size:9px;font-weight:700;color:#9e9b91;padding:3px;}
.cal-day{text-align:center;padding:5px 2px;border-radius:6px;font-size:12px;color:#9e9b91;}
.cal-day.trained{background:#1a1917;color:#fff;font-weight:700;}
.cal-day.today-day{border:1.5px solid #1a1917;color:#1a1917;}
.cal-day.cal-future{color:#c8c5bc;}
.btn-signin{background:transparent;border:1.5px solid #dddbd2;color:#6b6860;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;}
.btn-signup{background:#1a1917;color:#fff;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;border:none;cursor:pointer;}
.user-avatar{width:30px;height:30px;border-radius:50%;background:#1a1917;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;cursor:pointer;}
.dds-handle-row{padding:12px 20px 0;display:flex;justify-content:space-between;align-items:center;}
.dds-handle{width:40px;height:4px;background:#dddbd2;border-radius:2px;margin:0 auto;}
.dds-close{background:none;border:none;font-size:22px;color:#9e9b91;cursor:pointer;padding:0;}
.dds-header{padding:12px 20px 16px;}
.dds-date{font-size:22px;font-weight:700;color:#1a1917;letter-spacing:-.02em;margin-bottom:2px;}
.dds-meta{font-size:13px;color:#9e9b91;}
.dds-rest{text-align:center;padding:40px 20px;color:#9e9b91;}
.dds-rest-icon{font-size:32px;opacity:.3;margin-bottom:10px;}
.dds-rest-txt{font-size:14px;}
.dds-future{text-align:center;padding:40px 20px;}
.dds-future-day{font-size:18px;font-weight:700;color:#1a1917;margin-bottom:6px;}
.dds-future-prog{font-size:13px;color:#9e9b91;margin-bottom:20px;line-height:1.5;}
.dds-ex-list{padding:0 16px 20px;}
.dds-ex-head{padding:12px 14px;border-bottom:1px solid #f0efe9;display:flex;justify-content:space-between;align-items:center;}
.dds-ex-name{font-size:14px;font-weight:700;color:#1a1917;}
.dds-ex-sets-summary{font-size:11px;color:#9e9b91;font-weight:500;}
.dds-future-ex-name{font-size:13px;font-weight:600;color:#1a1917;}
.dds-future-ex-meta{font-size:11px;color:#9e9b91;margin-top:2px;}
.dds-future-ex-target{font-size:12px;font-weight:600;color:#6b6860;text-align:right;}
.dds-priority-tag{font-size:9px;font-weight:700;background:#1a1917;color:#fff;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;}
.pr-glow-field{animation:pr-pulse 1s ease-out;}
.poc-icon{font-size:16px;}
.poc-text{font-size:12px;font-weight:600;color:#15803d;flex:1;}
.sc-handle{width:40px;height:4px;background:#dddbd2;border-radius:2px;margin:0 auto 18px;}
.sc-icon{text-align:center;font-size:32px;margin-bottom:10px;}
.sc-title{font-size:18px;font-weight:700;color:#1a1917;text-align:center;margin-bottom:8px;}
.sc-sub{font-size:13px;color:#9e9b91;text-align:center;line-height:1.6;margin-bottom:22px;max-width:300px;margin-left:auto;margin-right:auto;}
.sc-new-prog{background:#f0efe9;border-radius:10px;padding:12px 16px;text-align:center;margin-bottom:20px;}
.sc-new-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9e9b91;margin-bottom:4px;}
.sc-new-name{font-size:15px;font-weight:700;color:#1a1917;}
.sc-yes{width:100%;background:#1a1917;color:#fff;border:none;border-radius:12px;padding:15px;font-family:'Inter',sans-serif;font-size:15px;font-weight:700;cursor:pointer;margin-bottom:10px;}
.sc-no{width:100%;background:transparent;border:none;color:#9e9b91;font-family:'Inter',sans-serif;font-size:14px;cursor:pointer;padding:8px;}