
/* ======================================================================
   TGS SITE PRO UI PACK
   Scope: visual/UI only. No Firebase/auth/database logic is touched.
   ====================================================================== */
:root{
  --tgs-bg-0:#050914;
  --tgs-bg-1:#07111f;
  --tgs-bg-2:#0b1728;
  --tgs-panel:rgba(8,18,32,.78);
  --tgs-panel-2:rgba(11,25,43,.86);
  --tgs-glass:rgba(15,31,52,.68);
  --tgs-line:rgba(148,163,184,.20);
  --tgs-line-strong:rgba(56,189,248,.32);
  --tgs-text:#eef6ff;
  --tgs-muted:#a6b4c8;
  --tgs-soft:#d7e8fa;
  --tgs-brand:#38bdf8;
  --tgs-brand-2:#22c55e;
  --tgs-brand-3:#14f1c9;
  --tgs-warn:#f59e0b;
  --tgs-danger:#ef4444;
  --tgs-radius-xl:28px;
  --tgs-radius-lg:20px;
  --tgs-radius-md:14px;
  --tgs-shadow:0 24px 80px rgba(0,0,0,.42);
  --tgs-shadow-soft:0 16px 50px rgba(8,18,32,.32);
  --tgs-focus:0 0 0 4px rgba(56,189,248,.22);
  --tgs-font:Inter,Roboto,Segoe UI,system-ui,-apple-system,Arial,sans-serif;
}

