/* Camí v2 · Estils de l'anàlisi, capes, planificador i tauler. */
:root{--pro-ink:#183b2e;--pro-soft:#f4f6ef;--pro-line:#e3e7dc;--pro-accent:#e2683c}

/* Diàleg ample per al detall */
#dialog.pro-wide{width:min(1180px,calc(100vw - 32px))}
.pro-detail{display:flex;flex-direction:column;gap:18px;margin:18px 0 8px}
.pro-hero{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--pro-line);border-radius:16px;overflow:hidden;border:1px solid var(--pro-line)}
.pro-hero>div{background:linear-gradient(180deg,#fff,#fafbf7);padding:18px 20px}
.pro-hero span{display:block;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:#7f8c73;font-weight:650}
.pro-hero b{display:block;font:800 30px/1.15 'Manrope',sans-serif;letter-spacing:-1px;margin-top:6px;color:var(--pro-ink)}
.pro-hero b small{font:600 13px 'DM Sans',sans-serif;letter-spacing:0;margin-left:4px;color:#7a817c}

.pro-map-card{border:1px solid var(--pro-line);border-radius:16px;overflow:hidden;background:#fff}
.pro-map-shell{height:440px;border-radius:0!important;margin:0!important}
.pro-map-shell #pro-map{position:absolute;inset:0}
.pro-map-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;flex-wrap:wrap;border-top:1px solid var(--pro-line)}
.pro-chips{display:flex;gap:6px;flex-wrap:wrap}
.pro-chips button,.pro-filter button{padding:7px 12px;border-radius:999px;background:var(--pro-soft);font-size:12px;font-weight:600;color:#55635a;display:inline-flex;align-items:center;gap:6px}
.pro-chips button.active,.pro-filter button.active{background:var(--pro-ink);color:#fff}
.pro-filter button .icon{width:15px;height:15px}
.pro-map-legend{display:flex;align-items:center;gap:8px;font-size:11px;color:#69746c;flex-wrap:wrap}
.pro-map-legend>i{display:block;width:140px;height:8px;border-radius:5px}
.pro-map-legend em{font-style:normal;display:inline-flex;align-items:center;gap:4px}
.pro-map-legend em b{width:12px;height:8px;border-radius:3px;display:inline-block}
.pro-km{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--pro-ink);font:800 11.5px 'Manrope',sans-serif;color:var(--pro-ink);box-shadow:0 1px 4px #0003}
.pro-pin{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:3px solid #fff;box-shadow:0 1px 5px #0004;color:#fff}
.pro-pin .icon{width:13px;height:13px;stroke-width:2.4}.pro-pin.start{background:#2f8a4f}.pro-pin.end{background:#c4402f}

.pro-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.pro-group{border:1px solid var(--pro-line);border-radius:14px;padding:14px 16px;background:#fff}
.pro-group h4{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:#6f7d70;margin-bottom:10px}
.pro-group h4 .icon{width:16px;height:16px;color:var(--pro-accent)}
.pro-group>div{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.pro-metric span{display:flex;align-items:center;gap:4px;font-size:11px;color:#7f8c73}
.pro-metric b{display:block;font:750 18px 'Manrope',sans-serif;color:var(--pro-ink);letter-spacing:-.3px;margin-top:2px;white-space:nowrap}
.pro-metric b small{font:500 11px 'DM Sans',sans-serif;margin-left:3px;color:#7a817c;letter-spacing:0}
.pro-metric[title]{cursor:help}.pro-hint{width:12px!important;height:12px!important;opacity:.55}

/* Gràfics sincronitzats */
.pro-analysis{border:1px solid var(--pro-line);border-radius:16px;background:#fff;padding:14px 16px}
.pro-analysis-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.pro-analysis-head h3{display:flex;align-items:center;gap:7px;font-size:16px}
.pro-analysis-head h3 .icon{color:var(--pro-accent)}
#pro-cursor{font-size:12px;color:#7a817c}#pro-cursor b{color:var(--pro-ink)}
.pro-lanes{user-select:none;touch-action:pan-y;cursor:crosshair}
.pro-lane{display:grid;grid-template-columns:132px 1fr;align-items:center;border-top:1px dashed #edf0e8}
.pro-lane:first-child{border-top:0}
.pro-lane-head{padding:6px 10px 6px 0}
.pro-lane-head span{display:block;font-size:11px;color:#7f8c73}
.pro-lane-head b{font:750 17px 'Manrope',sans-serif;color:var(--pro-ink)}
.pro-lane-head b small{font:500 11px 'DM Sans',sans-serif;margin-left:3px;color:#7a817c}
.pro-lane-head em{font-style:normal;font-size:11.5px;color:#a0a89f;margin-left:4px}
.pro-lane-head.live em{visibility:hidden}
.pro-lane-plot{position:relative}
.pro-lane-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pro-vline{position:absolute;top:0;bottom:0;width:0;border-left:1.5px solid var(--pro-ink);pointer-events:none}
.pro-selbox{position:absolute;top:0;bottom:0;background:#ffd23f33;border-left:1.5px solid #e0b300;border-right:1.5px solid #e0b300;pointer-events:none}
.pro-axis{border-top:1px solid var(--pro-line)}
.pro-xaxis{position:relative;height:20px;font-size:11.5px;color:#8a948a}
.pro-xaxis span{position:absolute;top:4px;transform:translateX(-50%);white-space:nowrap}
.pro-xaxis span.unit{right:-4px;left:auto;transform:none;color:#b1b8af}
.pro-sel{margin-top:12px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:#fff8dc;border:1px solid #f1e2a4;border-radius:12px;padding:12px 14px;position:relative}
.pro-sel>div:first-child small{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:#9a8530}
.pro-sel>div:first-child b{font:800 15px 'Manrope',sans-serif}
.pro-sel .icon-button{margin-left:auto}

/* Pestanyes */
.pro-tabs{display:flex;gap:4px;border-bottom:1px solid var(--pro-line);overflow-x:auto;scrollbar-width:none}
.pro-tabs button{padding:11px 14px;font-weight:650;font-size:13px;color:#7a817c;border-bottom:2.5px solid transparent;white-space:nowrap;background:none}
.pro-tabs button[aria-selected="true"]{color:var(--pro-ink);border-color:var(--pro-accent)}
.pro-tabs button small{background:var(--pro-soft);border-radius:8px;padding:1px 6px;font-size:11px}
.pro-tabs .pro-settings-link{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-weight:550}
.pro-tabs .pro-settings-link .icon{width:15px;height:15px}
.pro-tab-body{min-height:120px}
.pro-table-wrap{overflow-x:auto}
.pro-splits{width:100%;border-collapse:collapse;font-size:13px}
.pro-splits th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:#8a948a;font-weight:650;padding:8px 10px;border-bottom:1px solid var(--pro-line)}
.pro-splits td{padding:8px 10px;border-bottom:1px solid #f0f2ec;white-space:nowrap}
.pro-splits td b{font:750 14px 'Manrope',sans-serif}.pro-splits td small{color:#8a948a;margin-left:2px}
.pro-splits .bar{width:34%;min-width:120px}
.pro-splits td.bar i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#f2b48f,var(--pro-accent))}
.pro-splits tr.fast td.bar i{background:linear-gradient(90deg,#f29e2e,#c4402f)}
.pro-splits td.up{color:#b5542f}.pro-splits td.down{color:#3d7fb5}
.pro-badge{font-size:11.5px;background:#fde6d8;color:#b5542f;padding:2px 6px;border-radius:6px;font-weight:700;margin-left:4px}

.pro-zones{margin:14px 0 18px}
.pro-zones h4{font-size:15px;margin-bottom:10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pro-zones h4 small{font:500 12px 'DM Sans',sans-serif;color:#8a948a}
.pro-zone{display:grid;grid-template-columns:34px 160px 1fr 46px 72px;gap:10px;align-items:center;padding:6px 0}
.pro-zone .id{display:grid;place-items:center;height:26px;border-radius:7px;color:#fff;font:800 11px 'Manrope',sans-serif}
.pro-zone .lbl b{display:block;font-size:13px}.pro-zone .lbl small{font-size:11px;color:#8a948a}
.pro-zone .track{height:14px;background:var(--pro-soft);border-radius:7px;overflow:hidden}
.pro-zone .track i{display:block;height:100%;border-radius:7px}
.pro-zone .pc{font:800 14px 'Manrope',sans-serif;text-align:right}.pro-zone .tm{font-size:12px;color:#7a817c;text-align:right}
.pro-insight{display:flex;gap:8px;align-items:center;background:#eef4e4;color:#33503e;border-radius:12px;padding:11px 14px;font-size:13px;margin-bottom:10px}
.link-button{background:none;color:var(--pro-ink);font-weight:650;text-decoration:underline;text-underline-offset:3px;display:inline-flex;gap:6px;align-items:center;padding:4px 0}
.pro-best{margin:14px 0}.pro-best h4{font-size:15px;margin-bottom:10px}
.pro-best-row{display:grid;grid-template-columns:130px 100px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;padding:10px 12px;border-radius:10px;background:none}
.pro-best-row:nth-child(even){background:#fafbf7}.pro-best-row:hover{background:#f1f5e8}
.pro-best-row b{font:800 16px 'Manrope',sans-serif}.pro-best-row small{color:#7a817c}
.pro-medal{white-space:nowrap;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#7a6a2b;background:#f5efd8;padding:3px 8px;border-radius:999px}
.pro-medal.gold{background:linear-gradient(135deg,#ffe58a,#f6c344);color:#5b4300}
.pro-medal .icon{width:13px;height:13px}
.pro-pc{width:100%;height:190px}.pro-pc text{font-size:12px;fill:#7a817c}
.pro-pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;margin-top:10px}
.pro-pc-grid>div{background:var(--pro-soft);border-radius:10px;padding:9px 11px}
.pro-pc-grid small{display:block;font-size:11px;color:#7a817c}.pro-pc-grid b{font:800 18px 'Manrope',sans-serif}
.pro-climbs{display:flex;flex-direction:column;gap:12px;margin:14px 0}
.pro-climb{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;border:1px solid var(--pro-line);border-radius:14px;padding:14px}
.pro-cat{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;font:800 15px 'Manrope',sans-serif;color:#fff;background:#9aa59a;text-align:center}
.pro-cat.cat-4{background:#e3c04f;color:#4d3d00}.pro-cat.cat-3{background:#f29e2e}.pro-cat.cat-2{background:#e04e2c}.pro-cat.cat-1{background:#a5281b}.pro-cat.cat-HC{background:#3b0f0a}
.pro-climb-main h5{font:750 15px 'Manrope',sans-serif}.pro-climb-main h5 small{font:500 12px 'DM Sans',sans-serif;color:#8a948a;margin-left:6px}
.pro-climb-main svg{width:100%;height:46px;margin:6px 0}
.pro-climb-stats{display:flex;gap:16px;flex-wrap:wrap}
.pro-settings p{color:#69746c;margin:14px 0}
.pro-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:14px}
.pro-settings em{display:block;font-style:normal;font-size:11px;color:#8a948a;margin-top:4px}
.pro-plan-note{display:flex;gap:7px;align-items:flex-start;font-size:12px;color:#7a817c;margin-top:12px}
.pro-plan-note .icon{width:15px;height:15px;margin-top:1px}

/* Selector de capes */
.pro-layers{position:relative;font-family:'DM Sans',sans-serif}
.pro-layers-toggle{display:flex;align-items:center;gap:6px;background:#fff;border-radius:10px;padding:8px 11px;box-shadow:0 2px 10px #0002;font-weight:650;font-size:12px;color:var(--pro-ink)}
.pro-layers-toggle .icon{width:17px;height:17px}
.pro-layers-panel{position:absolute;top:44px;left:0;width:250px;background:#fff;border-radius:14px;box-shadow:0 10px 30px #0003;padding:12px;z-index:1000;max-height:min(420px,70vh);overflow:auto}
.pro-layers-panel>b{display:block;font-size:11.5px;letter-spacing:.8px;text-transform:uppercase;color:#8a948a;margin:4px 4px 6px}
.pro-layers-bases{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
.pro-layers-bases button{display:flex;align-items:center;gap:10px;text-align:left;padding:7px;border-radius:9px;background:none;font-size:13px;font-weight:600;color:#33433a}
.pro-layers-bases button:hover{background:var(--pro-soft)}
.pro-layers-bases button.active{background:#eaf0e3;box-shadow:inset 0 0 0 1.5px var(--pro-ink)}
.pro-layers-bases i{width:30px;height:30px;border-radius:8px;flex:none;border:1px solid #0001}
.pro-layers-bases small{display:block;font-weight:450;font-size:11px;color:#8a948a}
.pro-layers-panel label{display:flex;align-items:center;gap:8px;font-size:13px;padding:6px 4px;cursor:pointer}

/* Planificador */
.pro-profile-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#6f7d70;margin:12px 0 16px}
.pro-profile-field select{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:500;color:var(--text)}
.planner-actions{flex-wrap:wrap}
.pro-plan-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;background:#f5f7f0;border-radius:14px;padding:16px 18px}
.pro-plan-stats strong{display:block;font:800 21px 'Manrope',sans-serif;letter-spacing:-.5px}
.pro-plan-stats small{font-size:11px;margin-left:3px;font-weight:450}
.pro-plan-stats span{font-size:11.5px;color:#7f8c73;display:block;margin-top:3px}
.pro-plan-meta{display:grid;grid-template-columns:200px 1fr 170px;gap:12px;margin:12px 0}
.pro-plan-meta>div{border:1px solid var(--pro-line);border-radius:12px;padding:11px 13px;background:#fff}
.pro-plan-meta small{display:block;font-size:11.5px;color:#8a948a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.pro-level b{font:800 18px 'Manrope',sans-serif;display:block}
.pro-level.level-facil b{color:#2f8a4f}.pro-level.level-moderat b{color:#c18b00}.pro-level.level-dificil b{color:#d0612c}.pro-level.level-extrem b{color:#a5281b}
.pro-times{display:flex;flex-wrap:wrap;gap:6px 14px;align-content:flex-start}
.pro-times small{width:100%}.pro-times span{display:inline-flex;gap:5px;align-items:center;font-size:12.5px;color:#55635a}
.pro-times .icon{width:15px;height:15px}
.pro-routetype b{display:block;font:750 16px 'Manrope',sans-serif}.pro-routetype span{font-size:12px;color:#7a817c}
.pro-plan-profile{border:1px solid var(--pro-line);border-radius:14px;padding:12px 14px;background:#fff}
.pro-plan-profile-head{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:8px;flex-wrap:wrap}
#pro-plan-readout{font-size:12px;color:#7a817c}#pro-plan-readout b{color:var(--pro-ink)}
.pro-plan-plot{position:relative;height:150px;cursor:crosshair}
.pro-plan-plot svg{width:100%;height:100%;display:block}
.pro-ylab{position:absolute;left:6px;font-size:11.5px;color:#69746c;background:#ffffffcc;padding:0 4px;border-radius:4px}
.pro-ylab.top{top:2px}.pro-ylab.bottom{bottom:16px}
.pro-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:#55635a;margin-top:8px}
.pro-legend span{display:inline-flex;align-items:center;gap:5px}
.pro-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.pro-legend small{color:#8a948a}
.pro-legend.small{font-size:11.5px}
.pro-breakdown{margin-top:12px;border:1px solid var(--pro-line);border-radius:14px;padding:12px 14px;background:#fff}
.pro-breakdown>b{font-size:13px}
.pro-stack{display:flex;height:14px;border-radius:7px;overflow:hidden;margin-top:8px;background:var(--pro-soft)}
.pro-stack i{display:block;height:100%}
.pro-plan-empty{display:flex;gap:14px;align-items:center;background:#f5f7f0;border-radius:14px;padding:18px;color:#55635a}
.pro-plan-empty .icon{width:28px;height:28px;color:var(--pro-accent)}.pro-plan-empty p{font-size:12.5px;margin-top:3px}

/* Tauler d'activitats */
.pro-dash{display:flex;flex-direction:column;gap:14px;margin:18px 0}
.pro-dash-top{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.pro-period{background:#fff;border:1px solid var(--pro-line);border-radius:14px;padding:14px 16px;position:relative}
.pro-period small{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:#8a948a;font-weight:650}
.pro-period b{display:block;font:800 26px 'Manrope',sans-serif;letter-spacing:-.8px;color:var(--pro-ink);margin-top:4px}
.pro-period b span{font:600 12px 'DM Sans',sans-serif;margin-left:4px;color:#7a817c;letter-spacing:0}
.pro-period p{font-size:11.5px;color:#7a817c;margin-top:4px}
.pro-period em{position:absolute;top:13px;right:14px;font-style:normal;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px}
.pro-period em.up{background:#e4f1df;color:#2f7a45}.pro-period em.down{background:#fbe5dd;color:#b5542f}
.pro-period.streak{background:linear-gradient(135deg,#183b2e,#2c5a46);color:#fff;border:0}
.pro-period.streak small,.pro-period.streak p,.pro-period.streak b span{color:#cfe0c3}.pro-period.streak b{color:#fff}
.pro-dash-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;align-items:start}
.pro-card{background:#fff;border:1px solid var(--pro-line);border-radius:16px;padding:16px 18px}
.pro-card h3{display:flex;align-items:center;gap:8px;font-size:15px;margin-bottom:12px}.pro-card h3 .icon{color:var(--pro-accent)}
.pro-weeks{width:100%;height:170px}.pro-weeks text{font-size:16px;fill:#8a948a}.pro-weeks text.v{fill:var(--pro-ink);font-weight:700;font-size:15px}
.pro-heat{display:grid;grid-template-columns:repeat(20,1fr);grid-template-rows:repeat(7,1fr);gap:4px;aspect-ratio:20/7.6}
.pro-heat i{border-radius:3px;background:#eef1ea}
.pro-heat i.l1{background:#cfe3b5}.pro-heat i.l2{background:#9cc584}.pro-heat i.l3{background:#5d9a5e}.pro-heat i.l4{background:#2c6845}.pro-heat i.future{opacity:.35}
.pro-heat-legend{display:flex;gap:4px;align-items:center;justify-content:flex-end;font-size:11px;color:#8a948a;margin-top:8px}
.pro-heat-legend i{width:12px;height:12px;border-radius:3px;background:#eef1ea}
.pro-heat-legend i.l1{background:#cfe3b5}.pro-heat-legend i.l2{background:#9cc584}.pro-heat-legend i.l3{background:#5d9a5e}.pro-heat-legend i.l4{background:#2c6845}
.pro-sports{display:flex;flex-direction:column;gap:10px}
.pro-sports>div{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}
.pro-sports .ico{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff}
.pro-sports b{font-size:14px}.pro-sports small{font-size:12px;color:#7a817c}
.pro-rec-family h5{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#8a948a;margin:6px 0}
.pro-rec-family{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:10px}
.pro-rec-family h5{grid-column:1/-1}
.pro-rec{text-align:left;background:linear-gradient(180deg,#fffaf0,#fff);border:1px solid #f1e6c8;border-radius:12px;padding:10px 12px}
.pro-rec span{display:block;font-size:11px;color:#8a7a45;font-weight:650}
.pro-rec b{display:block;font:800 18px 'Manrope',sans-serif;color:var(--pro-ink)}
.pro-rec small{display:block;font-size:11.5px;color:#8a948a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pro-rec:hover{border-color:#e6c76b}
.pro-muted{color:#8a948a;font-size:13px}
.pro-filter{display:flex;gap:6px;flex-wrap:wrap}
.activity-sport-icon.pro-thumbed{position:relative;background:#f4f6ef!important;width:52px!important;height:52px!important;border-radius:12px;display:grid;place-items:center}
.activity-sport-icon.pro-thumbed .pro-route-thumb{width:46px;height:46px}
.activity-sport-icon.pro-thumbed>.icon{position:absolute;right:-5px;bottom:-5px;width:20px;height:20px;padding:3px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0002;color:var(--pro-ink)}

@media(max-width:980px){.pro-hero{grid-template-columns:repeat(3,1fr)}.pro-dash-top{grid-template-columns:repeat(2,1fr)}.pro-dash-grid{grid-template-columns:1fr}.pro-plan-stats{grid-template-columns:repeat(3,1fr)}.pro-plan-meta{grid-template-columns:1fr 1fr}.pro-plan-meta .pro-times{grid-column:1/-1;grid-row:2}}
@media(max-width:640px){.pro-hero{grid-template-columns:repeat(2,1fr)}.pro-hero b{font-size:24px}.pro-map-shell{height:300px}.pro-lane{grid-template-columns:96px 1fr}.pro-lane-head b{font-size:14px}.pro-zone{grid-template-columns:30px 1fr 42px;row-gap:4px}.pro-zone .track{grid-column:1/-1;grid-row:2}.pro-zone .tm{display:none}.pro-climb{grid-template-columns:48px 1fr}.pro-climb>.button{grid-column:1/-1}.pro-cat{width:48px;height:48px;font-size:12px}.pro-best-row{grid-template-columns:1fr auto;}.pro-best-row small,.pro-best-row .pro-medal{grid-column:1/-1}.pro-dash-top{grid-template-columns:1fr 1fr}.pro-plan-stats{grid-template-columns:repeat(2,1fr)}.pro-plan-meta{grid-template-columns:1fr}.pro-group>div{grid-template-columns:1fr 1fr}}
.cami-promo>img[src*="trail-tee"]{filter:drop-shadow(0 6px 22px #d4f05a40);object-fit:contain}
