/* One skill stage at a time. All profession pages share this layout. */
.profession-back { display:inline-block; margin:0 0 8px; font-size:13px; }
.profession-section-nav { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 20px; }
.profession-section-nav a { display:inline-flex; align-items:center; min-height:40px; padding:7px 12px; border:1px solid #bdcdd7; border-radius:7px; background:#fff; color:#245467; font-size:13px; font-weight:600; }
.profession-section-head { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; margin:0 0 12px; }
.profession-section-head h2 { margin:0; font-size:21px !important; }
.profession-section-head > a { font-size:13px; font-weight:600; }
.profession-targets { margin:22px 0 26px !important; }
.profession-useful-status { margin:0 0 10px; color:var(--muted); font-size:13px; }
.profession-useful-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.profession-useful-grid > [hidden] { display:none !important; }
.profession-useful-grid .profession-recipe-card { padding:14px; }
.profession-useful-grid .recipe-result { align-items:center; }
.profession-useful-grid .recipe-result-icon { width:40px; height:40px; }
.profession-useful-grid h2 { font-size:15px !important; line-height:1.4; margin:0; }
.profession-useful-grid .recipe-material-preview { display:none; }
.profession-useful-grid .item-meta { font-size:11px; }
.profession-utility-items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.profession-utility-item { padding:14px; border:1px solid #bdcdd7; border-radius:8px; background:#fff; }
.profession-utility-item p { margin:9px 0 0; font-size:13px; line-height:1.5; }
.profession-stage-nav { gap:6px; margin:12px 0 0; padding:0 0 12px; border-bottom:1px solid #b8cbd4; }
.profession-stage-nav [role=tab] { min-width:65px; min-height:44px; text-decoration:none; font-size:13px; padding:8px 10px; }
.profession-stage-nav [role=tab][aria-selected=true] { background:#254f63; border-color:#254f63; color:#fff; box-shadow:inset 0 -3px 0 #8cc9cd; }
.profession-stage-nav [role=tab]:focus-visible { outline:3px solid #207f98; outline-offset:3px; }
.profession-milestones { display:block; margin-top:12px; }
.profession-stage[role=tabpanel] { padding:0 !important; margin:0 !important; border:1px solid #b9cdd7; border-radius:9px; overflow:hidden; background:#fff; }
.profession-stage[role=tabpanel][hidden] { display:none !important; }
.profession-stage[role=tabpanel] > .profession-stage-heading { margin:0; padding:13px 16px; background:#eaf2f5; border-bottom:1px solid #ccdae1; }
.profession-stage-heading h3 { margin:0 !important; font-size:18px !important; }
.profession-stage-heading p { margin:4px 0 0 !important; font-size:13px; color:#4b6472; }
.profession-stage[role=tabpanel] > .profession-stage-content { margin:0; padding:16px; }
.profession-stage-intro { margin-bottom:14px !important; font-size:14px; line-height:1.65; }
.stage-recipe-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px; }
.profession-layout .stage-recipe-grid { grid-template-columns:1fr; }
.stage-recipe { min-width:0; padding:14px; border:1px solid #bdcdd7; border-left:3px solid #8197a4; border-radius:8px; background:#f9fbfc; }
.stage-recipe.quality-2 { border-left-color:#3d9b4c; }
.stage-recipe.quality-3 { border-left-color:#397bb9; }
.stage-recipe.quality-4 { border-left-color:#9450bd; }
.stage-recipe-heading { display:flex; gap:11px; align-items:center; }
.stage-recipe-heading .recipe-result-icon { width:44px; height:44px; flex:0 0 44px; }
.stage-recipe-heading > div { min-width:0; }
.stage-recipe-kicker { color:#526976 !important; font-size:11px !important; line-height:1.4; margin:0 0 3px !important; }
.stage-recipe h4 { font-size:16px !important; line-height:1.4; margin:0; }
.stage-recipe h4 .entity-mention { text-align:left; font-size:inherit; font-weight:650; }
.stage-recipe-range { font-size:12px !important; margin:8px 0 !important; color:#3d6576 !important; }
.stage-recipe-facts { display:flex; flex-wrap:wrap; gap:12px 22px; margin:10px 0; padding:9px 0; border-top:1px solid #d7e2e8; border-bottom:1px solid #d7e2e8; }
.stage-recipe-facts > div { display:flex; align-items:baseline; gap:7px; min-width:0; }
.stage-recipe-facts dt { font-size:12px; color:#58717e; }
.stage-recipe-facts dd { margin:0; font-size:13px; font-weight:600; color:#243f4f; }
.stage-recipe-reagents h5 { margin:8px 0 6px; font-size:12px; color:#405e6d; font-weight:600; }
.stage-recipe-reagents ul { display:flex; flex-wrap:wrap; gap:5px 12px; margin:0 !important; padding:0 !important; list-style:none; }
.stage-recipe-reagents li { display:flex; align-items:center; gap:4px; margin:0 !important; font-size:13px; }
.reagent-quantity { color:#415e6b; white-space:nowrap; font-weight:600; }
.stage-recipe-learning { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 7px; margin:10px 0; font-size:12px; }
.stage-recipe-learning > span { color:#58717e; }
.stage-recipe-open { display:inline-flex; align-items:center; min-height:36px; margin:8px 0 0; font-size:12px; font-weight:600; }
.profession-advice { padding:11px 13px; margin:12px 0; border:1px solid #c1d7da; border-left:3px solid #5f97a1; border-radius:7px; background:#eff7f7; }
.profession-advice h4 { margin:0 0 5px; font-size:13px !important; color:#315868; }
.profession-advice p { margin:0 !important; font-size:12px !important; line-height:1.6; color:#445d69; }
.profession-advice p+p { margin-top:7px !important; }
.profession-advice--cost { background:#f4f6f8; border-color:#d2dce2; border-left-color:#93a6b1; }
.profession-stage-training { margin:10px 0 0 !important; padding:8px 0 !important; border-top:1px solid #d4e0e6; border-bottom:0; }
.profession-stage-training summary { min-height:36px; padding:0; font-size:13px; font-weight:600; }
.profession-stage-training p { margin:7px 0 0 !important; font-size:12px; }
.profession-stage .stage-source { display:inline-flex; align-items:center; min-height:36px; margin-top:6px; font-size:12px; }
.profession-stage .profession-zones:empty { display:none; }
.profession-map .profession-context { margin:7px 0 0; }
.profession-map .profession-context details { padding:8px 0; }
.profession-map .profession-context summary { min-height:36px; }
.profession-stage .profession-zone-row { padding:11px 0; border-top:1px solid #e1e8ec; }
.profession-stage .profession-zone-row:first-child { border-top:0; }
.profession-stage .profession-zone-row p { margin:6px 0 !important; font-size:13px; }
.profession-stage .profession-zone-row .coordinate-copy { margin:4px 6px 0 0; }
#profession-route-filters { display:flex; align-items:flex-end; gap:12px; padding:12px; margin:0; border-radius:8px; }
#profession-route-filters > label { max-width:185px; margin:0; }
#profession-route-filters > .guide-check { max-width:none; align-self:center; }
#profession-skill-status:empty, #profession-route-status:empty { display:none; }
#profession-skill-status, #profession-route-status { margin:8px 0 0; font-size:12px; line-height:1.5; color:#566e7b; }
#recipes > .profession-section-head { margin-bottom:14px; }
@media (max-width:1000px) {
 .profession-useful-grid, .profession-utility-items { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
 .profession-useful-grid, .profession-utility-items, .stage-recipe-grid { grid-template-columns:minmax(0,1fr); }
 .profession-stage[role=tabpanel] > .profession-stage-content { padding:12px; }
 .stage-recipe { padding:11px; }
 .profession-stage-nav [role=tab] { min-width:56px; padding:7px 8px; font-size:12px; }
 #profession-route-filters { flex-wrap:wrap; }
}
.profession-advice--unverified { background:#fff9e9; border-color:#e5cf92; border-left-color:#ad852a; }
.profession-advice--unverified h4 { color:#775a18; }
.profession-advice--unverified > a { display:inline-flex; align-items:center; min-height:36px; margin:4px 10px 0 0; font-size:12px; }
.profession-utility-items { margin-top:12px; }
.profession-utility-head { display:flex; align-items:center; gap:12px; }
.profession-utility-icon { width:52px; height:52px; flex:0 0 52px; object-fit:cover; border:1px solid #9eb5c3; border-radius:7px; }
.profession-utility-head h3 { margin:0; font-size:16px !important; line-height:1.4; }
.profession-utility-head .entity-heading-link { font-size:inherit; }
.profession-utility-head .profession-utility-level { margin:4px 0 0; color:#506875; font-size:12px; }
.profession-utility-open { display:inline-flex; align-items:center; min-height:36px; margin-top:8px; font-size:12px; font-weight:600; }
.profession-utility-title { margin:16px 0 8px; font-size:15px !important; }
.profession-utility-items { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