*{scrollbar-width:thin;scrollbar-color:rgba(56,189,248,.55) rgba(15,23,42,.65)}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:rgba(15,23,42,.65)}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--tgs-brand),var(--tgs-brand-2));border-radius:999px;border:2px solid rgba(15,23,42,.72)}
html{scroll-behavior:smooth}
body.tgs-pro-page,
body.tgs-pro-home,
body.tgs-pro-service,
body.tgs-pro-contact,
body.tgs-pro-main,
body.tgs-pro-console{
  font-family:var(--tgs-font)!important;
  color:var(--tgs-text)!important;
  background:
    radial-gradient(900px 520px at 8% -12%, rgba(56,189,248,.23), transparent 62%),
    radial-gradient(750px 480px at 96% 4%, rgba(34,197,94,.16), transparent 58%),
    linear-gradient(135deg,var(--tgs-bg-0),var(--tgs-bg-1) 48%,var(--tgs-bg-2))!important;
}
body.tgs-pro-page::before,
body.tgs-pro-home::before,
body.tgs-pro-service::before,
body.tgs-pro-contact::before{
  opacity:.36!important;
  filter:saturate(1.2) contrast(1.06);
}
body.tgs-pro-page::after,
body.tgs-pro-home::after,
body.tgs-pro-service::after,
body.tgs-pro-contact::after{
  background:
    linear-gradient(180deg,rgba(2,6,23,.22),rgba(2,6,23,.78)),
    radial-gradient(circle at 50% 0%, rgba(56,189,248,.16), transparent 52%)!important;
}
body.tgs-pro-page:before,
body.tgs-pro-home:before,
body.tgs-pro-service:before,
body.tgs-pro-contact:before{z-index:0!important}
body.tgs-pro-page header,
body.tgs-pro-home header,
body.tgs-pro-service header,
body.tgs-pro-contact header,
body.tgs-pro-main header,
body.tgs-pro-console header{
  background:rgba(5,10,20,.76)!important;
  border-bottom:1px solid rgba(56,189,248,.22)!important;
  box-shadow:0 12px 40px rgba(0,0,0,.26)!important;
  backdrop-filter:blur(18px) saturate(1.25)!important;
}
body.tgs-pro-page .brand,
body.tgs-pro-home .brand,
body.tgs-pro-service .brand,
body.tgs-pro-contact .brand,
body.tgs-pro-main #brand,
body.tgs-pro-console .brand{
  letter-spacing:.3px!important;
  font-weight:900!important;
}
body.tgs-pro-page .brand::before,
body.tgs-pro-home .brand::before,
body.tgs-pro-service .brand::before,
body.tgs-pro-contact .brand::before{
  content:"";display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:10px;
  background:linear-gradient(135deg,var(--tgs-brand),var(--tgs-brand-2));
  box-shadow:0 0 0 5px rgba(56,189,248,.12),0 0 24px rgba(34,197,94,.25);
  vertical-align:middle;
}
body.tgs-pro-page a.navlink,
body.tgs-pro-home a.navlink,
body.tgs-pro-service a.navlink,
body.tgs-pro-contact a.navlink{
  text-decoration:none!important;
  color:#dff5ff!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  padding:9px 12px!important;
  opacity:.92!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,color .16s ease!important;
}
body.tgs-pro-page a.navlink:hover,
body.tgs-pro-home a.navlink:hover,
body.tgs-pro-service a.navlink:hover,
body.tgs-pro-contact a.navlink:hover{
  opacity:1!important;
  color:#fff!important;
  background:rgba(56,189,248,.11)!important;
  border-color:rgba(56,189,248,.28)!important;
  transform:translateY(-1px);
}
body.tgs-pro-page .btn,
body.tgs-pro-home .btn,
body.tgs-pro-service .btn,
body.tgs-pro-contact .btn,
body.tgs-pro-main .btn,
body.tgs-pro-console .btn,
body.tgs-pro-page button,
body.tgs-pro-home button,
body.tgs-pro-service button,
body.tgs-pro-contact button{
  border-radius:14px!important;
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,border-color .14s ease!important;
}
body.tgs-pro-page .btn:hover,
body.tgs-pro-home .btn:hover,
body.tgs-pro-service .btn:hover,
body.tgs-pro-contact .btn:hover,
body.tgs-pro-main .btn:hover,
body.tgs-pro-console .btn:hover{transform:translateY(-1px)}
body.tgs-pro-page .btn-primary,
body.tgs-pro-home .btn-primary,
body.tgs-pro-service .btn-primary,
body.tgs-pro-contact .btn-primary,
body.tgs-pro-page .btn-brand,
body.tgs-pro-home .btn-brand{
  background:linear-gradient(135deg,var(--tgs-brand-3),var(--tgs-brand))!important;
  color:#04111f!important;
  box-shadow:0 14px 34px rgba(20,241,201,.20)!important;
}
body.tgs-pro-page .btn-secondary,
body.tgs-pro-home .btn-secondary,
body.tgs-pro-service .btn-secondary,
body.tgs-pro-contact .btn-secondary,
body.tgs-pro-page .btn-sec,
body.tgs-pro-home .btn-sec{
  background:linear-gradient(135deg,rgba(15,31,52,.92),rgba(11,25,43,.92))!important;
  border-color:rgba(56,189,248,.28)!important;
  color:#f2fbff!important;
}
body.tgs-pro-page .btn-ghost,
body.tgs-pro-home .btn-ghost,
body.tgs-pro-service .btn-ghost,
body.tgs-pro-contact .btn-ghost{
  background:rgba(255,255,255,.03)!important;
  border-color:rgba(148,163,184,.28)!important;
  color:#eef6ff!important;
}
body.tgs-pro-page .lang-btn,
body.tgs-pro-home .lang-btn,
body.tgs-pro-service .lang-btn,
body.tgs-pro-contact .lang-btn{
  background:rgba(15,31,52,.74)!important;
  border-color:rgba(148,163,184,.24)!important;
  color:#eaf7ff!important;
}
body.tgs-pro-page .lang-btn.active,
body.tgs-pro-home .lang-btn.active,
body.tgs-pro-service .lang-btn.active,
body.tgs-pro-contact .lang-btn.active{
  outline:none!important;
  background:linear-gradient(135deg,var(--tgs-brand),var(--tgs-brand-2))!important;
  color:#03101d!important;
  box-shadow:0 10px 28px rgba(56,189,248,.24)!important;
}
body.tgs-pro-page main,
body.tgs-pro-home main,
body.tgs-pro-service main,
body.tgs-pro-contact main{
  display:block!important;
  width:100%;
  position:relative!important;
  z-index:2!important;
  padding:34px 16px 52px!important;
}
body.tgs-pro-page footer,
body.tgs-pro-home footer,
body.tgs-pro-service footer,
body.tgs-pro-contact footer{
  background:rgba(5,10,20,.80)!important;
  border-top:1px solid rgba(56,189,248,.20)!important;
  color:var(--tgs-muted)!important;
}

