:root{
  --pc-primary:#1f2a44;
  --pc-primary-2:#243155;
  --pc-accent:#1f9d6a;
  --pc-bg:#f4f6fa;
  --pc-card:#ffffff;
  --pc-text:#0f172a;
  --pc-muted:#64748b;
  --pc-border:rgba(15,23,42,.10);
  --pc-shadow:0 10px 30px rgba(15,23,42,.08);
  --pc-shadow-sm:0 6px 18px rgba(15,23,42,.08);
  --pc-radius:16px;
  --pc-radius-sm:12px;
}

html,body{height:100%;}
body{background:var(--pc-bg);color:var(--pc-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

.navbar-proclub{background:linear-gradient(135deg,var(--pc-primary) 0%, var(--pc-primary-2) 100%)!important;box-shadow:var(--pc-shadow-sm);}
.navbar-proclub .navbar-brand{font-weight:700;letter-spacing:.2px;}
.navbar-proclub .navbar-text{opacity:.9;}

.pc-main{padding-bottom:84px;}

.pc-card{background:var(--pc-card);border:1px solid var(--pc-border);border-radius:var(--pc-radius);box-shadow:var(--pc-shadow-sm);}
.pc-card-header{border-bottom:1px solid var(--pc-border);}

.btn{border-radius:14px;}
.btn-primary{background:var(--pc-primary);border-color:var(--pc-primary);}
.btn-primary:hover,.btn-primary:focus{background:var(--pc-primary-2);border-color:var(--pc-primary-2);}
.btn-outline-primary{color:var(--pc-primary);border-color:rgba(31,42,68,.35);}
.btn-outline-primary:hover{background:var(--pc-primary);border-color:var(--pc-primary);}

.alert{border-radius:14px;border:1px solid var(--pc-border);}

.badge{border-radius:999px;padding:.45em .7em;font-weight:600;}

.form-control,.form-select{border-radius:14px;border-color:rgba(15,23,42,.18);}
.form-control:focus,.form-select:focus{border-color:rgba(31,42,68,.45);box-shadow:0 0 0 .25rem rgba(31,42,68,.12);}

.select2-container--bootstrap-5 .select2-selection{border-radius:14px!important;min-height:42px;}

.pc-bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:1030;background:rgba(248,250,252,.96);backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--pc-border);padding:10px 10px calc(env(safe-area-inset-bottom) + 25px);}
.pc-bottomnav a{flex:1;text-decoration:none;color:var(--pc-muted);}
.pc-bottomnav .pc-navitem{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 6px;border-radius:14px;}
.pc-bottomnav .pc-navitem:hover{background:rgba(31,42,68,.05);color:var(--pc-primary);}
.pc-bottomnav a:focus-visible .pc-navitem{background:rgba(31,42,68,.07);color:var(--pc-primary);outline:2px solid rgba(31,42,68,.18);outline-offset:2px;}
.pc-bottomnav .pc-navitem.active{background:rgba(31,42,68,.08);color:var(--pc-primary);}
.pc-bottomnav .pc-navlabel{font-size:14px;line-height:1.1;font-weight:600;}

body{padding-bottom:calc(env(safe-area-inset-bottom) + 96px);}

.pc-bottomnav .pc-navitem--oggi{background:rgba(59,130,246,.08);}
.pc-bottomnav .pc-navitem--prenota{background:rgba(99,102,241,.08);}
.pc-bottomnav .pc-navitem--calendario{background:rgba(14,165,233,.08);}
.pc-bottomnav .pc-navitem--presenze{background:rgba(34,197,94,.08);}
.pc-bottomnav .pc-navitem--corsi{background:rgba(168,85,247,.08);}
.pc-bottomnav .pc-navitem--allievi{background:rgba(245,158,11,.10);}
.pc-bottomnav .pc-navitem--documenti{background:rgba(16,185,129,.08);}
.pc-bottomnav .pc-navitem--incassi{background:rgba(244,63,94,.08);}

.pc-bottomnav .pc-navitem--oggi:hover{background:rgba(59,130,246,.14);}
.pc-bottomnav .pc-navitem--prenota:hover{background:rgba(99,102,241,.14);}
.pc-bottomnav .pc-navitem--calendario:hover{background:rgba(14,165,233,.14);}
.pc-bottomnav .pc-navitem--presenze:hover{background:rgba(34,197,94,.14);}
.pc-bottomnav .pc-navitem--corsi:hover{background:rgba(168,85,247,.14);}
.pc-bottomnav .pc-navitem--allievi:hover{background:rgba(245,158,11,.16);}
.pc-bottomnav .pc-navitem--documenti:hover{background:rgba(16,185,129,.14);}
.pc-bottomnav .pc-navitem--incassi:hover{background:rgba(244,63,94,.14);}

.pc-card-header--calendar-day{background:rgba(30,41,59,.92);border-bottom:1px solid rgba(15,23,42,.25);color:#fff;}
.pc-card-header--calendar-day .text-muted{color:rgba(255,255,255,.72)!important;}

.pc-calendar-section-title{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:.5rem;border:1px solid var(--pc-border);}
.pc-calendar-section-title--lessons{background:rgba(34,197,94,.10);}
.pc-calendar-section-title--slots{background:rgba(14,165,233,.10);}
.pc-calendar-section-title--group{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.35);}

.pc-calendar-group-slot{border:2px solid rgba(245,158,11,.45)!important;background:rgba(245,158,11,.06);}

.pc-calendar-slots-accordion .accordion-button{padding:.55rem .75rem;}
.pc-calendar-slots-accordion .accordion-body{padding:.75rem;}

.pc-calendar-day-accordion-btn{cursor:pointer;}
.pc-calendar-day-accordion-btn:hover{filter:brightness(1.03);}
.pc-calendar-day-accordion-hint{opacity:.9;}
.pc-calendar-day-accordion-chevron{opacity:.9;}

.pc-fab{position:fixed;right:16px;bottom:92px;z-index:1031;border-radius:999px;box-shadow:var(--pc-shadow);}

@media (min-width: 992px){
  .pc-main{padding-bottom:24px;}
  .pc-bottomnav,.pc-fab{display:none!important;}
}
