/* ClubConnectz CMS Design System 1.0
   Shared shell for CMS pages. New CMS modules should use these primitives
   instead of defining their own navigation/mobile behavior. */
:root{
  --cc-cms-navy:#0b2342;
  --cc-cms-navy-hover:#143b65;
  --cc-cms-blue:#1769e0;
  --cc-cms-red:#e33a45;
  --cc-cms-bg:#eef2f6;
  --cc-cms-surface:#ffffff;
  --cc-cms-soft:#f7f9fc;
  --cc-cms-line:#d9e2ec;
  --cc-cms-text:#17263a;
  --cc-cms-muted:#6c7b8d;
  --cc-cms-ok:#237447;
  --cc-cms-warn:#9a6200;
  --cc-cms-danger:#a92a34;
  --cc-cms-radius:10px;
}
html,body{max-width:100%;overflow-x:hidden}
body{background:var(--cc-cms-bg)!important;color:var(--cc-cms-text)!important}
.shell{grid-template-columns:220px minmax(0,1fr) 280px!important}
.side{background:var(--cc-cms-navy)!important;padding:13px 9px!important}
.side .brand{font-size:20px!important;font-weight:900!important;padding:7px 10px 15px!important;margin:0!important}
.side .club{background:#12365c!important;border:1px solid #244b73!important;border-radius:10px!important;padding:10px!important;margin:0 4px 12px!important}
.side nav>a,.side .nav>a,.side details a{border-radius:8px!important}
.side a:hover,.side a.active,.nav a:hover,.nav a.active{background:var(--cc-cms-blue)!important;color:#fff!important}
.side summary,.nav summary{border-radius:8px!important}
.main{min-width:0}
.card,.helpbox{border-radius:var(--cc-cms-radius)!important;box-shadow:none!important}
button,.btn{border-radius:8px!important}
input,select,textarea{border-radius:8px!important}
.pill,.status{border-radius:999px!important}

.cc-mobile-header,.cc-mobile-bottom,.cc-mobile-drawer,.cc-modules-sheet,.cc-mobile-scrim{display:none}

@media(max-width:1150px) and (min-width:701px){
  .shell{grid-template-columns:66px minmax(0,1fr)!important}
  .help,.helpcol{display:none!important}
  .side .txt,.side .club{display:none!important}
  .side .brand{font-size:0!important;text-align:center}
  .side .brand:after{content:"CC";font-size:17px}
  .side nav>a,.side .nav>a{justify-content:center}
  .side details summary{font-size:0;text-align:center}
  .side details summary:first-letter{font-size:16px}
}

@media(max-width:700px){
  body{padding:58px 0 68px!important}
  .shell{display:block!important;min-height:0!important}
  .shell>.side{display:none!important}
  .help,.helpcol{display:none!important}
  .main{padding:10px 10px 18px!important;width:100%!important;max-width:100%!important;overflow:hidden}
  .top{display:none!important}
  .toprow{align-items:flex-start!important;flex-wrap:wrap!important;gap:8px!important}
  .toprow h1,h1{font-size:21px!important;overflow-wrap:anywhere}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .twocol,.formgrid,.settingsgrid,.templategrid{grid-template-columns:1fr!important}
  .card{max-width:100%!important;min-width:0!important;padding:12px!important;overflow:hidden}
  .card table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mailapp{grid-template-columns:1fr!important;min-width:0!important}
  .mailapp>*{min-width:0!important;max-width:100%!important}
  .folders,.msglist{border-right:0!important}
  .handling,.mailbar,.actions{flex-wrap:wrap!important}
  .handling>*{min-width:0!important}
  .row,.pagerow{min-width:0!important}
  .row>*{min-width:0!important}
  p,td,th,label,.muted{overflow-wrap:anywhere}
  .btn,button{max-width:100%;white-space:normal}
  .cc-mobile-header{
    display:flex;position:fixed;left:0;right:0;top:0;height:58px;background:#fff;
    border-bottom:1px solid var(--cc-cms-line);align-items:center;gap:10px;padding:0 12px;
    z-index:1000;
  }
  .cc-mobile-header button{width:38px;height:38px;padding:0!important;background:#eef3f8!important;color:#1d3551!important;font-size:20px}
  .cc-mobile-header .cc-title small{display:block;color:var(--cc-cms-muted);font-size:10px;line-height:1.1}
  .cc-mobile-header .cc-title b{font-size:17px}
  .cc-mobile-header .cc-avatar{margin-left:auto;width:32px;height:32px;border-radius:50%;background:#dce8f5;display:grid;place-items:center;font-weight:800}
  .cc-mobile-bottom{
    display:grid;position:fixed;left:0;right:0;bottom:0;height:66px;background:#fff;
    border-top:1px solid var(--cc-cms-line);grid-template-columns:repeat(4,1fr);z-index:1000;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .cc-mobile-bottom button{border:0!important;background:#fff!important;color:#617287!important;padding:5px 2px!important;font-size:11px!important;font-weight:700!important}
  .cc-mobile-bottom button b{display:block;font-size:18px;color:#1d3551;margin-bottom:1px}
  .cc-mobile-bottom button.cc-active{color:var(--cc-cms-blue)!important}
  .cc-mobile-bottom button.cc-active b{color:var(--cc-cms-blue)!important}
  .cc-mobile-scrim{position:fixed;inset:0;background:#10253d66;z-index:1010}
  .cc-mobile-scrim.cc-open{display:block}
  .cc-mobile-drawer{
    position:fixed;display:block;left:0;top:0;bottom:0;width:min(86vw,330px);
    background:var(--cc-cms-navy);color:#fff;z-index:1020;transform:translateX(-105%);
    transition:.2s;overflow:auto;padding:14px 10px;
  }
  .cc-mobile-drawer.cc-open{transform:none}
  .cc-mobile-drawer .cc-drawer-brand{font-size:20px;font-weight:900;padding:5px 8px 14px}
  .cc-mobile-drawer .cc-drawer-brand i{font-style:normal;color:var(--cc-cms-red)}
  .cc-mobile-drawer .cc-drawer-club{background:#12365c;border:1px solid #244b73;border-radius:10px;padding:10px;margin-bottom:12px}
  .cc-mobile-drawer nav a{display:block;color:#dce6f1;text-decoration:none;padding:9px 10px;border-radius:8px;margin:2px 0}
  .cc-mobile-drawer nav a:hover,.cc-mobile-drawer nav a.active{background:var(--cc-cms-blue);color:#fff}
  .cc-mobile-drawer nav details{margin:3px 0}
  .cc-mobile-drawer nav summary{cursor:pointer;padding:10px;color:#fff;font-weight:800;list-style:none}
  .cc-mobile-drawer nav details a{padding-left:28px;font-size:13px}
  .cc-modules-sheet{
    position:fixed;display:block;left:0;right:0;bottom:0;max-height:82vh;background:#fff;
    border-radius:18px 18px 0 0;z-index:1020;transform:translateY(105%);transition:.22s;
    overflow:auto;padding-bottom:76px;box-shadow:0 -12px 30px #13283e22;
  }
  .cc-modules-sheet.cc-open{transform:none}
  .cc-sheet-head{display:flex;align-items:center;padding:14px;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--cc-cms-line);z-index:2}
  .cc-sheet-head h2{margin:0;font-size:20px}.cc-sheet-head button{margin-left:auto;background:#eef3f8!important;color:#1d3551!important;padding:7px 10px!important}
  .cc-module-group{padding:12px 14px 4px;color:var(--cc-cms-muted);font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}
  .cc-module-link{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid #edf1f5;text-decoration:none;color:var(--cc-cms-text)}
  .cc-module-link .cc-mi{width:34px;height:34px;border-radius:9px;background:#edf3fa;display:grid;place-items:center}
  .cc-module-link b{display:block}.cc-module-link span{font-size:11px;color:var(--cc-cms-muted)}
  .cc-arie-body{padding:14px}
  .cc-arie-body>p{margin-top:0;color:var(--cc-cms-muted)}
  .cc-arie-card{background:#f8fbff;border:1px solid #dbe8f5;border-radius:10px;padding:11px;margin-bottom:10px}
  .cc-arie-card b{display:block;margin-bottom:4px}.cc-arie-card span{font-size:12px;color:var(--cc-cms-muted)}
  .cc-arie-body textarea{width:100%;min-height:110px;border:1px solid var(--cc-cms-line);border-radius:9px;padding:10px;font:inherit;resize:vertical}
  .cc-arie-action{width:100%;margin-top:8px;background:var(--cc-cms-blue)!important;color:#fff!important}
}
