:root {
  --sy-primary: #3b5bff;
  --sy-primary-dark: #2844d9;
  --sy-primary-soft: #eef0ff;
  --sy-ink: #101828;
  --sy-muted: #667085;
  --sy-border: #e4e7ec;
  --sy-surface: #ffffff;
  --sy-canvas: #f7f8fc;
  --sy-success: #12b76a;
  --sy-danger: #f04438;
  --sy-radius-sm: 12px;
  --sy-radius: 18px;
  --sy-radius-lg: 24px;
  --sy-shadow: 0 12px 35px -22px rgba(16, 24, 40, .35);
}

html { scroll-behavior: smooth; }
body { color: var(--sy-ink); background: var(--sy-canvas); -webkit-font-smoothing: antialiased; }
body:has(.auth-wrapper), body:has(.auth-container) { background: radial-gradient(circle at 50% 0, #edf0ff 0, #f8f9fc 35%, #fff 76%) !important; }
.navbar { min-height: 64px; padding-block: 8px !important; border-color: rgba(228,231,236,.9) !important; }
.main-logo { width: 104px !important; height: 44px !important; object-fit: cover !important; }
.btn-brand-accent, .btn-primary { background: var(--sy-primary) !important; border-color: var(--sy-primary) !important; }
.btn-brand-accent:hover, .btn-primary:hover { background: var(--sy-primary-dark) !important; border-color: var(--sy-primary-dark) !important; }
.text-primary { color: var(--sy-primary) !important; }

.dashboard-container, .inventory-container, .wallet-container, .settings-container {
  background: var(--sy-canvas) !important;
  min-height: calc(100dvh - 64px) !important;
  padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
}
.dashboard-container > .container, .inventory-container > .container, .wallet-container > .container, .settings-container > .container {
  max-width: 1160px;
}
.stat-card, .settings-card, .form-card, .product-grid-card, .balance-card,
.dashboard-container .bg-white, .wallet-container .bg-white, .settings-container .bg-white {
  border-radius: var(--sy-radius) !important;
  border-color: var(--sy-border) !important;
  box-shadow: var(--sy-shadow) !important;
}
.stat-card, .settings-card, .form-card { padding: clamp(16px, 3vw, 24px) !important; }
.page-header { max-width: 1160px; margin: 0 auto 20px !important; }
.page-title, .dashboard-container h1, .inventory-container h1, .settings-container h1 {
  color: var(--sy-ink); letter-spacing: -.045em !important; font-weight: 900 !important;
}
.text-muted { color: var(--sy-muted) !important; }

input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), select, textarea,
.form-control, .form-select, .form-control-custom {
  min-height: 48px;
  padding: 12px 14px !important;
  border: 1px solid var(--sy-border) !important;
  border-radius: var(--sy-radius-sm) !important;
  background-color: #fff !important;
  color: var(--sy-ink) !important;
  font-size: 16px !important;
  box-shadow: none !important;
}
textarea { min-height: 120px; }
input:focus, select:focus, textarea:focus, .form-control:focus, .form-select:focus, .form-control-custom:focus {
  border-color: var(--sy-primary) !important;
  box-shadow: 0 0 0 4px rgba(59,91,255,.11) !important;
  outline: 0;
}
.form-label { margin-bottom: 7px; color: #344054; font-size: .84rem; font-weight: 750 !important; }
.form-text, .file-help-text { color: var(--sy-muted) !important; }
.btn, button, .btn-save, .btn-auth { min-height: 44px; border-radius: var(--sy-radius-sm) !important; font-weight: 750 !important; }
.btn-save, .btn-auth { background: var(--sy-primary) !important; color: #fff !important; border: 0 !important; }
.btn-save:hover, .btn-auth:hover { background: var(--sy-primary-dark) !important; }
.rounded-pill.btn { border-radius: 999px !important; }
.modal-content { border: 0 !important; border-radius: var(--sy-radius-lg) !important; box-shadow: 0 28px 65px rgba(16,24,40,.22) !important; }
.modal-header, .modal-footer { border-color: var(--sy-border) !important; }
.badge { font-weight: 750; }
.alert { border: 0; border-radius: var(--sy-radius-sm); }

.auth-wrapper, .auth-container { min-height: calc(100dvh - 65px) !important; padding: 28px 16px 50px !important; display: grid !important; place-items: center; }
.auth-card { width: min(100%, 440px) !important; margin: 0 auto !important; padding: 24px 20px !important; border: 1px solid var(--sy-border) !important; border-radius: var(--sy-radius-lg) !important; background: rgba(255,255,255,.96) !important; box-shadow: 0 22px 60px -32px rgba(16,24,40,.45) !important; }
.auth-title { margin-bottom: 7px !important; color: var(--sy-ink) !important; font-size: clamp(1.75rem, 8vw, 2.35rem) !important; line-height: 1.05 !important; letter-spacing: -.045em !important; font-weight: 900 !important; }
.auth-subtitle { color: var(--sy-muted) !important; line-height: 1.55; }
.auth-footer { color: var(--sy-muted); }

.sy-bottom-nav { display: none; }

@media (max-width: 767.98px) {
  body:has(.sy-bottom-nav) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  body:has(.sy-bottom-nav) > footer { display: none; }
  .navbar:has(+ .sy-bottom-nav) .navbar-toggler { display: none; }
  .navbar:has(+ .sy-bottom-nav) .navbar-collapse { display: none !important; }
  .navbar:has(+ .sy-bottom-nav) { position: sticky; top: 0; z-index: 1030; }
  .sy-bottom-nav {
    position: fixed; z-index: 1080; left: 0; right: 0; bottom: 0;
    display: grid; grid-template-columns: 1fr 1fr 64px 1fr 1fr; align-items: end;
    min-height: 66px; padding: 8px max(8px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));
    border-top: 1px solid var(--sy-border); background: rgba(255,255,255,.96); backdrop-filter: blur(16px);
    box-shadow: 0 -12px 30px -24px rgba(16,24,40,.55);
  }
  .sy-bottom-link { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 2px; color: #98a2b3; font-size: .62rem; font-weight: 700; text-decoration: none; }
  .sy-bottom-link i { font-size: 1.18rem; line-height: 1.2; }
  .sy-bottom-link.active { color: var(--sy-primary); }
  .sy-bottom-add { width: 54px; height: 54px; display: grid; place-items: center; align-self: start; justify-self: center; margin-top: -20px; border: 5px solid #fff; border-radius: 18px; color: #fff; background: var(--sy-primary); font-size: 1.35rem; text-decoration: none; box-shadow: 0 12px 25px -10px rgba(59,91,255,.75); }
  .dashboard-container > .container, .inventory-container > .container, .wallet-container > .container, .settings-container > .container { padding-inline: 14px !important; padding-top: 22px !important; }
  .dashboard-container { padding-inline: 0 !important; padding-top: 0 !important; }
  .dashboard-container > .container.py-5 { padding-top: 22px !important; }
  .page-header { padding: 20px 14px 0 !important; flex-direction: column !important; align-items: flex-start !important; gap: 12px; }
  .page-header .btn-cancel { order: -1; font-size: .78rem; }
  .form-card { padding: 18px 14px !important; border-radius: 20px !important; }
  .form-card .row { --bs-gutter-y: 1rem; }
  .form-card hr { margin-block: 24px !important; }
  .form-card .mb-5 { margin-bottom: 24px !important; }
  .form-card > .d-flex.justify-content-end { position: sticky; z-index: 20; bottom: 76px; margin: 24px -14px -18px; padding: 12px 14px; border-top: 1px solid var(--sy-border); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
  .form-card > .d-flex.justify-content-end .btn-save { flex: 1; }
  .product-grid-card { border-radius: 17px !important; }
  .balance-card { padding: 22px !important; border-radius: 22px !important; }
  .settings-card { padding: 17px !important; }
  .nav-tabs-vertical { display: flex !important; flex-wrap: nowrap !important; gap: 7px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
  .nav-tabs-vertical::-webkit-scrollbar { display: none; }
  .nav-tabs-vertical .nav-link { flex: 0 0 auto; margin: 0 !important; padding: 10px 14px !important; border: 1px solid var(--sy-border) !important; background: #fff; }
  .nav-tabs-vertical .nav-link.active { color: var(--sy-primary) !important; background: var(--sy-primary-soft) !important; border-color: #d8ddff !important; }
  .auth-card { padding: 22px 18px !important; }
  .auth-wrapper, .auth-container { align-items: start !important; padding-top: 34px !important; }
  .modal-dialog { margin: 12px; }
  .modal-dialog-centered { align-items: end; min-height: calc(100% - 24px); }
  .modal-content { border-radius: 24px 24px 18px 18px !important; }
}

@media (min-width: 768px) {
  .auth-card { padding: 34px !important; }
  .dashboard-container > .container, .inventory-container > .container, .wallet-container > .container, .settings-container > .container { padding-top: 42px !important; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* Shared signed-in page shell */
.sy-app-page .sy-page-heading{margin-bottom:26px!important}.sy-app-page .sy-page-heading h1,.sy-app-page .sy-page-heading h2{font-size:clamp(1.75rem,4vw,2.35rem);letter-spacing:-.045em!important;font-weight:900!important}.sy-app-page .breadcrumb{margin-bottom:7px!important}.sy-app-page .breadcrumb-item{font-size:.72rem!important}.sy-app-page .btn-dark{background:var(--sy-primary)!important;border-color:var(--sy-primary)!important}.sy-app-page .btn-dark:hover{background:var(--sy-primary-dark)!important;border-color:var(--sy-primary-dark)!important}.sy-empty-state{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 20px;border:1px dashed #cdd3e1;border-radius:24px;background:#fff;text-align:center}.sy-empty-icon{width:66px;height:66px;display:grid;place-items:center;margin-bottom:18px;border-radius:20px;color:var(--sy-primary);background:var(--sy-primary-soft);font-size:1.65rem}.sy-empty-state h2{font-size:1.25rem;font-weight:900;letter-spacing:-.03em}.sy-empty-state p{max-width:430px;margin-bottom:20px;color:var(--sy-muted);font-size:.9rem}.sy-inventory-page #productGrid{--bs-gutter-x:1rem}.sy-inventory-page .product-grid-card{border:1px solid var(--sy-border)!important;box-shadow:none!important;transition:transform .2s,border-color .2s}.sy-inventory-page .product-grid-card:hover{transform:translateY(-2px);border-color:#cfd5ff!important}.sy-inventory-page .price-tag{background:rgba(16,24,40,.88)!important;backdrop-filter:blur(8px)}.sy-inventory-page .status-active{background:#ecfdf3!important;color:#027a48!important}.sy-sales-page .balance-card{background:linear-gradient(135deg,var(--sy-primary),#203bbf)!important;box-shadow:0 22px 42px -24px rgba(59,91,255,.8)!important}.sy-sales-page .nav-pills{border-radius:14px!important;padding:4px!important}.sy-sales-page .nav-pills .nav-link{border-radius:10px!important}.sy-sales-page .tx-list>div,.sy-sales-page .transaction-card{border-color:var(--sy-border)!important;box-shadow:none!important}.sy-store-settings-page form>.row{align-items:start}.sy-store-settings-page .stat-card{box-shadow:none!important}.sy-store-settings-page #logo-section{border-color:#dfe3ff!important;background:linear-gradient(135deg,#fff,#f9faff)!important}.sy-account-page .settings-card{box-shadow:none!important}.sy-account-page .section-title{font-size:1.1rem!important;letter-spacing:-.025em;font-weight:850!important}
@media(max-width:767.98px){.sy-app-page .sy-page-heading{margin-bottom:18px!important}.sy-page-heading-row{display:block!important}.sy-page-heading-row>a,.sy-page-heading-row>button{width:100%;margin-top:15px;min-height:46px}.sy-inventory-page .sy-page-heading .col-lg-6:last-child{display:none}.sy-inventory-page .search-wrapper-mobile{display:block!important;margin-bottom:17px}.sy-inventory-page #productGrid{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}.sy-inventory-page .product-grid-card .p-3{padding:11px!important}.sy-inventory-page .product-description-excerpt,.sy-inventory-page .update-badge{display:none!important}.sy-inventory-page .product-grid-card h6{font-size:.8rem}.sy-inventory-page .product-img-wrapper{height:155px!important}.sy-sales-page .balance-card{padding:21px!important}.sy-sales-page .balance-card h1{font-size:2rem!important}.sy-sales-page .balance-card .col-md-6:last-child{padding-top:16px;margin-top:16px!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.15)}.sy-sales-page .nav-pills{display:grid;grid-template-columns:1fr 1fr;width:100%}.sy-sales-page .nav-pills .nav-link{width:100%;padding-inline:8px!important}.sy-store-settings-page .container{padding-inline:14px!important}.sy-store-settings-page #logo-section .d-flex.align-items-center.gap-4{gap:14px!important}.sy-store-settings-page #logo-preview,.sy-store-settings-page #logo-placeholder{width:76px!important;height:76px!important}.sy-account-page .col-lg-3 h5{display:none}.sy-account-page .nav-tabs-vertical{margin-bottom:12px}.sy-empty-state{min-height:310px;border-radius:20px}}
