﻿/* SaaSNext compatibility layer
   - Fixes missing classes used by Twig templates (Redmax base)
   - Improves layout stability so pages don't break when uploaded

   Load order: base.css -> app.css -> compat.css
*/

/* ---------- Utilities ---------- */
.hidden, .hidden-desc{display:none!important;}
.hidden-mobile{display:none;}
@media (min-width:992px){.hidden-mobile{display:block;}}

.text-center{text-align:center;}
.text-muted{color:var(--text-muted)!important;}
.muted{color:var(--text-muted)!important;}
.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.font-bold{font-weight:700;}
.text-xl{font-size:1.25rem;}
.mt-4{margin-top:var(--spacing-xl)!important;}
.mb-3{margin-bottom:var(--spacing-lg)!important;}
.width-40{width:40px;}

/* ---------- Buttons ---------- */
.btn-sm{padding:8px 14px;font-size:.875rem;}
.btn-lg{padding:12px 22px;font-size:1rem;}
.btn-xl{padding:14px 26px;font-size:1.05rem;border-radius:var(--radius-md);}
.btn-block{display:flex;width:100%;}
.btn-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;}

.btn-ghost{background:transparent;border:1px solid transparent;color:var(--text-muted);}
.btn-ghost:hover{color:var(--text-main);border-color:var(--border-color);background:rgba(255,255,255,.02);}

.btn-success{background:var(--success);color:white;box-shadow:0 4px 12px rgba(16,185,129,.2);}
.btn-success:hover{background:#059669;transform:translateY(-1px);}

.btn-danger{background:var(--danger);color:white;box-shadow:0 4px 12px rgba(239,68,68,.2);}
.btn-danger:hover{background:#dc2626;transform:translateY(-1px);} 

/* ---------- Forms ---------- */
.checkbox{display:flex;align-items:center;gap:10px;color:var(--text-muted);} 
.checkbox input{accent-color:var(--primary);} 

.form-row{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);} 
@media (min-width:768px){.form-row{grid-template-columns:1fr 1fr;}}

.input-group{display:flex;gap:var(--spacing-sm);align-items:stretch;}
.input-group .form-control{flex:1;}

/* New order quantity helper text */
#fields_order_quantity .field-meta{
  margin-top:10px;
  font-size:.72rem;
  line-height:1.3;
  color:var(--text-muted);
}

#fields_order_quantity .field-meta span{
  font-weight:400;
}

/* Global select caret alignment fix */
select.form-control:not([multiple]):not([size]){
  -webkit-appearance:none;
  appearance:none;
  padding-right:44px;
  background-image:
    linear-gradient(45deg, transparent 50%, #94a3b8 50%),
    linear-gradient(135deg, #94a3b8 50%, transparent 50%);
  background-repeat:no-repeat;
  background-size:6px 6px, 6px 6px;
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
}

.light-mode select.form-control:not([multiple]):not([size]){
  background-image:
    linear-gradient(45deg, transparent 50%, #475569 50%),
    linear-gradient(135deg, #475569 50%, transparent 50%);
}

/* ---------- Alerts (extra variants) ---------- */
.alert-success{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.25);color:#34d399;}
.alert-warning{background:rgba(245,158,11,.06);border-color:rgba(245,158,11,.25);color:#fbbf24;}

/* ---------- Layout wrappers ---------- */
.app-main{padding-bottom:84px;}
@media (min-width:992px){.app-main{padding-bottom:0;}}

.page-header{margin-bottom:var(--spacing-lg);} 
.page-header h1{font-size:1.5rem;font-family:var(--font-display);}

.page-content-wrapper{padding:var(--spacing-xl) 0;}
.page-title{font-size:1.6rem;font-family:var(--font-display);margin-bottom:var(--spacing-xs);} 
.page-body{margin-top:var(--spacing-lg);} 

/* Keep page width stable on mobile and prevent accidental horizontal overflow */
html,body{
  max-width:100%;
  overflow-x:hidden;
}

.app-main,
.container,
.app-layout,
.main-content{
  max-width:100%;
}

.app-layout > *,
.main-content > *{
  min-width:0;
}

.table-responsive{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Dashboard columns helpers */
.dashboard-grid{align-items:start;}
.col-main,.col-sidebar{min-width:0;}

/* ---------- Sidebar (class mismatch fix) ---------- */
.app-sidebar{background:var(--bg-card);border-right:1px solid var(--border-color);padding:var(--spacing-lg);display:none;}
@media (min-width:992px){.app-sidebar{display:block;}}

.sidebar-nav .nav-list{display:flex;flex-direction:column;gap:6px;}
.sidebar-nav .nav-item{margin:0;}
.sidebar-nav .nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--text-muted);}
.sidebar-nav .nav-link:hover{background:rgba(255,255,255,.03);color:var(--text-main);}
.sidebar-nav .nav-link.active{background:rgba(124,58,237,.12);color:var(--primary);border:1px solid rgba(124,58,237,.22);} 

/* ---------- Header polish ---------- */
.header-actions{display:flex;align-items:center;gap:var(--spacing-md);} 

.balance-badge{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(124,58,237,.42);border-radius:999px;background:linear-gradient(90deg, rgba(124,58,237,.28), rgba(79,70,229,.24));} 
.balance-badge .label{color:var(--text-muted);font-size:.85rem;} 
.balance-badge .amount{font-weight:700;} 
a.balance-badge{color:inherit;text-decoration:none;}
a.balance-badge:hover{border-color:rgba(124,58,237,.55);background:linear-gradient(90deg, rgba(124,58,237,.36), rgba(79,70,229,.3));}

.user-menu{display:flex;align-items:center;gap:var(--spacing-sm);} 
.auth-buttons{display:flex;gap:var(--spacing-sm);align-items:center;}

.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--border-color);background:rgba(255,255,255,.02);color:var(--text-muted);cursor:pointer;}
.theme-toggle:hover{color:var(--text-main);border-color:rgba(124,58,237,.35);} 

.landing-menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid var(--border-color);
  background:rgba(255,255,255,.02);
  color:var(--text-main);
  cursor:pointer;
}

.landing-menu-toggle:hover{
  border-color:rgba(124,58,237,.38);
  background:rgba(124,58,237,.12);
}

.landing-menu-toggle-icon{
  font-size:1.08rem;
  line-height:1;
}

.landing-mobile-menu,
.landing-mobile-menu-backdrop{
  display:none;
}

/* ---------- Header submenu ---------- */
.has-submenu{position:relative;}
.submenu{display:none;position:absolute;top:calc(100% + 10px);left:0;min-width:220px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px;box-shadow:var(--shadow-lg);z-index:200;}
.has-submenu:hover .submenu{display:block;}
.submenu li a{display:block;padding:10px 12px;border-radius:10px;color:var(--text-muted);} 
.submenu li a:hover{background:rgba(255,255,255,.03);color:var(--text-main);} 

/* Guest header menu spacing tune */
body.guest-mode #panelmenu .nav-menu{
  gap:0;
  align-items:center;
}