/* Public website sections */
.tgs-hero-wrap,
body.tgs-pro-home .hero,
body.tgs-pro-service .box,
body.tgs-pro-contact .box,
body.tgs-pro-page .box{
  width:min(1180px,calc(100vw - 32px))!important;
  margin:34px auto!important;
  border:1px solid rgba(56,189,248,.22)!important;
  border-radius:var(--tgs-radius-xl)!important;
  background:
    linear-gradient(135deg,rgba(8,18,32,.88),rgba(15,31,52,.64)),
    radial-gradient(800px 300px at 0% 0%, rgba(56,189,248,.16), transparent 60%)!important;
  box-shadow:var(--tgs-shadow)!important;
  backdrop-filter:blur(18px) saturate(1.18)!important;
  overflow:hidden!important;
  text-align:left!important;
}
body.tgs-pro-home .hero{padding:clamp(28px,5vw,64px)!important}
body.tgs-pro-home .hero h1{
  max-width:880px;
  font-size:clamp(34px,6vw,66px)!important;
  line-height:1.02!important;
  letter-spacing:-1.7px!important;
  margin-bottom:18px!important;
}
body.tgs-pro-home .hero p{
  max-width:920px;
  color:#d8e8f9!important;
  font-size:clamp(15px,1.7vw,18px)!important;
  line-height:1.75!important;
}
body.tgs-pro-home .hero .actions{margin-top:24px!important;gap:12px!important}
.tgs-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border:1px solid rgba(56,189,248,.28);border-radius:999px;
  background:rgba(56,189,248,.10);color:#bff3ff;font-weight:850;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;
}
.tgs-eyebrow::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--tgs-brand-2);box-shadow:0 0 18px rgba(34,197,94,.5)}
.tgs-section{width:min(1180px,calc(100vw - 32px));margin:22px auto;padding:0}
.tgs-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 0 16px}
.tgs-section-head h2,.tgs-section h2{font-size:clamp(24px,3vw,36px);line-height:1.12;margin:0;color:#f8fcff!important;letter-spacing:-.7px}
.tgs-section-head p,.tgs-section p{color:var(--tgs-muted);line-height:1.65}
.tgs-kpi-grid,.tgs-suite-grid,.tgs-service-grid,.tgs-contact-grid,.tgs-process-grid{
  display:grid;gap:16px;grid-template-columns:repeat(12,1fr);
}
.tgs-kpi,.tgs-module-card,.tgs-soft-card,.tgs-contact-card,.tgs-process-step,.tgs-panel-card{
  border:1px solid rgba(148,163,184,.18);
  border-radius:var(--tgs-radius-lg);
  background:linear-gradient(180deg,rgba(15,31,52,.72),rgba(8,18,32,.82));
  box-shadow:var(--tgs-shadow-soft);
  padding:20px;
  position:relative;
  overflow:hidden;
}
.tgs-kpi::after,.tgs-module-card::after,.tgs-soft-card::after,.tgs-contact-card::after,.tgs-process-step::after,.tgs-panel-card::after{
  content:"";position:absolute;inset:auto -20% -45% -20%;height:100px;background:radial-gradient(circle,rgba(56,189,248,.18),transparent 62%);pointer-events:none;
}
.tgs-kpi{grid-column:span 3}.tgs-module-card{grid-column:span 4}.tgs-soft-card{grid-column:span 4}.tgs-process-step{grid-column:span 3}.tgs-contact-card{grid-column:span 4}.tgs-panel-card{grid-column:span 6}
.tgs-kpi strong{display:block;font-size:clamp(26px,4vw,42px);line-height:1;color:#fff;margin-bottom:8px;letter-spacing:-1px}
.tgs-kpi span,.tgs-module-card p,.tgs-soft-card p,.tgs-contact-card p,.tgs-process-step p,.tgs-panel-card p{color:var(--tgs-muted);line-height:1.6;margin:8px 0 0}
.tgs-module-card h3,.tgs-soft-card h3,.tgs-contact-card h3,.tgs-process-step h3,.tgs-panel-card h3{margin:0;color:#f7fbff;font-size:18px}
.tgs-module-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(56,189,248,.18),rgba(34,197,94,.14));border:1px solid rgba(56,189,248,.24);font-weight:900;margin-bottom:14px}
.tgs-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tgs-tag{font-size:12px;font-weight:800;color:#dff5ff;border:1px solid rgba(56,189,248,.22);background:rgba(56,189,248,.08);border-radius:999px;padding:7px 10px}
.tgs-cta-band{width:min(1180px,calc(100vw - 32px));margin:24px auto;border:1px solid rgba(34,197,94,.24);border-radius:var(--tgs-radius-xl);padding:clamp(22px,4vw,38px);background:linear-gradient(135deg,rgba(20,241,201,.13),rgba(56,189,248,.08)),rgba(8,18,32,.84);box-shadow:var(--tgs-shadow-soft);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.tgs-cta-band h2{margin:0;color:#fff;font-size:clamp(22px,3vw,34px)}
.tgs-cta-band p{margin:6px 0 0;color:var(--tgs-muted);max-width:720px}
.tgs-cta-actions{display:flex;flex-wrap:wrap;gap:10px}

/* Services page enhancement */
body.tgs-pro-service .box{padding:clamp(22px,4vw,40px)!important}
body.tgs-pro-service .box>h1{font-size:clamp(32px,5vw,54px)!important;letter-spacing:-1px;margin-bottom:24px!important}
body.tgs-pro-service .section{
  border:1px solid rgba(148,163,184,.16)!important;
  background:rgba(8,18,32,.50)!important;
  border-radius:18px!important;
  padding:18px!important;
  margin:14px 0!important;
}
body.tgs-pro-service .section h2{color:#f3fbff!important}
body.tgs-pro-service .section li{color:#d8e8f9!important;line-height:1.58!important}
.tgs-software-platform{margin-top:20px!important;border-color:rgba(20,241,201,.28)!important;background:linear-gradient(135deg,rgba(20,241,201,.11),rgba(56,189,248,.08)),rgba(8,18,32,.70)!important}

/* Contact */
body.tgs-pro-contact .box{text-align:left!important;padding:clamp(24px,5vw,48px)!important}
body.tgs-pro-contact .box h1{font-size:clamp(32px,5vw,54px)!important;letter-spacing:-1px}
body.tgs-pro-contact .box a{color:#8ee8ff!important;font-weight:900;text-decoration:none;border-bottom:1px solid rgba(142,232,255,.38)}
body.tgs-pro-contact .box a:hover{color:#fff!important}

/* Main portal */
body.tgs-pro-main .layout{max-width:1480px!important;gap:18px!important}
body.tgs-pro-main .sidebar,body.tgs-pro-main .section,body.tgs-pro-main .panel,body.tgs-pro-main .confirm-card{
  border-color:rgba(56,189,248,.18)!important;
  box-shadow:var(--tgs-shadow-soft)!important;
}
.tgs-dashboard-hero{border:1px solid rgba(56,189,248,.24);border-radius:24px;padding:24px;background:linear-gradient(135deg,rgba(56,189,248,.12),rgba(34,197,94,.08)),rgba(15,23,42,.72);box-shadow:var(--tgs-shadow-soft);margin-bottom:16px}
.tgs-dashboard-hero h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.8px;margin:0 0 8px;color:#f8fcff!important}
.tgs-dashboard-hero p{color:var(--tgs-muted);line-height:1.65;margin:0}
.tgs-dashboard-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.tgs-dashboard-strip div{border:1px solid rgba(148,163,184,.16);border-radius:16px;padding:12px;background:rgba(2,6,23,.24);color:#d9e9fb;font-size:13px;font-weight:800}

/* Console/support pages */
body.tgs-pro-console .card,body.tgs-pro-console .panel,body.tgs-pro-console .section,body.tgs-pro-console .box{
  border-radius:20px!important;border-color:rgba(56,189,248,.18)!important;box-shadow:var(--tgs-shadow-soft)!important;
}
body.tgs-pro-console input,body.tgs-pro-console select,body.tgs-pro-console textarea,
body.tgs-pro-main input,body.tgs-pro-main select,body.tgs-pro-main textarea{
  border-radius:14px!important;border-color:rgba(148,163,184,.22)!important;background:rgba(2,6,23,.42)!important;color:#eef6ff!important;
}
body.tgs-pro-console input:focus,body.tgs-pro-console select:focus,body.tgs-pro-console textarea:focus,
body.tgs-pro-main input:focus,body.tgs-pro-main select:focus,body.tgs-pro-main textarea:focus{box-shadow:var(--tgs-focus)!important;border-color:rgba(56,189,248,.48)!important}

/* 404 */
body.tgs-pro-404{min-height:100vh;background:linear-gradient(135deg,#050914,#0b1728)!important;color:#eef6ff!important;display:grid;place-items:center;padding:18px;font-family:var(--tgs-font)!important}
body.tgs-pro-404 #message{max-width:560px!important;margin:0!important;padding:34px!important;border-radius:28px!important;background:linear-gradient(135deg,rgba(8,18,32,.90),rgba(15,31,52,.74))!important;border:1px solid rgba(56,189,248,.24)!important;box-shadow:var(--tgs-shadow)!important;color:#eef6ff!important}
body.tgs-pro-404 #message h2{color:var(--tgs-brand-3)!important;font-size:16px!important;letter-spacing:.14em;text-transform:uppercase}
body.tgs-pro-404 #message h1{color:#fff!important;font-size:36px!important;font-weight:900!important;letter-spacing:-.8px}
body.tgs-pro-404 #message h3,body.tgs-pro-404 #message p{color:var(--tgs-muted)!important}
body.tgs-pro-404 #message a{background:linear-gradient(135deg,var(--tgs-brand-3),var(--tgs-brand))!important;color:#04111f!important;border-radius:14px!important;box-shadow:none!important}

@media (max-width:1024px){
  .tgs-kpi{grid-column:span 6}.tgs-module-card,.tgs-soft-card,.tgs-panel-card{grid-column:span 6}.tgs-process-step,.tgs-contact-card{grid-column:span 6}
  body.tgs-pro-main .layout{grid-template-columns:1fr!important}
  body.tgs-pro-main .sidebar{position:relative!important;top:auto!important}
  .tgs-dashboard-strip{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  body.tgs-pro-page main,body.tgs-pro-home main,body.tgs-pro-service main,body.tgs-pro-contact main{padding:18px 12px 38px!important}
  .tgs-section,.tgs-cta-band,body.tgs-pro-home .hero,body.tgs-pro-service .box,body.tgs-pro-contact .box,body.tgs-pro-page .box{width:calc(100vw - 24px)!important;margin:18px auto!important;border-radius:22px!important}
  body.tgs-pro-home .hero{padding:24px!important}
  .tgs-section-head{display:block}
  .tgs-kpi,.tgs-module-card,.tgs-soft-card,.tgs-process-step,.tgs-contact-card,.tgs-panel-card{grid-column:1 / -1!important;padding:18px!important}
  .tgs-cta-band{display:block}.tgs-cta-actions{margin-top:16px}.tgs-cta-actions .btn,.tgs-cta-actions a{width:100%}
  body.tgs-pro-page .mobile-overlay,body.tgs-pro-home .mobile-overlay,body.tgs-pro-service .mobile-overlay,body.tgs-pro-contact .mobile-overlay{background:linear-gradient(180deg,#050914,#07111f)!important}
  body.tgs-pro-page .mobile-overlay a.navlink,body.tgs-pro-home .mobile-overlay a.navlink,body.tgs-pro-service .mobile-overlay a.navlink,body.tgs-pro-contact .mobile-overlay a.navlink{border-radius:16px!important;background:rgba(15,31,52,.82)!important;padding:15px!important}
  body.tgs-pro-page .mobile-actions .btn,body.tgs-pro-home .mobile-actions .btn,body.tgs-pro-service .mobile-actions .btn,body.tgs-pro-contact .mobile-actions .btn{width:100%}
  body.tgs-pro-page .btn-menu,body.tgs-pro-home .btn-menu,body.tgs-pro-service .btn-menu,body.tgs-pro-contact .btn-menu{background:linear-gradient(135deg,rgba(56,189,248,.16),rgba(34,197,94,.12))!important;border-color:rgba(56,189,248,.26)!important;color:#fff!important}
}
@media (max-width:520px){
  body.tgs-pro-home .hero h1{font-size:34px!important}
  .tgs-dashboard-strip{grid-template-columns:1fr}
  body.tgs-pro-404 #message h1{font-size:30px!important}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
