.pd-dashboard{--pd-line:rgba(241,239,228,.11);--pd-muted:#aab1a8;--pd-panel:#1a1e1a;display:grid;gap:28px;max-width:1480px;margin:0 auto 48px;color:var(--rc-text);min-width:0}
.pd-dashboard *{box-sizing:border-box}
.pd-dashboard button,.pd-dashboard a{transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease}
.pd-dashboard button:focus-visible,.pd-dashboard a:focus-visible,.pd-dashboard summary:focus-visible{outline:2px solid var(--rc-primary);outline-offset:3px}
.pd-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#d2ad80;font-size:.68rem;font-weight:850;letter-spacing:.18em;line-height:1.4}
.pd-eyebrow i{width:4px;height:4px;background:var(--rc-primary);border-radius:50%}
.pd-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(245px,.65fr);position:relative;overflow:hidden;min-height:300px;background:radial-gradient(circle at 80% 5%,rgba(223,114,68,.16),transparent 44%),linear-gradient(115deg,#24231d,#1b211d 68%,#171d19);border:1px solid rgba(239,104,64,.2);border-radius:24px;box-shadow:0 20px 65px rgba(0,0,0,.14)}
.pd-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(243,220,174,.035),transparent 65%);pointer-events:none}
.pd-hero-copy{position:relative;z-index:1;padding:clamp(26px,4.2vw,58px)}
.pd-hero h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.03;letter-spacing:-.055em;max-width:730px;margin:19px 0 15px;color:#f6f0e5;text-wrap:balance}
.pd-hero-summary{max-width:700px;color:#c2c5b9;font-size:clamp(.96rem,1.3vw,1.1rem);line-height:1.6;margin-bottom:29px}
.pd-hero-meta{display:flex;flex-wrap:wrap;gap:18px 30px}
.pd-hero-meta div{display:grid;gap:4px;padding-right:26px;border-right:1px solid rgba(255,255,255,.13)}
.pd-hero-meta div:last-child{border:0}
.pd-hero-meta small{font-size:.61rem;letter-spacing:.15em;font-weight:850;color:#9ea59c}
.pd-hero-meta strong{font-size:.82rem;color:#ede8dc;font-weight:760}
.pd-dashboard .pd-export-button{display:inline-flex;align-items:center;gap:12px;margin-top:25px;padding:11px 16px;border:1px solid rgba(239,104,64,.55);border-radius:9px;background:var(--rc-primary);color:#1f160f;font-size:.82rem;font-weight:850;cursor:pointer;box-shadow:0 8px 26px rgba(239,104,64,.14)}
.pd-dashboard .pd-export-button span{padding-left:12px;border-left:1px solid rgba(31,22,15,.3);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.pd-dashboard .pd-export-button:hover{background:#ff805a;transform:translateY(-1px)}
.pd-objective{margin-top:18px;max-width:650px;color:#b8beb4;font-size:.8rem}
.pd-objective summary{cursor:pointer;color:#d8b192}
.pd-objective p{margin:8px 0 0;line-height:1.55}
.pd-hero-art{position:relative;min-height:255px;overflow:hidden}
.pd-orbit{position:absolute;border:1px solid rgba(248,183,136,.19);width:480px;height:480px;border-radius:50%;right:-130px;top:-105px}
.pd-orbit-two{width:350px;height:350px;right:-65px;top:-40px;border-color:rgba(248,183,136,.13)}
.pd-orbit-three{width:220px;height:220px;right:0;top:25px;border-color:rgba(248,183,136,.16);background:radial-gradient(circle,rgba(236,124,71,.12),transparent 68%)}
.pd-hero-mark{position:absolute;right:98px;top:80px;font-size:clamp(4rem,8vw,7rem);line-height:.8;letter-spacing:-.08em;font-weight:900;color:rgba(247,218,185,.85)}
.pd-hero-mark small{display:block;font-size:.8rem;letter-spacing:.22em;text-align:right;margin-top:14px}
.pd-hero-motto{position:absolute;right:26px;bottom:28px;text-align:right;color:#d2a17e;font-size:.64rem;font-weight:850;letter-spacing:.2em;line-height:1.5}
.pd-section{min-width:0}
.pd-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
.pd-section-heading h2{font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.1;letter-spacing:-.035em;margin:5px 0 0;color:#f1ede4}
.pd-section-heading p{margin:0;max-width:440px;font-size:.82rem;line-height:1.4;text-align:right;color:var(--pd-muted)}
.pd-phase-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pd-phase{min-height:156px;padding:16px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:7px;border:1px solid var(--pd-line);border-top:3px solid var(--pd-phase);border-radius:12px;background:linear-gradient(160deg,color-mix(in srgb,var(--pd-phase) 12%,#1b201c),#1b1f1b 66%);color:#f0ede4;cursor:pointer}
.pd-phase:hover,.pd-phase.is-selected{border-color:var(--pd-phase);background:linear-gradient(160deg,color-mix(in srgb,var(--pd-phase) 19%,#1b201c),#1b1f1b 72%);transform:translateY(-2px)}
.pd-phase-index{font-size:.61rem;letter-spacing:.15em;font-weight:850;color:var(--pd-phase)}
.pd-phase strong{font-size:1.12rem;letter-spacing:-.025em;margin-top:8px}
.pd-phase small{font-size:.73rem;color:#b1b9b0;line-height:1.3}
.pd-phase-weeks{margin-top:auto;font-size:.67rem;font-weight:800;color:#e5ded1;letter-spacing:.1em}
.pd-phase-note{margin:10px 0 0;color:#8f9990;font-size:.72rem}
.pd-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pd-kpi{display:grid;align-content:start;min-width:0;min-height:146px;padding:18px;background:var(--pd-panel);border:1px solid var(--pd-line);border-radius:14px}
.pd-kpi-icon{font-size:1.15rem;color:var(--rc-primary);height:29px}
.pd-kpi small{font-size:.61rem;letter-spacing:.15em;font-weight:850;color:#a6aea4}
.pd-kpi strong{font-size:clamp(1.18rem,2vw,1.65rem);letter-spacing:-.04em;margin:8px 0 2px;overflow-wrap:anywhere;color:#f0ede3}
.pd-kpi>span:last-child{font-size:.71rem;color:#939e94}
.pd-insight-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) minmax(0,.86fr);gap:12px;align-items:stretch}
.pd-panel{min-width:0;min-height:320px;padding:22px;background:var(--pd-panel);border:1px solid var(--pd-line);border-radius:16px}
.pd-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}
.pd-panel-heading h3{font-size:1.15rem;letter-spacing:-.025em;margin:5px 0 0;color:#f0ede4}
.pd-panel-aside{font-size:.6rem;font-weight:850;letter-spacing:.12em;color:#8f9a90;margin-top:3px}
.pd-bar-chart{height:198px;display:flex;align-items:stretch;gap:5px;padding:15px 0 0;border-bottom:1px solid rgba(255,255,255,.09)}
.pd-bar-week{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px;padding:0 2px 4px;border:0;border-radius:6px 6px 0 0;background:none;color:#aeb8ac;cursor:pointer}
.pd-bar-week:hover,.pd-bar-week.is-selected{background:rgba(255,255,255,.045);color:#fff}
.pd-bar-value{font-size:.68rem;font-weight:800;white-space:nowrap}
.pd-bar-track{display:flex;align-items:end;flex:1;width:100%;max-width:37px;min-height:0}
.pd-bar-fill{position:relative;display:block;width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--pd-phase);opacity:.78;overflow:hidden}
.pd-bar-week.is-selected .pd-bar-fill{opacity:1;box-shadow:0 0 17px color-mix(in srgb,var(--pd-phase) 35%,transparent)}
.pd-bar-completed{position:absolute;bottom:0;left:0;right:0;background:rgba(255,255,255,.37)}
.pd-bar-label{font-size:.66rem;font-weight:820}
.pd-chart-legend{display:flex;gap:14px;margin-top:12px;font-size:.69rem;color:#9ca69d}
.pd-chart-legend span{display:flex;align-items:center;gap:6px}
.pd-dot{display:inline-block;width:7px;height:7px;border-radius:50%}
.pd-dot-plan{background:#70b793}.pd-dot-completed{background:#d9e2d6}
.pd-mix-content{display:grid;justify-items:center;align-content:center;gap:18px;padding-top:20px}
.pd-donut{width:min(160px,100%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#2b302b}
.pd-donut>div{width:66%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--pd-panel)}
.pd-donut strong{font-size:2rem;line-height:1;color:#eee9dd}.pd-donut small{font-size:.59rem;letter-spacing:.17em;color:#9eaa9d;margin-top:5px}
.pd-mix-key{width:100%;display:grid;gap:7px}
.pd-mix-key>div{display:grid;grid-template-columns:7px 1fr auto;gap:7px;align-items:center;font-size:.69rem;color:#b9c0b6}
.pd-mix-key i{width:7px;height:7px;border-radius:50%}.pd-mix-key strong{color:#edeade}
.pd-week-panel{background:radial-gradient(circle at 100% 0,rgba(239,104,64,.11),transparent 48%),#20231d;border-color:rgba(239,104,64,.16)}
.pd-week-panel h3{font-size:1.7rem;letter-spacing:-.045em;margin:15px 0 2px}
.pd-week-panel h3 span{font-size:.95rem;color:#879288}
.pd-week-dates{font-size:.77rem;color:#aab2a7;margin-bottom:18px}
.pd-week-distance{display:flex;align-items:baseline;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--pd-line)}
.pd-week-distance strong{font-size:2.8rem;line-height:1;letter-spacing:-.07em;color:#efe8d9}
.pd-week-distance span{font-size:.59rem;font-weight:850;letter-spacing:.12em;color:#adad9d}
.pd-week-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:17px 0}
.pd-week-stats>div{display:grid;gap:2px}.pd-week-stats strong{font-size:1.1rem}.pd-week-stats small{font-size:.55rem;letter-spacing:.1em;color:#a8b0a4}
.pd-week-summary{color:#bfc4b7;font-size:.74rem;line-height:1.45;margin:0 0 12px}
.pd-week-link{color:#e9a97e;text-decoration:none;font-size:.77rem;font-weight:800}
.pd-week-link:hover{color:#ffd1b5}
.pd-sessions{min-width:0}
.pd-table-scroll{overflow-x:auto;background:var(--pd-panel);border:1px solid var(--pd-line);border-radius:15px}
.pd-session-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}
.pd-session-table th{padding:14px 16px;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#9fa99d;background:#202520}
.pd-session-table td{padding:15px 16px;border-top:1px solid rgba(255,255,255,.065);font-size:.78rem;color:#c3c9be;vertical-align:middle}
.pd-session-table tr:hover td{background:rgba(255,255,255,.025)}
.pd-session-table th:nth-child(1){width:11%}.pd-session-table th:nth-child(2){width:24%}.pd-session-table th:nth-child(3){width:32%}.pd-session-table th:nth-child(4){width:11%}.pd-session-table th:nth-child(5){width:11%}.pd-session-table th:nth-child(6){width:11%}
.pd-session-table td strong{display:block;color:#edeae1;font-size:.81rem;line-height:1.35}
.pd-detail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}
.pd-manage{display:inline-block;padding:0;margin:5px 0 0;border:0;background:none;color:#e3a27b;font-size:.67rem;font-weight:800;cursor:pointer}
.pd-manage:hover{color:#ffd0ac}
.pd-intensity{display:inline-block;padding:5px 8px;border-radius:5px;font-size:.65rem;font-weight:800;white-space:nowrap;background:#29372e;color:#9bd0a7}
.pd-intensity-threshold{background:#383022;color:#e8c18a}.pd-intensity-speed{background:#392922;color:#f0a386}.pd-intensity-race{background:#302b3e;color:#c3b2e6}
.pd-more-sessions{margin-top:10px}.pd-more-sessions>summary,.pd-tool-details>summary,.pd-progress-details>summary{cursor:pointer;color:#d4a789;font-size:.78rem;font-weight:750;padding:12px 4px}
.pd-more-sessions .pd-table-scroll{margin-top:8px}
.pd-tools{border-top:1px solid var(--pd-line);padding-top:22px}
.pd-tool-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pd-dashboard .pd-tool-actions button,.pd-dashboard .pd-tool-actions a,.pd-dashboard .pd-alert button,.pd-change button{display:inline-block;padding:9px 13px;border:1px solid var(--pd-line);border-radius:8px;background:#252b25;color:#e9e7dc;font-size:.74rem;font-weight:750;text-decoration:none;cursor:pointer}
.pd-dashboard .pd-tool-actions button:hover,.pd-dashboard .pd-tool-actions a:hover,.pd-dashboard .pd-alert button:hover,.pd-change button:hover{border-color:#e7a37b;background:#32312a}
.pd-dashboard .pd-tool-actions button:disabled{opacity:.45;cursor:not-allowed}
.pd-tool-details{margin-top:10px;border-bottom:1px solid var(--pd-line)}
.pd-import{max-width:600px;padding:14px 0}.pd-import h3{font-size:1rem;margin-bottom:5px}.pd-import p{font-size:.77rem;color:#aeb7ab;line-height:1.5}.pd-import input{max-width:100%;font-size:.75rem}.pd-import .pd-tool-actions{margin-top:12px}
.pd-change{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--pd-line);font-size:.75rem}
.pd-change strong{font-weight:700}.pd-change small{color:#9fa99d}.pd-change button{margin-left:auto}
.pd-progress-details{padding:0 12px;background:#1a201b;border:1px solid var(--pd-line);border-radius:10px}.pd-progress-details>*:not(summary){margin-bottom:12px}
.pd-alert{padding:16px 20px;border:1px solid #a66a48;border-radius:12px;background:#30251e}.pd-alert p{font-size:.78rem;color:#ead2c0}
.pd-empty,.pd-empty-plan{padding:24px;background:var(--pd-panel);border:1px solid var(--pd-line);border-radius:12px;color:#b6beb3}.pd-empty-plan h2{margin:10px 0}.pd-window-note{padding:12px 0}
@media(max-width:1150px){.pd-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-distance-panel{grid-column:1/-1}.pd-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.pd-dashboard{gap:24px}.pd-hero{grid-template-columns:1fr}.pd-hero-copy{padding:28px}.pd-hero-art{display:none}.pd-phase-grid{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;scroll-snap-type:x proximity}.pd-phase{scroll-snap-align:start}.pd-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-insight-grid{grid-template-columns:1fr}.pd-distance-panel{grid-column:auto}.pd-panel{min-height:0}.pd-section-heading{align-items:start}.pd-section-heading p{display:none}.pd-session-table,.pd-session-table tbody,.pd-session-table tr,.pd-session-table td{display:block;width:100%}.pd-session-table thead{display:none}.pd-session-table tr{position:relative;padding:14px 16px;border-top:1px solid var(--pd-line);display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.pd-session-table tr:first-child{border-top:0}.pd-session-table td{border:0;padding:0}.pd-session-table td:nth-child(1){grid-column:1/-1;color:#d8a382}.pd-session-table td:nth-child(2){grid-column:1/-1}.pd-session-table td:nth-child(3){grid-column:1/-1;margin:4px 0}.pd-session-table td:nth-child(6){grid-column:1/-1;grid-row:2}.pd-session-table td:nth-child(4):before{content:"DISTANCE  ";font-size:.59rem;letter-spacing:.08em;color:#909a90}.pd-session-table td:nth-child(5):before{content:"DURATION  ";font-size:.59rem;letter-spacing:.08em;color:#909a90}.pd-detail{-webkit-line-clamp:3}}
@media(max-width:460px){.pd-hero h2{font-size:2.05rem}.pd-hero-meta{gap:12px}.pd-hero-meta div{width:100%;border:0;padding:0}.pd-kpi{padding:14px;min-height:132px}.pd-kpi strong{font-size:1.25rem}.pd-kpi:last-child{grid-column:1/-1}.pd-bar-chart{gap:1px}.pd-bar-week{padding:0 1px 4px}.pd-bar-value,.pd-bar-label{font-size:.62rem}.pd-panel{padding:17px}.pd-phase-grid{grid-template-columns:repeat(5,145px)}}
@media(prefers-reduced-motion:reduce){.pd-dashboard button,.pd-dashboard a{transition:none}.pd-phase:hover{transform:none}}