body.guest-mode #panelmenu .nav-menu > li{
  display:flex;
  align-items:center;
}

body.guest-mode #panelmenu .nav-link{
  display:inline-flex;
  align-items:center;
  line-height:1.2;
  padding:8px 10px;
}

body.guest-mode.landing-page #panelmenu .nav-menu > li{
  margin:0;
}

body.guest-mode.landing-page #panelmenu .nav-menu > li + li{
  margin-left:10px;
}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--border-color);background:rgba(255,255,255,.01);padding:var(--spacing-xl) 0;margin-top:var(--spacing-xl);} 
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl);} 
@media (min-width:992px){.footer-grid{grid-template-columns:2fr 1fr 1fr;align-items:start;}}
.footer-brand img{height:36px;margin-bottom:var(--spacing-md);} 
.footer-brand h4{font-family:var(--font-display);margin-bottom:var(--spacing-sm);} 
.footer-links h5,.footer-legal h5{margin-bottom:var(--spacing-md);color:var(--text-main);font-weight:700;font-family:var(--font-display);} 
.footer-links a,.footer-legal a{color:var(--text-muted);} 
.footer-links a:hover,.footer-legal a:hover{color:var(--primary);} 
.footer-links ul,.footer-legal ul{display:flex;flex-direction:column;gap:10px;}

/* ---------- Mobile nav items ---------- */
.mobile-item{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-muted);font-size:.72rem;}
.mobile-item.active{color:var(--primary);} 
.mobile-item i{font-size:1.1rem;}

/* ---------- Pagination ---------- */
.pagination{display:flex;gap:8px;flex-wrap:wrap;}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:10px;border:1px solid var(--border-color);color:var(--text-muted);background:rgba(255,255,255,.02);} 
.pagination a:hover{color:var(--text-main);border-color:rgba(124,58,237,.35);} 
.pagination .active,.pagination span.active{color:var(--primary);border-color:rgba(124,58,237,.35);background:rgba(124,58,237,.10);} 

/* ---------- Status helpers ---------- */
.success{color:var(--success);} 
.warning{color:var(--warning);} 
.danger{color:var(--danger);} 

/* ---------- Code blocks ---------- */
.code-block{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.9rem;}

/* ---------- Icon fallback system (Unicode) ---------- */
/* Uses Unicode glyphs so layout doesn't break if icon fonts are missing */
i[class^="icon-"], i[class*=" icon-"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.15em;
  height:1.15em;
  line-height:1;
}

i[class^="icon-"]::before, i[class*=" icon-"]::before{
  font-style:normal;
  font-weight:700;
}

.icon-home::before{content:"\2302";}
.icon-plus::before{content:"+";}
.icon-plus-circle::before{content:"\2295";}
.icon-list::before{content:"\2261";}
.icon-grid::before{content:"\25A6";}
.icon-package::before{content:"\25A3";}
.icon-credit-card::before{content:"\1F4B3";}
.icon-wallet::before{content:"\1F45B";}
.icon-message::before{content:"\2709";}
.icon-help-circle::before{content:"?";}
.icon-settings::before{content:"\2699";}
.icon-user::before{content:"\1F464";}
.icon-moon::before{content:"\263E";}
.icon-sun::before{content:"\2600";}
.icon-zap::before{content:"\26A1";}
.icon-shield::before{content:"\1F6E1";}
.icon-headphones::before{content:"\1F3A7";}
.icon-chevron-down::before{content:"\2304";}
.icon-log-out::before{content:"\2197";}
.icon-check-circle::before{content:"\2713";}
.light-mode .btn-ghost:hover{background:rgba(15,23,42,.04);}
.light-mode .balance-badge{background:rgba(15,23,42,.02);}
.light-mode .sidebar-nav .nav-link:hover{background:rgba(15,23,42,.04);}
.light-mode .submenu li a:hover{background:rgba(15,23,42,.04);}
.light-mode .site-footer{background:rgba(15,23,42,.02);}
.light-mode .pagination a,
.light-mode .pagination span{background:rgba(15,23,42,.02);}

/* ---------- SaaSNext auth layout refresh ---------- */
body.auth-mode #agrs{
  background:linear-gradient(180deg, rgba(14,20,36,.97) 0%, rgba(15,17,26,.93) 100%);
  border-bottom:1px solid rgba(148,163,184,.15);
  backdrop-filter:blur(10px);
}

.light-mode body.auth-mode #agrs{
  background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(248,250,252,.92) 100%);
  border-bottom:1px solid rgba(15,23,42,.08);
}

body.auth-mode .header-inner{
  gap:18px;
  overflow:visible;
}

body.auth-mode .container{
  max-width:1360px;
}

body.auth-mode .header-actions{
  margin-left:auto;
  gap:12px;
  position:relative;
  z-index:260;
}

.header-emoji{
  font-size:1rem;
  line-height:1;
}

.menu-emoji{
  font-size:.95rem;
  line-height:1;
  margin-right:8px;
}

body.auth-mode .balance-badge{
  align-items:center;
  justify-content:center;
  border-radius:12px;
  min-width:132px;
  min-height:40px;
  padding:7px 12px;
  background:linear-gradient(90deg, rgba(124,58,237,.7), rgba(79,70,229,.68));
  border-color:rgba(124,58,237,.6);
  font-size:.9rem;
  gap:6px;
}

body.auth-mode .balance-badge .label{
  font-size:.92rem;
}

body.auth-mode .balance-badge .amount{
  font-size:1rem;
  color:#fff;
}

.light-mode body.auth-mode .balance-badge{
  background:linear-gradient(90deg, rgba(124,58,237,.75), rgba(79,70,229,.72));
  border-color:rgba(124,58,237,.62);
}

.app-sidebar .sidebar-balance-badge{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 10px;
  gap:4px;
  min-width:0;
  min-height:34px;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid rgba(124,58,237,.58);
  background:linear-gradient(90deg, var(--primary), var(--primary-hover));
  color:#fff;
}

.app-sidebar .sidebar-balance-badge .header-emoji{
  font-size:.88rem;
  margin:0 !important;
  flex:0 0 auto;
}

.app-sidebar .sidebar-balance-badge .amount{
  display:inline-flex;
  align-items:center;
  font-size:.92rem;
  font-weight:700;
  line-height:1;
  margin:0 !important;
  padding:0 !important;
  margin-left:0 !important;
  text-align:center;
  white-space:nowrap;
}

