:root{--ptas-blue:#1e3a8a;--ptas-blue-2:#2563eb;--ptas-gold:#f5c542;--radius:18px;--nav-safe:env(safe-area-inset-bottom,0px)}
html[data-theme="dark"]{--ink:#e5edf7;--muted:#94a3b8;--line:#243449;--soft:#07111f;--card:#0f1d2d;color-scheme:dark}
body{background:var(--soft)}
.app-shell{display:block;min-height:100vh;padding-bottom:34px}
.sidebar{position:sticky;z-index:30;inset:0 0 auto;width:100%;min-height:76px;display:grid;grid-template-columns:auto minmax(360px,1fr) auto;align-items:center;gap:18px;padding:11px max(18px,calc((100vw - 1180px)/2));color:#fff;border:0;background:linear-gradient(135deg,var(--ptas-blue),#0b2b6f);box-shadow:0 6px 16px rgba(2,6,23,.15)}
.sidebar .wordmark{padding:0;white-space:nowrap}.sidebar .wordmark>span{color:var(--ptas-blue);background:#fff;box-shadow:0 7px 18px rgba(2,6,23,.2)}.club-switcher{display:none}
.main-nav{display:flex;justify-content:center;gap:4px;min-width:0}.main-nav button{min-height:48px;padding:8px 10px;color:rgba(255,255,255,.76)}.main-nav button:hover{color:#fff;background:rgba(255,255,255,.1)}.main-nav button.active{color:#102a56;background:var(--ptas-gold);box-shadow:0 8px 18px rgba(2,6,23,.18)}
.sidebar-bottom{display:flex;align-items:center;gap:9px;margin:0;padding:0;border:0}.sidebar-bottom .user-chip strong,.sidebar-bottom .user-chip small{color:#fff}.sidebar-bottom .user-chip small{opacity:.7}.sidebar-bottom .user-chip i{color:var(--ptas-blue);background:#fff}
.theme-button,.logout-button{min-height:38px;padding:8px 10px;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(255,255,255,.08);font-size:11px;font-weight:850}.theme-button span{display:none}
.workspace{padding:30px 18px 60px}.view,.subscription-banner{max-width:1180px}.page-head{align-items:center;margin-bottom:20px}.page-head h1{font-size:30px}.panel,.metric,.team-card{border-radius:var(--radius);box-shadow:0 6px 16px rgba(2,6,23,.055)}
.metric-grid{gap:12px}.metric{position:relative;overflow:hidden}.metric:after{position:absolute;inset:auto 0 0;height:4px;content:"";background:var(--brand)}.metric:nth-child(2):after{background:var(--ptas-gold)}.metric:nth-child(3):after{background:#16a34a}.metric:nth-child(4):after{background:#f59e0b}
.ciutat-welcome{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;align-items:center;margin-bottom:18px;padding:26px;color:#fff;border-radius:22px;background:linear-gradient(135deg,var(--ptas-blue),#0b2b6f 72%);box-shadow:0 14px 34px rgba(30,58,138,.2)}.ciutat-welcome:after{position:absolute;right:-90px;bottom:-140px;width:310px;height:310px;border:1px solid rgba(255,255,255,.14);border-radius:50%;content:""}.ciutat-welcome .eyebrow{color:#9fc1ff}.ciutat-welcome h1{margin:4px 0 8px;font-size:clamp(28px,4vw,42px);letter-spacing:-.045em}.ciutat-welcome p:last-child{margin:0;color:rgba(255,255,255,.76)}.ciutat-welcome-actions{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:9px}.ciutat-welcome-actions .button{min-height:48px}.ciutat-welcome-actions .button.primary{color:#102a56;background:var(--ptas-gold);box-shadow:none}.ciutat-welcome-actions .button.ghost{color:#fff;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08)}
.coach-flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.coach-flow-card{min-width:0;display:grid;gap:8px;padding:14px;color:var(--ink);text-align:left;border:1px solid var(--line);border-radius:15px;background:var(--card)}.coach-flow-card:hover{border-color:#93b4ff;transform:translateY(-1px)}.coach-flow-card i{display:grid;place-items:center;width:34px;height:34px;color:#174ea6;border-radius:10px;background:#eff6ff;font-style:normal}.coach-flow-card strong,.coach-flow-card small{display:block}.coach-flow-card strong{font-size:13px}.coach-flow-card small{color:var(--muted);font-size:10px;line-height:1.35}
.filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.filter-bar label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.filter-bar select{width:100%;padding:10px 11px;color:var(--ink);border:1px solid var(--line);border-radius:11px;background:var(--card)}
.staff-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.staff-summary article{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.staff-summary strong,.staff-summary small{display:block}.staff-summary strong{font-size:24px}.staff-summary small{margin-top:4px;color:var(--muted);font-size:10px}
.attendance-summary{display:grid;gap:16px}.attendance-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.attendance-summary-grid article{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.attendance-summary-grid span,.attendance-summary-grid strong{display:block}.attendance-summary-grid span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.attendance-summary-grid strong{margin-top:5px;font-size:25px}.attendance-summary-grid .is-blue{border-color:#bfdbfe}.attendance-summary-grid .is-green{border-color:#bbf7d0}.attendance-summary-grid .is-gold{border-color:#fde68a}.attendance-summary-grid .is-red{border-color:#fecaca}.attendance-summary-table{overflow-x:auto}.rate-pill{display:inline-block;min-width:48px;padding:5px 8px;color:#166534;text-align:center;border-radius:999px;background:#dcfce7;font-size:11px;font-weight:900}
.training-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:20px;color:#fff;border-radius:18px;background:linear-gradient(135deg,#102a56,#1e3a8a)}.training-hero>div{display:flex;align-items:center;gap:13px}.training-hero>div>span{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:rgba(255,255,255,.12);font-size:22px}.training-hero strong{font-size:17px}.training-hero p{margin:4px 0 0;color:rgba(255,255,255,.72);font-size:12px}.training-hero .button{color:#102a56;background:var(--ptas-gold);box-shadow:none}.training-board,.match-list{display:grid;gap:10px}.training-card{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;color:var(--ink);text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--card)}.training-card:hover{border-color:#93b4ff;box-shadow:0 8px 20px rgba(30,58,138,.08)}.training-card-date{padding-right:12px;text-align:center;border-right:1px solid var(--line)}.training-card-date strong,.training-card-date small{display:block}.training-card-date strong{font-size:21px}.training-card-date small{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.training-team{color:#1d4ed8;font-size:10px;font-weight:900;text-transform:uppercase}.training-card h3,.match-card h3{margin:3px 0;font-size:15px}.training-card p,.match-card p{margin:0 0 4px;color:var(--muted);font-size:11px}.training-card>i{color:var(--brand);font-size:25px;font-style:normal}.session-detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.session-detail-summary span{display:grid;gap:3px;padding:12px;color:var(--muted);border:1px solid var(--line);border-radius:12px;font-size:10px}.session-detail-summary b{color:var(--ink);font-size:16px}.session-objective{margin:12px 0;padding:14px;border-radius:13px;background:#f5f8ff}.session-objective strong{font-size:12px}.session-objective p{margin:5px 0 0;color:#475467;font-size:12px;line-height:1.5}.session-block-list{display:grid;gap:8px}.session-block-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:13px}.session-block-list article>i{display:grid;place-items:center;width:30px;height:30px;color:#174ea6;border-radius:9px;background:#eff6ff;font-style:normal;font-weight:900}.session-block-list article strong{font-size:13px}.session-block-list article p{margin:4px 0 0;color:var(--muted);font-size:11px}.session-block-list article>span{color:#174ea6;font-size:11px;font-weight:900}.match-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.match-summary article{padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.match-summary span,.match-summary strong{display:block}.match-summary span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.match-summary strong{margin-top:4px;font-size:25px}.match-card{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.match-date strong,.match-date small{display:block}.match-date strong{font-size:20px}.match-date small{margin-top:3px;color:var(--muted);font-size:10px}
html[data-theme="dark"] .panel,html[data-theme="dark"] .metric,html[data-theme="dark"] .team-card,html[data-theme="dark"] .quick-action,html[data-theme="dark"] .staff-row,html[data-theme="dark"] .session-card,html[data-theme="dark"] .planning-event,html[data-theme="dark"] .event-row,html[data-theme="dark"] .price-card,html[data-theme="dark"] .form-stack input,html[data-theme="dark"] .form-stack select,html[data-theme="dark"] .form-stack textarea,html[data-theme="dark"] .field-control,html[data-theme="dark"] .modal-card{color:var(--ink);border-color:var(--line);background:var(--card)}html[data-theme="dark"] .event-row{background:#132235}html[data-theme="dark"] .quick-action:hover{background:#14253a}html[data-theme="dark"] .coach-flow-card i{color:#93b4ff;background:#17345a}
@media(max-width:1080px){.sidebar{grid-template-columns:auto 1fr}.sidebar-bottom{display:none}.main-nav{justify-content:flex-end}}
@media(max-width:760px){.app-shell{padding-bottom:calc(82px + var(--nav-safe))}.sidebar{position:fixed;inset:auto 0 0;width:100%;min-height:0;display:block;padding:7px 6px calc(8px + var(--nav-safe));transform:none;border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(2,6,23,.1)}html[data-theme="dark"] .sidebar{background:rgba(15,29,45,.98)}.sidebar .wordmark,.club-switcher,.sidebar-bottom{display:none}.main-nav{justify-content:flex-start;gap:2px;overflow-x:auto;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.main-nav button{flex:1 0 72px;min-height:55px;display:grid;justify-items:center;gap:2px;padding:5px 4px;color:#64748b;font-size:9px}.main-nav button span{font-size:20px}.main-nav button.active{color:#174ea6;background:#eff6ff;box-shadow:none}html[data-theme="dark"] .main-nav button{color:#94a3b8}html[data-theme="dark"] .main-nav button.active{color:#dbeafe;background:#17345a}.mobile-header{color:#fff;border:0;background:linear-gradient(135deg,var(--ptas-blue),#0b2b6f)}.mobile-header .icon-button{color:#fff;background:rgba(255,255,255,.12)}.mobile-header-actions{display:flex;align-items:center;gap:8px}.mobile-header-actions i{color:var(--ptas-blue);background:#fff}#menuButton{visibility:hidden}.workspace{padding:18px 12px 30px}.ciutat-welcome{grid-template-columns:1fr;padding:21px 17px}.coach-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-flow-card:last-child{grid-column:1/-1}.filter-bar,.staff-summary{grid-template-columns:1fr 1fr}.training-hero{align-items:stretch;flex-direction:column}.training-card{grid-template-columns:48px minmax(0,1fr) auto;padding:12px}.match-card{grid-template-columns:72px minmax(0,1fr)}.match-card>.event-type{grid-column:2}.session-detail-summary,.match-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr 1fr}.filter-bar,.staff-summary{grid-template-columns:1fr 1fr}}
