/* LCG Resorts & Vacations V2 — Phase 2 UI/UX Foundation
   Loaded last so it can normalize legacy page-level styling without changing workflows. */
:root{
  --lcg-navy-950:#061722;
  --lcg-navy-900:#082333;
  --lcg-navy-800:#0b3448;
  --lcg-navy-700:#124b63;
  --lcg-gold-500:#d7a43d;
  --lcg-gold-400:#e5bd65;
  --lcg-gold-100:#fff4d8;
  --lcg-cream:#fbf8f1;
  --lcg-bg:#f6f7f9;
  --lcg-surface:#ffffff;
  --lcg-surface-soft:#f8fafc;
  --lcg-text:#102235;
  --lcg-muted:#66758a;
  --lcg-border:#e2e8f0;
  --lcg-success:#16845b;
  --lcg-warning:#b7791f;
  --lcg-danger:#d94452;
  --lcg-info:#2868d8;
  --lcg-radius-sm:10px;
  --lcg-radius:16px;
  --lcg-radius-lg:22px;
  --lcg-shadow:0 10px 28px rgba(7,30,45,.07);
  --lcg-shadow-lg:0 20px 45px rgba(7,30,45,.10);
  --lcg-font:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

html,body,button,input,select,textarea,.dropdown-menu,.tooltip,.popover,
.lcg-app-shell,.lcg-page,.lcg-page *{font-family:var(--lcg-font)!important;}
body{color:var(--lcg-text);background:var(--lcg-bg);font-feature-settings:"cv02","cv03","cv04","cv11";}
.lcg-page h1,.lcg-page h2,.lcg-page h3,.lcg-page h4,.lcg-page h5,.lcg-page h6,
.lcg-page-title,.display,.hero-title{font-family:var(--lcg-font)!important;letter-spacing:-.02em;}

/* ===== Application shell ===== */
.lcg-app-shell .header{
  min-height:72px;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--lcg-border)!important;
  box-shadow:0 1px 0 rgba(15,23,42,.02)!important;
  backdrop-filter:blur(18px);
}
.lcg-app-shell .header-logo{color:var(--lcg-text)!important;font-weight:800!important;letter-spacing:-.02em;}
.lcg-app-shell .header-logo-mark,.lcg-app-shell .sidebar-logo-mark{background:#fff;border:1px solid rgba(255,255,255,.22);box-shadow:0 6px 16px rgba(0,0,0,.10);}
.lcg-app-shell .header-context span{font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important;color:#7b8797!important;text-transform:uppercase;}
.lcg-app-shell .header-context strong{font-size:13px!important;color:var(--lcg-text)!important;}
.lcg-app-shell .search-form{border-radius:14px!important;background:#f7f9fc!important;border:1px solid #dfe6ef!important;box-shadow:none!important;}
.lcg-app-shell .search-form:focus-within{border-color:#9ab6ca!important;box-shadow:0 0 0 4px rgba(18,75,99,.08)!important;background:#fff!important;}
.lcg-app-shell .header-action{border:1px solid var(--lcg-border)!important;background:#fff!important;border-radius:12px!important;}
.lcg-app-shell .user-dropdown .dropdown-toggle{border-radius:14px!important;background:#fff!important;border:1px solid var(--lcg-border)!important;box-shadow:0 4px 14px rgba(15,23,42,.04)!important;}

.lcg-app-shell .sidebar{
  background:linear-gradient(180deg,#082333 0%,#051822 100%)!important;
  border-right:1px solid rgba(255,255,255,.06)!important;
}
.lcg-app-shell .sidebar-header{border-bottom:1px solid rgba(255,255,255,.08)!important;}
.lcg-app-shell .sidebar-logo-name{font-weight:800!important;letter-spacing:-.02em;}
.lcg-app-shell .sidebar-logo-label{color:#d8b766!important;font-size:10px!important;letter-spacing:.11em!important;}
.lcg-sidebar-identity{border:1px solid rgba(229,189,101,.18)!important;background:rgba(255,255,255,.045)!important;border-radius:16px!important;}
.lcg-sidebar-identity .identity-icon{background:linear-gradient(145deg,#f1cf82,#c99736)!important;color:#142637!important;border-radius:12px!important;}
.lcg-app-shell .nav-group-toggle,.lcg-app-shell .nav-link{border-radius:12px!important;min-height:44px;}
.lcg-app-shell .nav-group-toggle{color:#c8d2da!important;}
.lcg-app-shell .nav-link{color:#bcc8d1!important;font-size:13px!important;font-weight:600!important;}
.lcg-app-shell .nav-link:hover,.lcg-app-shell .nav-group-toggle:hover{background:rgba(255,255,255,.07)!important;color:#fff!important;}
.lcg-app-shell .nav-link.active{background:linear-gradient(135deg,#efd083,#e2b75a)!important;color:#172231!important;box-shadow:0 8px 20px rgba(214,164,61,.20)!important;font-weight:800!important;}
.lcg-app-shell .nav-group.is-current>.nav-group-toggle{color:#f0ca72!important;background:rgba(255,255,255,.04)!important;}
.lcg-app-shell .nav-heading{color:#738593!important;font-size:9px!important;letter-spacing:.18em!important;}
.lcg-app-shell .main{background:linear-gradient(180deg,#faf9f6 0,#f5f7f9 380px,#f5f7f9 100%)!important;}
.lcg-app-shell .main-content{max-width:1560px;margin:0 auto;padding:28px 32px 48px!important;}

/* ===== Shared cards, buttons, forms, tables ===== */
.lcg-card,.lcg-page .card{border:1px solid var(--lcg-border)!important;border-radius:var(--lcg-radius-lg)!important;box-shadow:var(--lcg-shadow)!important;background:#fff;}
.lcg-page .card-header{padding:18px 20px!important;border-bottom:1px solid #edf1f5!important;background:#fff!important;border-radius:var(--lcg-radius-lg) var(--lcg-radius-lg) 0 0!important;}
.lcg-page .card-body{padding:20px;}
.lcg-page .btn{border-radius:12px!important;font-weight:700!important;min-height:40px;padding:.58rem .9rem;box-shadow:none!important;}
.lcg-page .btn-sm{min-height:34px;padding:.4rem .7rem;border-radius:10px!important;font-size:12px;}
.lcg-page .btn-primary{background:linear-gradient(135deg,#c98e22,#e1b751)!important;border-color:#c98e22!important;color:#17212b!important;}
.lcg-page .btn-primary:hover{filter:brightness(.97);transform:translateY(-1px);}
.lcg-page .btn-outline-primary{border-color:#d7a43d!important;color:#8e6418!important;background:#fff!important;}
.lcg-page .btn-outline-primary:hover{background:#fff7e5!important;color:#68470f!important;}
.lcg-page .btn-outline-secondary{border-color:#cbd5e1!important;color:#42546a!important;background:#fff!important;}
.lcg-page .btn-danger{background:#df4a59!important;border-color:#df4a59!important;}
.lcg-page .form-control,.lcg-page .form-select,.lcg-page .input-group-text{
  border-radius:12px!important;border-color:#dbe3ec!important;min-height:43px;background:#fff;
}
.lcg-page .form-control:focus,.lcg-page .form-select:focus{border-color:#90aebf!important;box-shadow:0 0 0 4px rgba(18,75,99,.08)!important;}
.lcg-page label,.lcg-page .form-label{font-size:12px;font-weight:700;color:#44556a;}
.lcg-page .table{--bs-table-bg:transparent;vertical-align:middle;}
.lcg-page .table thead th{font-size:10px!important;text-transform:uppercase;letter-spacing:.08em;color:#748196!important;font-weight:800!important;background:#f8fafc!important;border-bottom-color:#e7edf3!important;padding:12px 14px!important;}
.lcg-page .table tbody td{padding:14px!important;border-bottom-color:#eef2f6!important;font-size:13px;}
.lcg-page .table tbody tr:hover{background:#fbfcfd;}
.lcg-page .table-responsive{border-radius:14px;}
.lcg-page .alert{border-radius:14px!important;border-width:1px!important;box-shadow:none!important;}

/* ===== Page headers ===== */
.lcg-page-header{align-items:flex-start!important;gap:22px!important;margin-bottom:24px!important;}
.lcg-kicker{display:inline-flex!important;align-items:center;gap:7px;font-size:10px!important;font-weight:800!important;letter-spacing:.13em!important;text-transform:uppercase;color:#a27118!important;margin-bottom:8px;}
.lcg-page-title{font-size:clamp(30px,3.1vw,46px)!important;line-height:1.02!important;font-weight:800!important;color:#102235!important;margin:0 0 7px!important;}
.lcg-page-subtitle{color:#66758a!important;font-size:14px!important;margin:0!important;}

/* ===== Status chips ===== */
.status-badge,.badge[class*="status"],.lcg-status-chip{border-radius:999px!important;padding:6px 10px!important;font-size:10px!important;line-height:1!important;font-weight:800!important;letter-spacing:.035em;text-transform:uppercase;border:1px solid transparent;}
.status-active,.status-posted,.status-approved,.status-verified,.status-completed{background:#e9f8f1!important;color:#146a4a!important;border-color:#c8ebdc!important;}
.status-pending,.status-pending-verification,.status-pending_verification,.status-processing{background:#fff7df!important;color:#9a6813!important;border-color:#f1dda8!important;}
.status-rejected,.status-cancelled,.status-overdue,.status-reversed{background:#fff0f1!important;color:#b82f3c!important;border-color:#f4c7cb!important;}
.status-draft,.status-inactive,.status-locked{background:#f1f4f7!important;color:#596779!important;border-color:#dfe5eb!important;}

/* ===== Member profile workspace ===== */
.lcg-member-hero{
  position:relative;
  padding:22px 24px!important;
  background:linear-gradient(110deg,rgba(255,255,255,.98) 0%,rgba(255,250,239,.96) 63%,rgba(246,237,214,.86) 100%);
  border:1px solid #eadfca;
  border-radius:24px;
  box-shadow:var(--lcg-shadow);
  overflow:hidden;
}
.lcg-member-hero:after{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(222,177,79,.16),rgba(222,177,79,0) 68%);pointer-events:none;}
.lcg-member-hero>.d-flex{position:relative;z-index:1;}
.lcg-member-actions{justify-content:flex-end;position:relative;z-index:2;}
.lcg-member-summary-grid{margin-top:16px!important;margin-bottom:22px!important;}
.lcg-member-summary-card{position:relative;overflow:hidden;border-radius:18px!important;box-shadow:0 8px 24px rgba(15,23,42,.055)!important;}
.lcg-member-summary-card .card-body{padding:18px 18px 17px!important;}
.lcg-member-summary-card .lcg-summary-label{display:flex;align-items:center;gap:8px;color:#657489;font-size:11px;font-weight:700;}
.lcg-member-summary-card .lcg-summary-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eef5fb;color:#155276;font-size:15px;}
.lcg-member-summary-card.is-paid .lcg-summary-icon{background:#e9f7f0;color:#14724e;}
.lcg-member-summary-card.is-discount .lcg-summary-icon{background:#fff5df;color:#a06a11;}
.lcg-member-summary-card.is-balance .lcg-summary-icon{background:#f2edff;color:#6b47c8;}
.lcg-member-summary-card h3{font-size:24px!important;font-weight:800!important;letter-spacing:-.035em!important;color:#112337;margin:10px 0 4px!important;}
.lcg-member-summary-card small{font-size:11px!important;}

.member-profile-nav-card{position:sticky;top:82px;z-index:40;border-radius:18px!important;box-shadow:0 10px 28px rgba(7,30,45,.06)!important;}
.member-profile-nav-card .card-body{padding:12px!important;}
.member-profile-current-section{display:none!important;}
.member-profile-main-tabs{gap:4px!important;padding:0!important;}
.member-profile-main-tab{border:0!important;background:transparent!important;color:#5f6e82!important;border-radius:11px!important;padding:11px 14px!important;font-size:12px!important;font-weight:700!important;box-shadow:none!important;}
.member-profile-main-tab:hover{background:#f4f7fa!important;color:#153a50!important;}
.member-profile-main-tab.active{background:#0b3448!important;color:#fff!important;box-shadow:0 8px 20px rgba(11,52,72,.16)!important;}
.member-profile-subtab-wrap{padding:10px 4px 0!important;margin-top:8px!important;}
.member-profile-sub-tab{font-size:11px!important;border-radius:10px!important;border-color:#dde5ed!important;background:#f8fafc!important;color:#566579!important;}
.member-profile-sub-tab.active{background:#fff5df!important;border-color:#e2b65b!important;color:#8a5c0e!important;}

/* Card/portal panel */
.lcg-member-card-panel{overflow:hidden;}
.lcg-member-card-panel>.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px!important;}
.lcg-member-card-panel>.card-header h5{font-size:15px!important;font-weight:800!important;color:#173047;}
.lcg-member-card-panel .lcg-card-release-status-text{background:#eaf7f1;border:1px solid #cbe9dc;color:#22684f!important;padding:10px 12px;border-radius:12px;}
.lcg-card-frame{border:1px solid #e3e8ef!important;border-radius:18px!important;padding:14px!important;background:linear-gradient(180deg,#fbfcfd,#f5f7f9)!important;}
.lcg-card-frame h6{font-size:12px!important;font-weight:800!important;color:#30445a;}
.lcg-admin-card-preview{border-radius:16px!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 18px 35px rgba(15,23,42,.12)!important;background-color:#fff;}
.lcg-portal-credentials{border:1px solid #e3e8ef!important;border-radius:18px!important;padding:18px!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,23,42,.04);}
.lcg-portal-credentials h5{font-size:14px!important;font-weight:800!important;}
.lcg-portal-credentials .input-group .form-control{background:#f8fafc;}

/* Dashboard / action center */
.lcg-workspace-hero{border-radius:24px!important;background:linear-gradient(125deg,#082d40,#0d4b61 62%,#be8c2d)!important;box-shadow:0 22px 46px rgba(7,37,52,.18)!important;}
.dashboard-metric-card,.lcg-stat-card{border:1px solid var(--lcg-border)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--lcg-shadow)!important;}
.dashboard-metric-card .metric-icon,.lcg-stat-card .stat-icon{border-radius:12px!important;background:#edf5f8!important;color:#1c5b73!important;}
.dashboard-metric-card .metric-label,.lcg-stat-card>span{font-size:11px!important;color:#657489!important;font-weight:700!important;}
.dashboard-metric-card .metric-value,.lcg-stat-card>strong{font-size:24px!important;font-weight:800!important;color:#102235!important;letter-spacing:-.03em!important;}

/* Modal / dropdown polish */
.modal-content{border:0!important;border-radius:22px!important;box-shadow:0 28px 80px rgba(15,23,42,.22)!important;}
.modal-header,.modal-footer{border-color:#edf1f5!important;}
.dropdown-menu{border:1px solid var(--lcg-border)!important;border-radius:14px!important;box-shadow:0 18px 40px rgba(15,23,42,.12)!important;padding:8px!important;}
.dropdown-item{border-radius:9px!important;padding:9px 11px!important;font-size:12px!important;font-weight:600!important;}

/* ===== Mobile ===== */
@media(max-width:1199.98px){
  .lcg-app-shell .main-content{padding:22px 18px 42px!important;}
  .member-profile-nav-card{top:70px;}
}
@media(max-width:767.98px){
  .lcg-app-shell .main-content{padding:16px 12px 36px!important;}
  .lcg-member-hero{padding:18px!important;border-radius:18px;}
  .lcg-page-title{font-size:30px!important;}
  .lcg-member-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr;}
  .lcg-member-actions .btn{width:100%;font-size:11px!important;}
  .lcg-member-actions .btn-danger{grid-column:1/-1;}
  .lcg-member-summary-grid{--bs-gutter-x:.7rem;--bs-gutter-y:.7rem;}
  .lcg-member-summary-card .card-body{padding:14px!important;}
  .lcg-member-summary-card h3{font-size:19px!important;}
  .member-profile-nav-card{position:relative;top:auto;}
  .member-profile-main-tab{padding:10px 12px!important;}
  .lcg-page .table-responsive{margin-left:-6px;margin-right:-6px;}
}

/* Dark mode compatibility */
[data-theme="dark"] .lcg-member-hero,.dark-mode .lcg-member-hero{background:linear-gradient(120deg,#102431,#172e3b)!important;border-color:#29414f!important;}

/* ===== Member portal generated-card preview ===== */
.member-card-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;}
.member-card-preview-box{min-width:0;}
.member-access-card-preview{position:relative;width:100%;aspect-ratio:1583/994;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:16px;overflow:hidden;border:1px solid rgba(15,23,42,.09);box-shadow:0 16px 32px rgba(15,23,42,.12);}
.member-access-card-text{position:absolute;left:7.85%;max-width:65%;color:#062755;font-family:var(--lcg-font)!important;font-weight:800;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;overflow:hidden;line-height:1;}
.member-access-card-preview.is-ultra .member-access-card-text{color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.55);}
.member-access-card-name{top:39.7%;font-size:clamp(11px,1.1vw,22px);}
.member-access-card-type{top:61.2%;font-size:clamp(10px,1vw,19px);}
.member-access-card-valid{top:75.6%;font-size:clamp(8px,.75vw,14px);}
.member-access-card-number{top:81.5%;font-size:clamp(7px,.6vw,11px);}
.member-access-card-preview.is-premium-v2 .member-access-card-name{left:7.9%;top:79%;max-width:53%;font-size:clamp(10px,1.05vw,21px);color:#082f54;text-shadow:none;letter-spacing:.025em;}
.member-access-card-membership-code{position:absolute;left:7.9%;top:92%;max-width:56%;color:#082f54;font-family:var(--lcg-font)!important;font-size:clamp(7px,.72vw,14px);font-weight:800;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;}
@media(max-width:991.98px){.member-card-preview-grid{grid-template-columns:1fr;}}
@media(max-width:575.98px){.member-access-card-preview.is-premium-v2 .member-access-card-name{font-size:clamp(8px,3vw,16px)}.member-access-card-membership-code{font-size:clamp(6px,2vw,11px)}}
/* LCG Membership Card Preview Final Fix */
.lcg-member-card-panel{overflow:visible!important;}
.lcg-card-frame{overflow:visible!important;}
.lcg-admin-card-generated-img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;}
.member-card-preview-box{overflow:visible!important;}
.member-card-preview-box img,.member-access-card-generated-img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;overflow:visible!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;}
.member-access-card-preview{height:auto!important;min-height:0!important;overflow:visible!important;background-size:contain!important;background-position:center!important;}