.app-sidebar .sidebar-nav .nav-list{
  margin-top:8px;
}

.app-sidebar .sidebar-nav .nav-item:first-child{
  margin-top:0;
}

.auth-controls{
  display:flex;
  align-items:center;
  gap:10px;
}

.auth-controls .btn-sm{
  min-height:46px;
  font-size:1rem;
  padding:10px 16px;
}

.logout-link i{
  display:inline-flex;
  margin-right:6px;
}

.account-dropdown{
  position:relative;
}

.account-toggle{
  min-width:170px;
  justify-content:space-between;
  gap:9px;
  border-radius:10px;
  min-height:46px;
  font-weight:700;
}

.account-toggle .dropdown-caret{
  font-size:.85rem;
  opacity:.85;
}

.theme-toggle{
  width:42px;
  height:42px;
}

.theme-toggle .theme-emoji{
  font-size:1rem;
  line-height:1;
}

.account-dropdown-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:240px;
  background:var(--bg-card);
  border:1px solid var(--border-color);
  border-radius:12px;
  padding:8px;
  box-shadow:0 16px 40px rgba(2,8,23,.35);
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:all .16s ease;
  z-index:250;
}

.account-dropdown.open .account-dropdown-menu{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.account-dropdown:focus-within .account-dropdown-menu{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.account-dropdown-menu li a{
  display:flex;
  align-items:center;
  min-height:40px;
  padding:8px 11px;
  border-radius:8px;
  color:var(--text-muted);
  font-weight:500;
}

.account-dropdown-menu li a:hover{
  background:rgba(124,58,237,.1);
  color:var(--text-main);
}

.app-layout{
  grid-template-columns:255px minmax(0, 1fr);
  gap:20px;
  padding-top:20px;
  min-height:calc(100vh - 92px);
}

@media (min-width:992px){
  /* Keep desktop auth layout stable: sidebar always left, content always right */
  .app-layout{
    grid-template-columns:255px minmax(0, 1fr) !important;
    align-items:start;
  }

  .app-layout > .app-sidebar{
    grid-column:1;
    width:100%;
    max-width:255px;
  }

  .app-layout > .main-content{
    grid-column:2;
    width:100%;
    min-width:0;
  }
}

.app-sidebar{
  display:block;
  position:sticky;
  top:96px;
  height:calc(100vh - 112px);
  overflow:auto;
  border-radius:16px;
  border:1px solid var(--border-color);
  background:linear-gradient(180deg, rgba(22,27,38,.96) 0%, rgba(17,24,39,.88) 100%);
  box-shadow:0 14px 28px rgba(2,8,23,.26);
  padding:16px 12px;
}

.light-mode .app-sidebar{
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow:0 12px 24px rgba(15,23,42,.08);
}

.sidebar-context{
  padding:2px 6px 12px;
  margin-bottom:10px;
  border-bottom:1px solid rgba(148,163,184,.18);
}

.sidebar-context .sidebar-page-title{
  margin:0;
  font-size:1rem;
  line-height:1.2;
  font-weight:700;
  color:var(--text-main);
}

.sidebar-context .sidebar-page-desc{
  margin:4px 0 0;
  font-size:.8rem;
  line-height:1.35;
  color:var(--text-muted);
}

.sidebar-nav .nav-list{
  gap:5px;
}

.sidebar-nav .nav-item{
  margin:0;
  padding:0;
}

.nav-emoji{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.3em;
  min-width:1.3em;
  font-size:1.18rem;
  line-height:1;
  flex-shrink:0;
}

.sidebar-nav .nav-link{
  min-height:50px;
  padding:10px 12px;
  gap:12px;
  border:1px solid transparent;
  border-radius:12px;
  font-weight:600;
  font-size:1.08rem;
  line-height:1.2;
}

.sidebar-nav .nav-link > span:last-child{
  line-height:1.2;
}

.sidebar-nav .nav-link i{
  display:none;
}

.sidebar-nav .nav-link:hover{
  background:rgba(124,58,237,.08);
  border-color:rgba(124,58,237,.18);
}

.sidebar-nav .nav-link.active{
  background:rgba(124,58,237,.14);
  border-color:rgba(124,58,237,.35);
  color:#c4b5fd;
}

.sidebar-nav .nav-link.nav-link-new-order.active{
  background:linear-gradient(90deg, var(--primary), var(--primary-hover));
  border-color:transparent;
  color:#fff;
  box-shadow:0 4px 12px rgba(124,58,237,.22);
}

.light-mode .sidebar-nav .nav-link.active{
  color:#5b21b6;
}

.light-mode .sidebar-nav .nav-link.nav-link-new-order.active{
  color:#fff;
}

.main-content{
  padding:0 0 28px;
}

.logo{
  display:inline-flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:10px;
}

.logo .brand-logo-img{
  height:38px;
  width:auto;
  display:block;
  object-fit:contain;
}

.logo .brand-logo-dark{
  display:block;
}

.logo .brand-logo-light{
  display:none;
}

.logo .brand-logo-text{
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.01em;
  white-space:nowrap;
  color:var(--text-main);
}

.light-mode .logo .brand-logo-img{
  filter:brightness(0) saturate(100%);
}

.light-mode .logo .brand-logo-dark{
  display:none;
}

.light-mode .logo .brand-logo-light{
  display:block;
  filter:none !important;
}

header#agrs .logo .brand-logo-text{
  display:inline-block;
}

.footer-brand-logo{
  display:inline-flex;
  align-items:center;
  margin:0 0 10px;
}

.footer-brand-logo-img{
  height:34px;
  width:auto;
  display:block;
  object-fit:contain;
}

.footer-brand-logo-dark{
  display:block;
}

.footer-brand-logo-light{
  display:none;
}

.light-mode .footer-brand-logo-dark{
  display:none;
}

.light-mode .footer-brand-logo-light{
  display:block;
}

body.auth-mode .logo .brand-logo-img{
  height:36px;
}

body.auth-mode .logo .brand-logo-text{
  font-size:1.34rem;
  font-weight:740;
  letter-spacing:-.004em;
}

.services-page-wrap .page-header h1{
  font-size:1.35rem;
}

.api-page-wrap .page-header h1{
  font-size:1.15rem;
}

.brand-heading-label{
  font-size:1.5rem !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--text-main) !important;
  margin-bottom:6px !important;
  margin-left:-2px !important;
}

.brand-heading-label + h3{
  font-size:1.28rem !important;
}

