/* =========================================================
   GCD Enterprise App V21.5.1 — Premium Experience Layer
   Scope: UI/UX shell, glass/3D treatment, sticky navigation,
   responsive overflow fixes, chart/table polish. No DB change.
   ========================================================= */
:root{
  --gcd-gold:#d6a028;
  --gcd-gold-2:#f5c64d;
  --gcd-deep:#071a33;
  --gcd-ink:#142033;
  --gcd-glass:rgba(255,255,255,.72);
  --gcd-glass-border:rgba(255,255,255,.72);
  --gcd-shadow-3d:0 18px 38px rgba(8,22,48,.14),0 3px 0 rgba(255,255,255,.52) inset;
  --gcd-shadow-float:0 28px 70px rgba(8,22,48,.18);
  --gcd-ring:0 0 0 .22rem color-mix(in srgb,var(--brand2) 22%,transparent);
}
html{scroll-padding-top:88px;}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 10% -10%, color-mix(in srgb,var(--brand2) 25%,transparent), transparent 34%),
    radial-gradient(circle at 95% 6%, rgba(214,160,40,.16), transparent 30%),
    linear-gradient(180deg,#f7f9fd 0%,var(--bg) 48%,#eef3f9 100%) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.theme-dark{
  --gcd-glass:rgba(15,23,42,.72);
  --gcd-glass-border:rgba(148,163,184,.15);
  background:
    radial-gradient(circle at 8% -8%, rgba(41,100,184,.35), transparent 32%),
    radial-gradient(circle at 98% 6%, rgba(214,160,40,.17), transparent 28%),
    linear-gradient(180deg,#07111f 0%,#0b1220 100%) !important;
}
.app-shell{isolation:isolate;}
.app-shell:before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(15,23,42,.035) 1px, transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px, transparent 1px);
  background-size:38px 38px;mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 72%);
}
.topbar{
  position:sticky;top:0;z-index:1040;min-height:72px;
  background:linear-gradient(135deg,var(--gcd-deep),var(--brand) 55%,var(--brand2)) !important;
  border-bottom:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:0 14px 40px rgba(7,26,51,.30);
  gap:.65rem;
}
.navbar-brand{font-weight:900!important;letter-spacing:.04em;white-space:nowrap;display:flex;align-items:center;gap:.55rem;}
.navbar-brand:before{content:"";width:32px;height:32px;border-radius:12px;background:linear-gradient(135deg,var(--gcd-gold-2),var(--gcd-gold));box-shadow:0 9px 22px rgba(214,160,40,.35),inset 0 1px 0 rgba(255,255,255,.45);}
.topbar .navbar-nav{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:.25rem 0;mask-image:linear-gradient(90deg,#000 94%,transparent);}
.topbar .navbar-nav::-webkit-scrollbar{height:5px}.topbar .navbar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:999px}
.topbar .nav-link{white-space:nowrap;border:1px solid transparent;color:rgba(255,255,255,.84)!important;}
.topbar .nav-link:hover,.topbar .nav-link.active{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.22);}
.global-search-mini{box-shadow:inset 0 1px 0 rgba(255,255,255,.18);flex:0 0 360px;}
.btn-warning-soft{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 24px rgba(0,0,0,.08)}
.main-wrap{align-items:stretch;}
.sidebar{top:72px!important;max-height:calc(100vh - 72px);overflow-y:auto;scrollbar-width:thin;border-right:1px solid color-mix(in srgb,var(--line) 72%,transparent);backdrop-filter:blur(18px);}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
.sidebar-title{padding:.4rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--soft) 72%,transparent);display:inline-flex;}
.sidebar-link{position:relative;display:flex;align-items:center;gap:.55rem;font-weight:700;}
.sidebar-link:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;opacity:.35;}
.sidebar-link.active:before{opacity:1;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.14)}
.content{max-width:1720px;margin:0 auto;width:100%;}
.page-head{position:relative;overflow:hidden;background:var(--gcd-glass)!important;border-color:var(--gcd-glass-border)!important;box-shadow:var(--gcd-shadow-3d)!important;}
.page-head:after{content:"";position:absolute;right:-60px;top:-70px;width:190px;height:190px;background:radial-gradient(circle,rgba(214,160,40,.20),transparent 62%);}
.page-head h1{font-size:clamp(1.45rem,2.15vw,2.25rem);font-weight:950!important;letter-spacing:-.04em;}
.breadcrumbs{color:color-mix(in srgb,var(--muted) 82%,var(--brand2))!important;}
.quick-actions{position:relative;z-index:1}.quick-actions .btn{box-shadow:0 8px 20px rgba(15,23,42,.09)}
.card-elev,.metric-card,.detail-hero,.login-card,.search-result-card,.mini-stats{
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;
  box-shadow:var(--gcd-shadow-3d)!important;
  backdrop-filter:blur(14px);
}
.card-elev,.metric-card,.search-result-card{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.card-elev:hover,.metric-card:hover,.search-result-card:hover{transform:translateY(-2px);box-shadow:var(--gcd-shadow-float)!important;border-color:color-mix(in srgb,var(--brand2) 28%,var(--line))!important;}
.card-elev .card-header{min-height:58px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.58))!important;}
.theme-dark .card-elev .card-header{background:linear-gradient(180deg,rgba(30,41,59,.92),rgba(17,24,39,.72))!important;}
.metric-card{position:relative;overflow:hidden;min-height:132px;}
.metric-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.34),transparent 45%);pointer-events:none;}
.metric-card:after{width:155px!important;height:155px!important;background:radial-gradient(circle, color-mix(in srgb,var(--brand2) 15%,transparent), transparent 65%)!important;}
.metric-card strong{font-weight:950;letter-spacing:-.055em;}
.metric-soft{background:linear-gradient(145deg,#fffaf0,#fff,#eef5ff)!important;}
.theme-dark .metric-soft{background:linear-gradient(145deg,#172033,#111827,#0b1220)!important;}
.experience-hero,.detail-hero{position:relative;overflow:hidden;}
.experience-hero:before,.detail-hero:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 40%,rgba(214,160,40,.13));pointer-events:none;}
.experience-hero>* , .detail-hero>*{position:relative;z-index:1;}
.table-tools{background:var(--gcd-glass);border:1px solid var(--gcd-glass-border);border-radius:18px;padding:.65rem .8rem;box-shadow:0 10px 26px rgba(15,23,42,.07);}
.table-responsive{border-radius:0 0 22px 22px;}
.table{vertical-align:middle;}
.table tbody tr{border-left:3px solid transparent;}
.table tbody tr:hover{border-left-color:var(--gcd-gold);}
.table thead th{backdrop-filter:blur(10px);}
.badge,.chip{box-shadow:inset 0 1px 0 rgba(255,255,255,.32);}
.btn-primary,.btn-outline-primary:hover{box-shadow:0 12px 26px color-mix(in srgb,var(--brand2) 28%,transparent)!important;}
.btn:focus,.form-control:focus,.form-select:focus{box-shadow:var(--gcd-ring)!important;}
.form-control,.form-select{background-clip:padding-box;}
.chart-tile canvas,.card-elev canvas{filter:drop-shadow(0 14px 18px rgba(15,23,42,.12));}
.card-elev:has(canvas){background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--soft) 30%,var(--panel)));}
.alert{border-left:5px solid currentColor!important;}
.login-shell{background:radial-gradient(circle at 20% 10%,rgba(214,160,40,.28),transparent 26%),linear-gradient(135deg,var(--gcd-deep),var(--brand2))!important;}
.login-card{background:rgba(255,255,255,.86)!important;backdrop-filter:blur(20px);}
.brand-badge{background:linear-gradient(135deg,var(--gcd-gold-2),var(--gcd-gold))!important;color:var(--gcd-deep)!important;}
.mobile-menu-btn{z-index:1050;box-shadow:0 18px 42px rgba(7,26,51,.24)!important;}
@media(max-width:1399.98px){.global-search-mini{flex-basis:300px}.topbar{gap:.35rem}.topbar .nav-link{padding:.38rem .58rem;font-size:.92rem}}
@media(max-width:1199.98px){.global-search-mini{display:none!important}.topbar .navbar-nav{max-width:calc(100vw - 420px)}}
@media(max-width:991.98px){.topbar{min-height:64px}.topbar .navbar-nav{display:flex!important;max-width:100%;order:3;flex-basis:100%;padding-bottom:.3rem}.sidebar{display:none!important}.content{padding:1rem!important}.page-head{border-radius:20px}.card-elev:hover,.metric-card:hover{transform:none}.main-wrap{padding-bottom:5rem}}
@media(max-width:575.98px){.topbar{padding:.65rem!important}.navbar-brand:before{width:26px;height:26px;border-radius:9px}.topbar .d-flex.align-items-center{gap:.45rem!important}.page-head h1{font-size:1.35rem}.card-header{font-size:.95rem}.metric-card{min-height:112px}.metric-card strong{font-size:1.45rem}.table{min-width:820px}.btn-sm{padding:.42rem .62rem}}
@media print{body{background:#fff!important}.page-head,.card-elev,.metric-card{box-shadow:none!important;backdrop-filter:none!important}.card-elev:hover,.metric-card:hover{transform:none!important}.table-tools{display:none!important}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
