/* 2.86 · Components visuals compartits. Aquesta és la capa canònica de presentació pública i Admin. */
:root{
 --bg:#f5f6f8;--panel:#fff;--panel-alt:#fff7ec;--line:#e2e5ea;
 --shadow:0 3px 16px rgb(35 31 32 / 4%);--radius:18px;--radius-sm:12px;
 --on-brand:#fff;--action:#c54419;--action-hover:#aa3613;--brand-ink:#a43b17;
 --ui-xs:8px;--ui-sm:12px;--ui-md:20px;--ui-lg:28px;--ui-section:36px;
 --ui-control:46px;
}
html,body{background:var(--bg)}
body{line-height:1.6}
body .page-shell{padding-top:30px;padding-bottom:64px}
body .section{margin-top:var(--ui-section)}
body :is(.panel,.card){border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}
body .panel{padding:var(--ui-lg)}
body .card{padding:24px}
body .grid{gap:24px}
body .section-head{gap:20px;margin-bottom:24px;flex-wrap:wrap}
body .section-head>div{min-width:0}
body .section-head :is(h2,h3){line-height:1.25;letter-spacing:-.025em}
body .section-head p{line-height:1.65;margin-top:9px}
body .hero{background:#fff9f0;border:1px solid #eee4d5;box-shadow:none;border-radius:22px;padding:36px}
body .hero p{line-height:1.7}
body .hero h1{line-height:1.13;letter-spacing:-.035em}
body .btn{min-height:var(--ui-control);padding:12px 18px;border-radius:var(--radius-sm);line-height:1.35;box-shadow:none;white-space:normal;gap:9px;transition:background .15s,border-color .15s}
body .btn:hover{transform:none;border-color:#bdc3cb}
body .btn.btn-primary{background:var(--action);color:#fff;border-color:var(--action)}
body .btn.btn-primary:hover{background:var(--action-hover);border-color:var(--action-hover)}
body :is(.toolbar,.form-actions,.directory-filter-actions,.hub-admin-actions,.radar-actions){display:flex;gap:12px;align-items:center;flex-wrap:wrap}
body .toolbar form{margin:0}
body :is(.panel,.card)>:is(.toolbar,.form-grid,.table-wrap,.model-compare-scroll,.public-details)+:is(.toolbar,.form-grid,.table-wrap,.model-compare-scroll,.public-details){margin-top:20px}
body .form-grid{gap:22px}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea){border-radius:var(--radius-sm);border-color:#cbd1da;min-height:var(--ui-control);max-width:100%}
body label>:is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select,textarea){margin-top:7px}
body :is(.check-row,.checkbox-row){gap:12px;line-height:1.6}
body :is(input[type=checkbox],input[type=radio]){accent-color:var(--action);flex-shrink:0}
body :is(.table-wrap,.model-compare-scroll,.table-scroll,.article-table-scroll){max-width:100%;overflow-x:auto}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand-ink);outline-offset:4px}
body :is(.card,.panel,.hero) :is(h1,h2,h3,p){overflow-wrap:break-word}
.site-header{background:rgb(255 255 255 / 98%);border-bottom:1px solid var(--line)}
.site-header .header-inner{display:flex;align-items:center;flex-wrap:nowrap;gap:14px;padding-block:12px}
.site-header .main-nav{display:flex;align-items:center;flex-wrap:nowrap;gap:2px;margin-left:auto;min-width:0}
.site-header .main-nav a{border-radius:10px;padding:9px 9px;font-size:13px;white-space:nowrap;min-width:0}
.site-header .main-nav a.active,.site-header .nav-more.is-current>summary{background:#fff0e4;color:#963511}
.site-header .account-pill{max-width:144px;overflow:hidden;text-overflow:ellipsis}
.site-header .nav-toggle{display:none;box-shadow:none;border:1px solid var(--line);margin-left:auto}
.nav-more{position:relative;flex-shrink:0}.nav-more>summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer;min-height:42px;padding:9px;font-size:13px;font-weight:650;border-radius:10px}.nav-more>summary::-webkit-details-marker{display:none}.nav-more>summary::marker{content:''}.nav-more[open]>summary{background:#f3f4f6}
.nav-more-links{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px #231f2015;z-index:30;display:grid;gap:4px}.site-header .nav-more-links a{display:block;min-height:44px;padding:11px 13px}
@media(max-width:1279px){
 .site-header .header-inner{flex-wrap:wrap;justify-content:flex-start;gap:10px;padding:10px 16px}
 .site-header .nav-toggle{display:inline-flex;flex-shrink:0}
 .site-header .main-nav{display:none;flex-basis:100%;width:100%;margin:0;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;padding:10px 4px 6px}
 .site-header .main-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
 .site-header .main-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;width:100%;padding:10px;border:1px solid var(--line);background:#fff;font-size:14px;white-space:normal;text-align:center}
 .site-header .main-nav a.active{background:#fff0e4}.site-header .account-pill{max-width:none;overflow:visible;overflow-wrap:anywhere}
 .site-header .nav-more{display:none}
 .site-header .main-nav>.account-pill{grid-column:1/-1}
}
body .site-footer{margin-top:32px;padding-top:40px}
.footer-grid{gap:32px}
.footer-bottom{padding-top:24px;line-height:1.7}
body .home-hero-simple{background:#fff9f0;box-shadow:none;border:1px solid #eee4d5;padding:38px;gap:32px;border-radius:22px}
body .home-hero-simple .home-current-metrics{gap:12px;margin-top:24px}
body .home-hero-simple .home-current-metrics>span{padding:14px 16px;background:#fff;border:1px solid #eadfce;border-radius:12px}
body .home-hero-simple .home-current-metrics small{color:#65616a}
body .home-hero-simple .home-next-hours{padding:26px;border-radius:18px;border-color:#e7e5e2}
body .home-hero-simple .home-forecast-mini{gap:10px}
body .home-hero-simple .home-forecast-mini>div{background:#fbfcfd;border-radius:12px;border-color:#e7e9ee}
body .home-intelligence-card{background:#fff}
body .home-intelligence-main{gap:20px}
body .home-intelligence-copy h2{line-height:1.23;letter-spacing:-.025em}
body .home-intelligence-copy p{line-height:1.7}
body .home-activity-picker{gap:10px;margin-block:24px}
body .home-intelligence-actions{gap:18px}
body :is(.home-best-window,.home-radar-human){padding:20px;border-radius:14px}
body .home-intelligence-foot{margin-top:24px}
body .station-card-facts{gap:12px}
body .station-card-v2 .station-card-current{margin-block:22px}
body .station-card-v2 .station-card-facts>span{padding:12px}
body .forecast-day-v2{gap:16px}
body .day-hour-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:14px}
body .day-hour-chip{padding:18px;gap:10px;min-width:0;border-radius:14px;display:flex;flex-direction:column;background:#fafbfc;border:1px solid var(--line)}
.day-hour-rain{display:grid;gap:2px;padding-block:8px;border-block:1px solid var(--line);color:#295fbc}
.day-hour-rain small{font-size:11px;color:var(--muted)}
body .day-chart-grid{gap:24px}
body .community-tabs{gap:12px;padding-bottom:28px}
body .community-tabs a{border-radius:12px;padding:12px 16px}
body .community-tabs a.active{color:#963511;background:#fff0e4;border-color:#e7bca6}
body .hub-hero{background:#fff9f0;border:1px solid #eee4d5;padding:36px 40px;gap:32px}
body .hub-hero p{line-height:1.75;margin-bottom:24px}
body .hub-hero-art{background:#fff0db;border:1px solid #f0dfc2;border-radius:18px}
body :is(.hub-grid,.hub-paths){gap:24px;margin-block:28px}
body .hub-card{padding:28px;gap:18px;box-shadow:var(--shadow)}
body .hub-card-bottom{padding-top:22px;gap:16px}
body .hub-path{padding:28px;gap:20px}
body .hub-space-nav{gap:12px;margin-bottom:32px}
body .hub-activity-row{padding-block:20px}
body .hub-input-pair{gap:24px}
body .hub-instrument-form{padding-top:28px}
body .hub-instrument-form>:is(label,.form-grid,details){margin-block:18px}
body .hub-instrument-form>button{margin-top:20px}
body .article-card{border-radius:18px;box-shadow:var(--shadow)}
body .article-card :is(h2,h3){line-height:1.3}
body .article-prose{line-height:1.75}
body .article-prose p{margin-bottom:1.3em}
body .article-prose :is(h2,h3){letter-spacing:-.02em}
body.page-admin{
 --adm-card-radius:var(--radius);--adm-inner-radius:var(--radius-sm);
 --adm-soft:#f8f9fb;--adm-border:var(--line);--adm-4:20px;--adm-5:24px;--adm-6:36px;--adm-7:40px;
}
body.page-admin .admin-subnav{top:var(--site-header-height,76px)}
body.page-admin :is(.panel,.integration-card){padding:28px}
body.page-admin .card{padding:24px}
body.page-admin :is(.toolbar,.admin-actions,.admin-action-links){gap:12px}
body.page-admin .section-head{margin-bottom:24px}
body.page-admin .admin-nav{gap:10px}
body.page-admin :is(.admin-table,.model-table) :is(td,th){padding:14px 16px}
body.page-admin :is(.public-details,.advanced-sync){border-radius:var(--radius-sm)}
body .radar-human-card{padding:20px 24px;gap:18px;align-items:center}
body .radar-human-icon{font-size:32px;width:48px;height:48px;min-width:48px}
body .radar-human-copy h2{font-size:clamp(19px,2vw,25px);line-height:1.25;margin-bottom:6px}
body .radar-human-copy p{font-size:14px;line-height:1.6}
body .radar-human-status strong{font-size:28px}
body .radar-v2-shell{padding:24px}
body .radar-v2-head{margin-bottom:18px}
body .radar-side-controls{gap:16px}
body .radar-control-block{padding:18px;border-radius:14px}
body .radar-timeline-card{padding:20px;border-radius:14px}
body .radar-map-wrap{border-radius:16px}
body .radar-explainer{padding:24px}
body .radar-actions{margin-top:20px}
body .directory-toolbar{padding:28px}
body .directory-filter-row{gap:18px}
body .directory-grid{gap:24px}
body .directory-card{padding:26px;display:flex;flex-direction:column}
body .directory-card>p{line-height:1.7}
body .directory-accesses{margin-top:auto;padding-top:18px}
body .directory-link{padding-block:18px}
body .directory-categories{gap:10px}
body .directory-model-chips{gap:10px}
body .guide-grid,body .guide-resources{gap:24px}
body .guide-resource{padding:22px;border-radius:var(--radius-sm)}
body .guide-choice{gap:20px}
@media(max-width:1050px){
 body .home-hero-simple{padding:30px}
 body .hub-hero{padding:30px}
}
@media(max-width:760px){
 :root{--ui-lg:22px;--ui-section:28px}
 body .page-shell{padding:22px 16px 44px}
 .header-inner{padding:12px 16px}
 body .hero{padding:26px 22px;border-radius:18px}
 body .grid{gap:20px}
 body .card{padding:22px}
 body .section-head{gap:16px;margin-bottom:20px}
 body .home-hero-simple{padding:24px 20px;gap:26px;border-radius:18px}
 body .home-hero-simple .home-next-hours{padding:20px 16px}
 body .home-hero-simple .home-current-metrics{gap:10px}
 body .home-hero-simple .home-current-metrics>span{padding:12px}
 body .home-intelligence-copy h2{font-size:26px}
 body :is(.home-best-window,.home-radar-human){padding:18px}
 body .community-tabs{gap:10px;padding-bottom:22px}
 body .community-tabs a{padding:12px 15px}
 body .hub-hero{padding:26px 22px}
 body .hub-hero h1{font-size:32px}
 body .hub-hero .toolbar{align-items:stretch}
 body .hub-hero .toolbar .btn{flex:1 1 180px}
 body :is(.hub-card,.hub-path){padding:24px}
 body :is(.hub-grid,.hub-paths){gap:20px}
 body .hub-input-pair{gap:20px}
 body .day-hour-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body .day-hour-chip{padding:14px}
 body.page-admin :is(.panel,.integration-card,.card){padding:22px}
 body .radar-human-card{padding:18px;gap:12px}
 body .radar-human-status{padding:0}
 body .radar-human-status strong{font-size:24px}
 body .radar-v2-shell{padding:16px}
 body .radar-control-block{padding:16px}
 body .radar-timeline-card{padding:16px}
 body .radar-actions .btn{flex:1 1 180px}
 body .directory-toolbar{padding:22px}
 body .directory-card{padding:22px}
 body .guide-grid,body .guide-resources{gap:20px}
}
@media(prefers-reduced-motion:reduce){body .btn{transition:none}}

.directory-subnav{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}.directory-subnav a{display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;font-weight:700}.directory-subnav a[aria-current]{background:#fff0e4;color:#963511;border-color:#e7bca6}

body .radar-source-health,body .radar-source-health-row{min-width:0;max-width:100%}body .radar-source-health-row{flex-wrap:wrap}body .radar-source-health-row .badge{white-space:normal;overflow-wrap:anywhere}body pre{max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}

body .page-shell>:is(section,article,.panel,.hero,.flash)+:is(section,article,.panel,.hero,.flash){margin-top:var(--ui-section)}body .hero p+p{margin-top:16px}body .hero>.btn,body .hero>div>.btn{margin-top:20px}body .hero .toolbar{margin-top:20px}

body .radar-page-hero{padding:24px 28px}body .radar-page-hero h1{font-size:clamp(28px,3.5vw,40px);margin:8px 0 12px}body .radar-page-hero p{font-size:15px;max-width:95ch}body .radar-human-section,body .radar-human-section+.radar-v2-shell{margin-top:22px}body .radar-human-card{padding:16px 20px}body .radar-human-icon{font-size:28px;width:38px;height:38px;min-width:38px}body .radar-human-copy h2{font-size:21px}body .radar-human-copy p{font-size:13px;margin:4px 0}body .radar-human-confidence-note{font-size:11px;line-height:1.5}

body .home-network-section .station-card-current{display:block}body .home-network-section .station-card-current>strong{display:block;margin-bottom:18px}body .home-network-section .station-card-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:10px}body .home-network-section .station-card-metrics>span{padding:10px;background:#f8f9fb;border:1px solid var(--line);border-radius:12px;min-width:0}body .home-network-section .station-card-metrics small{font-size:11px}body .home-network-section .station-card-metrics b{font-size:14px}

body .day-detail-charts{margin-top:24px}body .day-detail-charts summary{cursor:pointer;min-height:46px;padding:12px;font-weight:700}body .day-detail-charts .day-chart-grid{margin-top:20px}@media(max-width:760px){body .day-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body .day-detail-metrics>div{padding:14px;min-width:0}body .day-detail-metrics>div:last-child{grid-column:1/-1}body .day-detail-metrics b{font-size:17px}}

body.page-admin .grid{gap:24px}body.page-admin .form-grid{gap:22px}@media(max-width:760px){body.page-admin .grid{gap:20px}}