/* Keep landing content centered and off the edges */
body.guest-mode .landing-hero .container,
body.guest-mode .hero-stats-section .container,
body.guest-mode .landing-login-before-features .container,
body.guest-mode .features-section .container,
body.guest-mode .landing-faq-section .container,
body.guest-mode .landing-seo-article-section .container{
  max-width:1120px;
  padding-left:24px;
  padding-right:24px;
}

.landing-faq-section .faq-label{
  font-size:1.1rem;
  line-height:1.1;
  font-weight:800;
  letter-spacing:.04em;
}

.features-grid.features-grid-4{
  grid-template-columns:1fr;
  gap:16px;
  justify-content:center;
}

@media (min-width:900px){
  .features-grid.features-grid-4{
    grid-template-columns:repeat(2, minmax(0, 260px)) !important;
  }
}

@media (min-width:1200px){
  .features-grid.features-grid-4{
    grid-template-columns:repeat(4, minmax(0, 240px)) !important;
  }
}

.features-grid.features-grid-4 > .feature-card{
  width:100%;
  max-width:240px;
  min-width:0;
  height:100%;
  margin:0 auto;
  padding:20px 18px;
}

.features-grid.features-grid-4 .feature-card h3{
  min-height:0;
}

.features-grid.features-grid-4 .feature-card p{
  min-height:0;
}

.feature-emoji{
  font-size:1.45rem;
  line-height:1;
}

.landing-hero .hero-content{
  max-width:920px;
  margin:0 auto;
}

.landing-hero .hero-title{
  font-size:2.72rem;
  line-height:1.18;
}

.landing-hero .hero-subtitle{
  font-size:1.27rem;
  max-width:700px;
}

.hero-stats-section{
  margin:6px 0;
  padding:10px 0;
}

.hero-stats-section .container{
  max-width:1160px;
}

.hero-stats-section .features-grid{
  gap:18px;
  margin-top:12px;
  justify-content:center;
}

.hero-stats-section .features-grid.hero-stats-grid{
  grid-template-columns:1fr;
}

@media (min-width:700px){
  .hero-stats-section .features-grid.hero-stats-grid{
    grid-template-columns:repeat(2, minmax(0, 250px));
  }
}

@media (min-width:1200px){
  .hero-stats-section .features-grid.hero-stats-grid{
    grid-template-columns:repeat(4, minmax(0, 220px));
  }
}

.hero-stats-section .feature-card{
  width:100%;
  max-width:220px;
  margin:0 auto;
  padding:16px 14px;
}

.hero-stats-section .icon-box{
  width:52px;
  height:52px;
  margin:0 auto 10px;
  font-size:1.25rem;
}

.hero-stats-section .stat-emoji{
  font-size:1.35rem;
  line-height:1;
}

.hero-stats-section .feature-card h3{
  margin:10px 0 6px;
  font-size:1.02rem;
}

.hero-stats-section .feature-card p{
  margin:0;
  font-size:1.26rem;
  line-height:1.25;
  font-weight:700;
  color:var(--text-main);
}

.landing-login-before-features{
  margin:0;
  padding:14px 0;
}

.landing-login-before-features .container{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:196px;
}

.landing-login-before-features .horizontal-login-wrapper{
  max-width:920px;
  margin:0 auto;
}

.landing-login-before-features .quick-login-card{
  max-width:920px;
  margin:0 auto;
  padding:20px 22px;
}

.landing-login-before-features .login-card-title{
  margin-bottom:16px;
  font-size:1.9rem;
}

.landing-login-before-features .horizontal-login-form .form-row{
  gap:10px;
  align-items:center;
  justify-content:center;
}

.landing-login-before-features .horizontal-login-form{
  max-width:880px;
  margin:0 auto;
}

.landing-login-before-features .horizontal-login-form .form-group{
  min-width:240px;
  max-width:340px;
}

.landing-login-before-features .horizontal-login-form .btn{
  min-width:140px;
  min-height:44px;
  padding-top:10px;
  padding-bottom:10px;
}

.landing-login-before-features .horizontal-login-form .form-footer{
  margin-top:12px;
}

/* Standalone auth pages (/login, /create-account): keep form a bit wider and proportional */
.login-section:not(.horizontal-login){
  padding:clamp(30px, 6vh, 56px) 0;
}

.login-section:not(.horizontal-login) .container{
  max-width:1240px;
}

.login-section:not(.horizontal-login) .auth-card-wrapper{
  max-width:560px;
}

.login-section:not(.horizontal-login) .auth-card{
  padding:clamp(24px, 2.4vw, 34px);
}

.login-section:not(.horizontal-login) .auth-card h2{
  font-size:1.6rem;
}

.login-announcement-card{
  margin-bottom:14px;
  padding:16px 18px;
}

.login-announcement-card h3{
  margin:0 0 10px;
  font-size:1rem;
  line-height:1.3;
}

.login-announcement-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.login-announcement-item strong{
  display:block;
  margin:0 0 4px;
  font-size:.92rem;
  color:var(--text-main);
}

.login-announcement-item p{
  margin:0;
  font-size:.86rem;
  line-height:1.45;
  color:var(--text-muted);
}

.landing-faq-answer.collapse:not(.show){
  display:none;
}

.landing-faq-answer.collapse.show,
.landing-faq-answer.collapsing,
.landing-faq-answer.show{
  display:block;
}

.landing-faq-grid{
  align-items:start;
  grid-auto-rows:auto;
}

.landing-faq-card{
  display:block;
  padding:16px 18px;
}

.landing-faq-question{
  min-height:0;
  line-height:1.35;
  padding:2px 0;
}

.landing-faq-answer-inner{
  margin-top:10px;
  padding-top:10px;
}

@media (max-width:767.98px){
  .landing-faq-card{
    padding:14px 16px;
  }
}

#services_table{
  table-layout:fixed;
  width:100%;
  min-width:1040px;
}

#services_table th{
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.35;
}

#services_table .service-id-col,
#services_table .service-id-cell{
  width:68px;
}

#services_table .service-rate-col,
#services_table .service-rate-cell{
  width:124px;
  font-size:.88rem;
}

#services_table .service-minmax-col,
#services_table .service-minmax-cell{
  width:136px;
}

#services_table .service-avg-col,
#services_table .service-avg-cell{
  width:106px;
}

#services_table .service-description-col,
#services_table .service-description-cell{
  width:96px;
}

#services_table .service-name-cell{
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
  line-height:1.35;
  font-weight:600;
}

#services_table .service-rate-cell{
  color:#22c55e;
  font-weight:700;
  font-size:.95rem;
}

#services_table th:first-child,
#services_table td:first-child{
  padding-left:22px;
}

#services_table th:last-child,
#services_table td:last-child{
  padding-right:22px;
}

#services_table td:last-child{
  text-align:right;
}

#services_table tr.category-row td{
  text-align:left !important;
}

#services_table .service-favorite-col,
#services_table .service-favorite-cell{
  text-align:center;
  width:64px;
}

#services_table th.service-favorite-col{
  font-size:.72rem;
  white-space:nowrap;
  overflow-wrap:normal;
  letter-spacing:.01em;
}

#services_table .service-minmax-cell{
  font-size:.72rem;
  line-height:1.3;
  color:var(--text-muted);
  font-weight:500;
}

#services_table .service-description-col,
#services_table .service-description-cell{
  text-align:center;
  font-size:.82rem;
}

#services_table td.service-description-cell{
  text-align:center;
}

#services_table .service-description-cell{
  padding-right:14px !important;
}

#services_table .service-description-cell .btn{
  min-width:56px;
  padding:4px 10px;
  font-size:.78rem;
  margin:0 auto;
}

.favorite-toggle-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid var(--border-color);
  color:#f59e0b;
  text-decoration:none;
  font-size:20px;
  line-height:1;
  transition:all .2s ease;
}

.favorite-toggle-btn:hover{
  border-color:rgba(245,158,11,.5);
  background:rgba(245,158,11,.12);
  color:#fbbf24;
}

.favorite-toggle-btn .is-favorite{
  color:#22c55e;
}

.favorite-toggle-btn.disabled{
  opacity:.6;
  cursor:default;
  pointer-events:none;
}

.orders-page-wrap{
  width:100%;
  max-width:1280px;
  margin:0 auto;
}

.tickets-page-wrap,
.services-page-wrap{
  width:100%;
  margin:0 auto;
}

.tickets-page-wrap{
  max-width:1120px;
}

.services-page-wrap{
  max-width:1360px;
  margin:0 auto;
  margin-top:-6px;
}

body.auth-mode .main-content .services-page-wrap{
  max-width:1360px;
}

.services-page-wrap .page-header{
  margin-bottom:12px;
  padding-bottom:10px;
}

.services-toolbar-group{
  margin-bottom:0;
}

.services-toolbar-label{
  display:block;
  margin:0 0 6px;
  font-size:.76rem;
  line-height:1.2;
  letter-spacing:.02em;
  color:var(--text-muted);
  font-weight:600;
}

.services-search-wrap{
  position:relative;
}

.services-search-icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  color:var(--text-muted);
  font-size:.88rem;
  line-height:1;
  pointer-events:none;
  opacity:.9;
}

.services-search-wrap .form-control{
  padding-left:36px;
}

.orders-page-wrap .table{
  table-layout:fixed;
  width:100%;
  min-width:860px;
}

.orders-page-wrap .table th,
.orders-page-wrap .table td{
  padding:8px 8px;
  vertical-align:middle;
}

/* Orders detail rows: slightly smaller white content text */
.orders-page-wrap .table tbody td{
  font-size:.88rem;
}

.orders-page-wrap .order-col-id{width:64px;}
.orders-page-wrap .order-col-date{width:104px;}
.orders-page-wrap .order-col-charge{width:84px;}
.orders-page-wrap .order-col-start{width:72px;}
.orders-page-wrap .order-col-qty{width:76px;}
.orders-page-wrap .order-col-status{width:198px;}
.orders-page-wrap .order-col-link{width:190px;}
.orders-page-wrap .order-col-service{width:170px;}

/* Keep status visible without horizontal scrolling on long links */
.orders-page-wrap .table th.order-col-status,
.orders-page-wrap .table td.order-col-status{
  position:sticky;
  right:0;
  z-index:4;
  background:var(--bg-card);
}

.orders-page-wrap .table thead th.order-col-status{
  z-index:6;
}

.orders-page-wrap .order-link-text{
  display:block;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.orders-page-wrap .order-service-cell{
  white-space:normal;
  word-break:break-word;
  line-height:1.35;
  font-size:.88rem;
}

.orders-page-wrap .order-remains-inline{
  margin-top:4px;
  font-size:.72rem;
  color:var(--text-muted);
  line-height:1.2;
}

.orders-page-wrap .order-actions-inline{
  margin-top:7px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-height:30px;
  align-items:flex-start;
}

.orders-page-wrap .order-actions-inline .btn{
  padding:4px 8px;
  font-size:.74rem;
  line-height:1.2;
  min-height:26px;
  min-width:62px;
  justify-content:center;
}

.orders-page-wrap .order-actions-inline .btn.is-disabled{
  color:rgba(241,245,249,.86);
  border-color:rgba(226,232,240,.3);
  background:rgba(226,232,240,.1);
  opacity:1;
  filter:saturate(0) brightness(1.04);
  pointer-events:none;
  cursor:not-allowed;
  box-shadow:none;
}

.orders-page-wrap .order-col-status a.btn.is-disabled,
.orders-page-wrap .order-col-status a.order-action-btn.is-disabled,
.orders-page-wrap .order-col-status a.btn[href="#"]{
  color:rgba(241,245,249,.86) !important;
  border-color:rgba(226,232,240,.3) !important;
  background:rgba(226,232,240,.1) !important;
  filter:saturate(0) brightness(1.04);
  box-shadow:none !important;
  pointer-events:none !important;
  cursor:not-allowed !important;
}

.light-mode .orders-page-wrap .order-actions-inline .btn.is-disabled{
  color:rgba(51,65,85,.86);
  border-color:rgba(148,163,184,.55);
  background:rgba(148,163,184,.16);
}

.light-mode .orders-page-wrap .order-col-status a.btn.is-disabled,
.light-mode .orders-page-wrap .order-col-status a.order-action-btn.is-disabled,
.light-mode .orders-page-wrap .order-col-status a.btn[href="#"]{
  color:rgba(51,65,85,.86) !important;
  border-color:rgba(148,163,184,.55) !important;
  background:rgba(148,163,184,.16) !important;
}


.site-footer{
  padding:24px 0 10px;
}

.footer-grid{
  gap:14px;
}

@media (min-width:992px){
  .footer-grid{
    grid-template-columns:minmax(0, 1.15fr) repeat(4, minmax(0, .95fr));
  }
}

@media (min-width:1280px){
  .footer-grid{
    grid-template-columns:minmax(0, 1.25fr) repeat(4, minmax(0, 1fr));
  }
}

.footer-brand p{
  max-width:320px;
  color:var(--text-muted);
  font-size:.92rem;
  line-height:1.4;
}

.footer-links h5{
  margin-bottom:8px;
  font-size:.92rem;
  line-height:1.2;
}

.footer-links ul{
  margin:0;
  padding:0;
  gap:5px;
}

.footer-links li a{
  display:inline-flex;
  padding:1px 0;
  font-size:.9rem;
  line-height:1.25;
}

.footer-bottom{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--border-color);
  color:var(--text-muted);
  font-size:.82rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.footer-blog-link{
  color:var(--primary);
  font-weight:600;
}

.footer-blog-link:hover{
  color:var(--primary-hover);
}

.landing-seo-article-section{
  padding:18px 0 8px;
}

.seo-article-card{
  padding:24px 24px 22px;
}

.seo-article-head{
  margin-bottom:14px;
}

.seo-article-head h2{
  margin:0 0 8px;
  font-size:1.36rem;
  line-height:1.35;
}

.seo-article-head p{
  margin:0;
  color:var(--text-muted);
}

.seo-article-content h3{
  margin:16px 0 8px;
  font-size:1.06rem;
  font-family:var(--font-display);
}

.seo-article-content p{
  margin:0 0 10px;
  color:var(--text-muted);
  line-height:1.72;
}

.seo-article-content strong{
  color:var(--text-main);
}

.landing-how-section{
  padding:14px 0 12px;
  overflow:hidden;
}

.landing-how-section .section-head{
  margin-bottom:16px;
}

.landing-how-section .container,
.landing-story-section .container,
.landing-reviews-section .container,
.landing-blog-section .container{
  max-width:1120px;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

.landing-how-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  max-width:1080px;
  margin:0 auto;
}

@media (min-width:900px){
  .landing-how-grid{
    grid-template-columns:repeat(2, minmax(0, 280px));
    justify-content:center;
  }
}

@media (min-width:1200px){
  .landing-how-grid{
    grid-template-columns:repeat(4, minmax(0, 240px));
    justify-content:center;
    gap:24px;
  }
}

.how-step-card{
  min-width:0;
  padding:18px 16px;
  text-align:center;
  position:relative;
}

@media (min-width:1200px){
  .landing-how-grid .how-step-card:not(:last-child)::after{
    content:"\203A";
    position:absolute;
    right:-15px;
    top:50%;
    transform:translateY(-50%);
    color:rgba(148,163,184,.7);
    font-size:1rem;
    font-weight:700;
    line-height:1;
    pointer-events:none;
  }
}

.how-step-number{
  width:54px;
  height:54px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 12px;
  font-size:1.45rem;
  font-weight:700;
  color:#fff;
  background:linear-gradient(160deg, #7c3aed, #4f46e5);
}

.how-step-card h4{
  margin:0 0 8px;
  font-size:1.05rem;
  font-family:var(--font-display);
}

.how-step-card p{
  margin:0;
  color:var(--text-muted);
  line-height:1.6;
}

.landing-story-section{
  margin-top:10px;
  padding:24px 0 8px;
  border-top:1px solid rgba(148,163,184,.16);
  overflow:hidden;
}

.story-row{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:center;
  max-width:1080px;
  margin:0 auto 24px;
}

@media (min-width:992px){
  .story-row{
    grid-template-columns:minmax(0, 1.35fr) minmax(260px, .9fr);
  }

  .story-row.reverse{
    grid-template-columns:minmax(260px, .9fr) minmax(0, 1.35fr);
  }

  .story-row.reverse .story-copy{
    order:2;
  }

  .story-row.reverse .story-media-card{
    order:1;
  }
}

.story-copy h3{
  margin:0 0 10px;
  font-size:1.35rem;
  font-family:var(--font-display);
  overflow-wrap:anywhere;
}

.story-copy p{
  margin:0 0 10px;
  color:var(--text-muted);
  line-height:1.7;
  overflow-wrap:anywhere;
}

.story-copy ul{
  margin:0;
  padding-left:18px;
  color:var(--text-muted);
}

.story-media-card{
  min-width:0;
  border:1px solid var(--border-color);
  border-radius:14px;
  background:linear-gradient(160deg, rgba(124,58,237,.12), rgba(15,23,42,.35));
  min-height:190px;
  padding:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:10px;
}

.story-media-emoji{
  font-size:2rem;
  line-height:1;
}

.story-media-card p{
  margin:0;
  color:var(--text-main);
  font-weight:600;
}

.landing-reviews-section{
  margin-top:10px;
  padding:24px 0 20px;
  border-top:1px solid rgba(148,163,184,.16);
  border-bottom:1px solid rgba(148,163,184,.12);
  background:linear-gradient(180deg, rgba(124,58,237,.06) 0%, rgba(15,23,42,0) 100%);
  overflow:hidden;
}

.reviews-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  max-width:1080px;
  margin:0 auto;
}

@media (min-width:992px){
  .reviews-layout{
    grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr);
    gap:18px;
  }
}

.reviews-intro h3{
  margin:0 0 8px;
  font-size:1.45rem;
  font-family:var(--font-display);
}

.reviews-intro p{
  margin:0;
  color:var(--text-muted);
  line-height:1.7;
}

.reviews-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  min-width:0;
}

@media (min-width:900px){
  .reviews-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

.review-card{
  min-width:0;
  padding:16px;
}

.review-card p{
  margin:0 0 10px;
  color:var(--text-muted);
  line-height:1.65;
  overflow-wrap:anywhere;
}

.review-card strong{
  color:var(--text-main);
  font-size:.95rem;
}

.landing-blog-section{
  padding:18px 0 18px;
  overflow:hidden;
}

.landing-blog-section .section-head{
  margin-bottom:14px;
}

.landing-blog-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  max-width:1080px;
  margin:0 auto;
  min-width:0;
}

@media (min-width:900px){
  .landing-blog-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (min-width:1200px){
  .landing-blog-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

.landing-blog-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  padding:0;
}

.landing-blog-media{
  height:170px;
  border-bottom:1px solid var(--border-color);
  background:linear-gradient(150deg, rgba(30,41,59,.9), rgba(15,23,42,.95));
}

.landing-blog-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.landing-blog-media-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  color:#c4b5fd;
}

.landing-blog-content{
  padding:14px;
}

.landing-blog-content h4{
  margin:0 0 8px;
  font-size:1.02rem;
  line-height:1.4;
  font-family:var(--font-display);
  overflow-wrap:anywhere;
}

.landing-blog-content p{
  margin:0 0 10px;
  color:var(--text-muted);
  line-height:1.6;
  font-size:.92rem;
  overflow-wrap:anywhere;
}

.landing-blog-link{
  color:var(--primary);
  font-weight:600;
  font-size:.9rem;
}

.landing-blog-card:hover .landing-blog-link{
  color:var(--primary-hover);
}

.blog-page-wrap{
  width:100%;
  max-width:1120px;
  margin:0 auto;
}

.blog-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

@media (min-width:900px){
  .blog-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

.blog-card{
  padding:0;
  overflow:hidden;
}

.blog-image{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  border-bottom:1px solid var(--border-color);
}

.blog-content{
  padding:16px;
}

.blog-title{
  margin:0 0 8px;
  font-size:1.08rem;
  line-height:1.35;
  font-family:var(--font-display);
}

.blog-title a{
  color:var(--text-main);
}

.blog-title a:hover{
  color:var(--primary);
}

.blog-excerpt{
  margin:0 0 12px;
  color:var(--text-muted);
  line-height:1.65;
}

.new-order-grid{
  gap:20px;
}

.new-order-grid .col-main .service-description-card{
  margin-top:var(--spacing-lg);
}

.new-order-grid .order-card .card-header h2{
  margin-bottom:4px;
}

.new-order-grid .order-card .card-header p{
  margin-top:0;
  margin-bottom:0;
}

.new-order-grid .order-card .order-intro{
  margin:0 0 var(--spacing-md);
}

@media (min-width:1200px){
  .new-order-grid{
    grid-template-columns:minmax(0,3.2fr) minmax(280px,.85fr);
  }
}

/* Add Funds: make payment area wider, reduce right sidebar title emphasis */
@media (min-width:992px){
  .addfunds-grid{
    grid-template-columns:minmax(0,2.45fr) minmax(260px,.85fr);
  }
}

.addfunds-grid .col-sidebar .card h3{
  font-size:1.08rem;
  margin-bottom:12px;
}


.main-content .card{
  border-radius:16px;
  box-shadow:0 10px 24px rgba(2,8,23,.18);
}

.light-mode .main-content .card{
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}

.notify-bubble{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:980;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  height:52px;
  width:52px;
  padding:0;
  overflow:hidden;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.4);
  background:linear-gradient(135deg, rgba(124,58,237,.24), rgba(17,24,39,.95));
  color:#fff;
  box-shadow:0 12px 28px rgba(2,8,23,.4);
  transition:width .22s ease, transform .22s ease;
  cursor:pointer;
  outline:none;
}

.notify-bubble:hover{
  width:52px;
  padding:0;
  transform:translateY(-2px);
}

.notify-bubble-icon{
  font-size:1.35rem;
  line-height:1;
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.notify-bubble-text{
  display:none;
}

.notify-count{
  min-width:11px;
  height:11px;
  padding:0;
  border-radius:999px;
  background:#ef4444;
  border:2px solid var(--bg-card);
  position:absolute;
  top:7px;
  right:7px;
  display:none;
}

.notify-bubble.notify-unread .notify-count{
  display:block;
}

.notify-panel-overlay{
  position:fixed;
  inset:0;
  background:rgba(2,8,23,.55);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:995;
}

.notify-panel{
  position:fixed;
  right:0;
  top:0;
  width:min(380px, calc(100vw - 14px));
  height:100vh;
  background:var(--bg-card);
  border-left:1px solid var(--border-color);
  box-shadow:none;
  z-index:1000;
  display:flex;
  flex-direction:column;
  transform:translateX(calc(100% + 16px));
  transition:transform .24s ease;
}

.notify-panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px;
  border-bottom:1px solid var(--border-color);
}

.notify-panel-header h4{
  margin:0;
  font-family:var(--font-display);
  font-size:1.05rem;
}

.notify-panel-close{
  width:32px;
  height:32px;
  border-radius:8px;
  border:1px solid var(--border-color);
  background:rgba(255,255,255,.02);
  color:var(--text-main);
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
}

.notify-panel-close:hover{
  border-color:rgba(124,58,237,.35);
}

.notify-panel-body{
  padding:12px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.notify-item{
  border:1px solid var(--border-color);
  border-radius:12px;
  padding:12px;
  background:rgba(255,255,255,.02);
}

.notify-item strong{
  display:block;
  margin-bottom:6px;
  color:var(--text-main);
}

.notify-item p{
  margin:0 0 6px;
  color:var(--text-muted);
  font-size:.92rem;
}

.notify-item time{
  display:block;
  text-align:right;
  color:var(--text-muted);
  font-size:.78rem;
}

.notify-empty{
  padding:14px;
  border:1px dashed var(--border-color);
  border-radius:12px;
  color:var(--text-muted);
  text-align:center;
}

body.notify-open{
  overflow:hidden;
}

body.notify-open .notify-panel{
  transform:translateX(0);
  box-shadow:-16px 0 38px rgba(2,8,23,.45);
}

body.notify-open .notify-panel-overlay{
  opacity:1;
  pointer-events:auto;
}

body.duyuru{
  overflow:hidden;
}

body.duyuru .notify-panel{
  transform:translateX(0);
  box-shadow:-16px 0 38px rgba(2,8,23,.45);
}

body.duyuru .notify-panel-overlay{
  opacity:1;
  pointer-events:auto;
}

.light-mode .notify-bubble{
  background:linear-gradient(135deg, rgba(124,58,237,.14), rgba(255,255,255,.98));
  color:var(--text-main);
  border-color:rgba(124,58,237,.28);
  box-shadow:0 10px 24px rgba(15,23,42,.15);
}

.light-mode .notify-item{
  background:rgba(15,23,42,.02);
}

@media (max-width:991px){
  body.guest-mode.landing-page #agrs .header-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
  }

  body.guest-mode.landing-page #agrs .logo{
    min-width:0;
    overflow:hidden;
  }

  body.guest-mode.landing-page #agrs .logo .brand-logo-img{
    height:32px;
  }

  body.guest-mode.landing-page #agrs .logo .brand-logo-text{
    font-size:1.44rem;
  }

  body.guest-mode.landing-page #agrs .header-actions{
    width:auto;
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:nowrap;
    justify-content:flex-end;
  }

  body.guest-mode.landing-page #agrs .landing-auth-buttons{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:nowrap;
  }

  body.guest-mode.landing-page #agrs .landing-auth-buttons .landing-login-btn{
    min-height:38px;
    padding:8px 12px;
    font-size:.9rem;
    border-radius:10px;
  }

  body.guest-mode.landing-page #agrs .landing-auth-buttons .landing-signup-btn{
    display:none;
  }

  body.guest-mode.landing-page #agrs .landing-menu-toggle{
    display:inline-flex;
  }

  body.guest-mode.landing-page .landing-mobile-menu-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(2,8,23,.48);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
    z-index:285;
  }

  body.guest-mode.landing-page .landing-mobile-menu{
    display:flex;
    flex-direction:column;
    gap:6px;
    position:fixed;
    right:12px;
    left:12px;
    top:78px;
    border:1px solid var(--border-color);
    border-radius:14px;
    background:linear-gradient(180deg, rgba(17,24,39,.98) 0%, rgba(15,23,42,.98) 100%);
    box-shadow:0 18px 36px rgba(2,8,23,.42);
    padding:10px;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    transition:all .18s ease;
    z-index:290;
  }

  body.guest-mode.landing-page .landing-mobile-menu-link{
    display:flex;
    align-items:center;
    min-height:42px;
    padding:9px 12px;
    border-radius:10px;
    color:var(--text-main);
    font-weight:600;
    text-decoration:none;
  }

  body.guest-mode.landing-page .landing-mobile-menu-link:hover{
    background:rgba(124,58,237,.14);
    color:#c4b5fd;
  }

  body.guest-mode.landing-page.landing-menu-open .landing-mobile-menu{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }

  body.guest-mode.landing-page.landing-menu-open .landing-mobile-menu-backdrop{
    opacity:1;
    pointer-events:auto;
  }
}

@media (max-width:991px){
  .app-layout{grid-template-columns:1fr;padding-top:14px;}
  .app-sidebar{display:none;}
  body.auth-mode .header-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    flex-wrap:nowrap;
    align-items:center;
    gap:8px;
  }
  body.auth-mode .logo{
    min-width:0;
    overflow:hidden;
  }
  body.auth-mode .header-actions{
    gap:6px;
    margin-left:auto;
    flex-wrap:nowrap;
    align-items:center;
    min-width:0;
  }
  body.auth-mode .logo .brand-logo-img{height:30px;}
  body.auth-mode .logo .brand-logo-text{font-size:1.18rem;}
  body.auth-mode .container{
    padding-left:12px;
    padding-right:12px;
  }
  .main-content{
    overflow-x:hidden;
  }
  .orders-page-wrap,
  .tickets-page-wrap,
  .services-page-wrap{
    padding-left:0;
    padding-right:0;
  }
  .orders-page-wrap .table,
  .tickets-page-wrap .table,
  .services-page-wrap .table{
    min-width:720px;
  }
  body.auth-mode .balance-badge{
    min-width:auto;
    min-height:38px;
    padding:7px 10px;
    font-size:.84rem;
    gap:6px;
  }
  body.auth-mode .balance-badge .label{
    display:none;
  }
  body.auth-mode .balance-badge .amount{
    font-size:.96rem;
    line-height:1;
  }
  body.auth-mode .account-toggle{
    min-width:38px;
    width:38px;
    min-height:38px;
    padding:0;
    justify-content:center;
    border-radius:10px;
  }
  body.auth-mode .account-toggle span:not(.header-emoji){
    display:none;
  }
  body.auth-mode .account-toggle .header-emoji{
    margin:0;
  }
  body.auth-mode .logout-link{
    min-width:38px;
    width:38px;
    min-height:38px;
    padding:0;
    justify-content:center;
  }
  body.auth-mode .logout-link span{
    display:none;
  }
  body.auth-mode .logout-link i{
    margin-right:0;
  }
  .account-dropdown-menu{
    left:auto;
    right:0;
    width:min(240px, calc(100vw - 14px));
  }
  .header-inner{flex-wrap:wrap;}
  .nav-menu{display:none;}
  .theme-toggle{width:36px;height:36px;}
  .theme-toggle .theme-emoji{font-size:.9rem;}
  .notify-bubble{right:12px;bottom:82px;}
  .notify-bubble:hover{width:52px;}
  .notify-panel{
    width:calc(100vw - 8px);
    transform:translateX(calc(100% + 8px));
  }
}

@media (max-width:768px){
  body.guest-mode.landing-page #agrs .header-actions{
    width:auto;
    justify-content:flex-end;
    flex-wrap:nowrap;
  }
}

@media (min-width:992px){
  body.guest-mode.landing-page .landing-menu-toggle,
  body.guest-mode.landing-page .landing-mobile-menu,
  body.guest-mode.landing-page .landing-mobile-menu-backdrop{
    display:none !important;
  }
}

/* Global: remove panel/card background shadows to prevent overlap artifacts */
.card,
.main-content .card,
.sidebar .card,
.auth-card,
.quick-login-card,
.landing-feature-card,
.landing-stat-card,
.landing-step-card,
.landing-review-card,
.landing-mobile-menu,
.notify-panel,
.submenu{
  box-shadow:none !important;
}

@media (max-width:768px){
  html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  body.guest-mode .landing-hero .container,
  body.guest-mode .hero-stats-section .container,
  body.guest-mode .landing-login-before-features .container,
  body.guest-mode .features-section .container,
  body.guest-mode .landing-faq-section .container,
  body.guest-mode .landing-seo-article-section .container{
    padding-left:16px;
    padding-right:16px;
  }

  .landing-how-section .container,
  .landing-story-section .container,
  .landing-reviews-section .container,
  .landing-blog-section .container{
    padding-left:16px;
    padding-right:16px;
  }

  input,
  select,
  textarea{
    font-size:16px !important;
  }

  .orders-page-wrap,
  .tickets-page-wrap,
  .services-page-wrap{
    padding-bottom:18px;
  }

  .landing-login-before-features .container{
    min-height:auto;
  }

  .login-section:not(.horizontal-login) .auth-card-wrapper{
    max-width:620px;
    padding:0 10px;
  }

  .login-section:not(.horizontal-login) .auth-card{
    padding:20px 16px;
  }

  .landing-hero .hero-title{
    font-size:2.08rem;
  }

  .landing-hero .hero-subtitle{
    font-size:1.05rem;
  }

  .features-grid{
    grid-template-columns:1fr;
  }

  .feature-card{
    padding:var(--spacing-lg);
  }

  .landing-hero{
    padding:60px 0;
  }

  .login-section{
    min-height:calc(100vh - 80px);
    padding:var(--spacing-lg) 0;
  }

  .features-grid.features-grid-4 .feature-card h3,
  .features-grid.features-grid-4 .feature-card p{
    min-height:0;
  }

  .header-inner{
    align-items:flex-start;
  }

  .header-actions{
    width:100%;
    justify-content:flex-end;
    flex-wrap:wrap;
  }

  .auth-controls{
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .landing-login-before-features .quick-login-card{
    padding:16px 14px;
  }

  .seo-article-card{
    padding:18px 16px;
  }

  .seo-article-head h2{
    font-size:1.18rem;
  }
}

/* Smooth scrolling for better UX */
html{
  scroll-behavior:smooth;
}

/* Better focus styles for accessibility */
*:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:2px;
}

/* Account page: language and currency split blocks in one row */
.account-pref-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--spacing-md);
}
@media (min-width:768px){
  .account-pref-grid{
    grid-template-columns:1fr 1fr;
  }
}
.account-pref-block{
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  padding:14px;
  background:rgba(255,255,255,.02);
}

