:root{
  --navy:#17324D;
  --navy-deep:#0f2338;
  --blue:#2563EB;
  --blue-deep:#1d4ed8;
  --sky:#0EA5E9;
  --yellow:#FBBF24;
  --green:#16A34A;
  --red:#DC2626;
  --text:#172033;
  --body:#475569;
  --bg:#F8FAFC;
  --white:#FFFFFF;
  --surface:#FFFFFF;
  --surface-hover:#F8FAFC;
  --border:#E2E8F0;
  --input-bg:#FFFFFF;
  --radius:14px;
  --shadow:0 1px 3px rgba(23,50,77,.08), 0 1px 2px rgba(23,50,77,.06);
  --shadow-lg:0 20px 40px -12px rgba(23,50,77,.18);
  --font-body:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-display:"Sora","Inter",system-ui,sans-serif;
  color-scheme:light;
}

/* Dark theme: applied when the user picks it, or automatically when their
   OS prefers dark and they haven't explicitly chosen light. Sidebar/topbar
   stay the same dark navy in both themes by design; only content surfaces
   (cards, panels, modals, tables, inputs) and page background change. */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0b1420;
    --white:#0f1b2b;
    --surface:#132133;
    --surface-hover:#182940;
    --text:#e6edf5;
    --body:#94a6bd;
    --border:#243244;
    --input-bg:#0f1b2b;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0b1420;
  --white:#0f1b2b;
  --surface:#132133;
  --surface-hover:#182940;
  --text:#e6edf5;
  --body:#94a6bd;
  --border:#243244;
  --input-bg:#0f1b2b;
  color-scheme:dark;
}
*{box-sizing:border-box;}
.icon{width:1em;height:1em;display:inline-block;vertical-align:-0.14em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.icon-inline{width:1em;height:1em;display:inline-block;vertical-align:-2px;margin-right:6px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--blue);}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--white);line-height:1.6;}
.hidden{display:none !important;}
.container{max-width:1160px;margin:0 auto;padding:0 24px;}
.muted{color:var(--body);}
.small{font-size:.85rem;}
a{color:var(--blue);text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);line-height:1.2;margin:0 0 10px;letter-spacing:-0.01em;}

/* Scroll-reveal motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1);}
.reveal.in-view{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:11px 20px;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .15s ease, box-shadow .2s ease, background .15s ease;min-height:44px;}
.btn:active{transform:translateY(1px) scale(.99);}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-deep));color:#fff;box-shadow:0 6px 16px -4px rgba(37,99,235,.45);}
.btn-primary:hover{box-shadow:0 10px 22px -4px rgba(37,99,235,.55);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--blue);border-color:var(--blue);}
.btn-outline:hover{background:#eff6ff;}
.btn-white{background:#fff;color:var(--navy);}
.btn-outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.btn-outline-white:hover{background:rgba(255,255,255,.12);}
.btn-lg{padding:15px 26px;font-size:1rem;}
.btn-sm{padding:6px 12px;min-height:36px;font-size:.85rem;}
.btn-block{width:100%;}
.btn-danger{background:var(--red);color:#fff;}
.btn-success{background:var(--green);color:#fff;}
.link-btn{background:none;border:none;color:var(--blue);cursor:pointer;font-weight:600;}

/* Nav */
.nav{position:sticky;top:0;background:rgba(15,35,56,.92);backdrop-filter:blur(10px);z-index:40;box-shadow:0 1px 0 rgba(255,255,255,.06);transition:background .2s ease;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.brand{display:flex;align-items:center;gap:9px;color:#fff;font-weight:700;letter-spacing:.01em;font-size:1.05rem;font-family:var(--font-display);}
.brand strong{color:var(--yellow);}
.brand-icon{font-size:1.35rem;display:inline-flex;}
.nav-links{display:flex;gap:24px;}
.nav-links a{color:#cbd5e1;font-weight:500;font-size:.92rem;transition:color .15s;}
.nav-links a:hover{color:#fff;}
.nav-actions{display:flex;align-items:center;gap:10px;}
.hamburger{display:none;background:none;border:none;color:#fff;cursor:pointer;align-items:center;}
.hamburger .icon{width:22px;height:22px;}

/* Hero */
.hero{position:relative;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;padding:96px 0 88px;overflow:hidden;}
.hero-bg{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(600px 400px at 85% -10%, rgba(37,99,235,.35), transparent 60%),
    radial-gradient(500px 380px at 10% 110%, rgba(14,165,233,.28), transparent 60%);
}
.hero-inner{position:relative;display:flex;align-items:center;gap:48px;}
.hero-copy{flex:1.2;}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;}
.hero-copy h1{color:#fff;font-size:2.75rem;max-width:600px;font-weight:800;}
.hero-copy p{color:#cbd5e1;font-size:1.12rem;max-width:520px;margin:14px 0 28px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero-art{flex:1;display:flex;align-items:center;justify-content:center;gap:22px;}
.hero-art-item{width:78px;height:78px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#93c5fd;backdrop-filter:blur(6px);transition:transform .3s ease, background .3s ease;}
.hero-art-item:nth-child(2){transform:translateY(-14px);}
.hero-art-item:nth-child(4){transform:translateY(14px);}
.hero-art-item .icon{width:32px;height:32px;stroke-width:1.5;}
.hero-art-item:hover{background:rgba(255,255,255,.12);transform:translateY(-4px) scale(1.05);}

/* Sections */
.section{padding:72px 0;}
.section-alt{background:var(--bg);}
.section-title{font-size:2rem;text-align:center;margin-bottom:8px;font-weight:700;}
.section-subtitle{text-align:center;color:var(--body);margin-bottom:40px;}

.grid{display:grid;gap:20px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s ease, border-color .2s ease;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#dbeafe;}
.card-icon{width:44px;height:44px;border-radius:12px;background:#eff6ff;color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.card-icon .icon{width:22px;height:22px;}
.card h3{font-size:1.05rem;}
.card p{color:var(--body);font-size:.92rem;margin:0;}

.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;text-align:center;box-shadow:var(--shadow);transition:transform .2s ease, box-shadow .2s ease;}
.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.product-card .emoji{color:var(--blue);width:40px;height:40px;margin:0 auto 8px;}
.product-card .emoji .icon{width:100%;height:100%;}
.product-card .price{color:var(--blue);font-weight:700;margin-top:4px;}

.skeleton-card{height:150px;border-radius:var(--radius);background:linear-gradient(90deg,#eef2f7,#f6f8fb,#eef2f7);background-size:200% 100%;animation:shimmer 1.4s infinite;}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

.cta{background:linear-gradient(135deg,var(--blue),var(--sky));color:#fff;padding:64px 0;text-align:center;}
.cta h2{color:#fff;font-size:2rem;}
.cta p{color:#e0f2fe;margin-bottom:28px;}
.cta-inner{max-width:640px;margin:0 auto;}

.map-wrap iframe{width:100%;height:330px;border:0;border-radius:var(--radius);box-shadow:var(--shadow);}
.location-details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);}
.location-details p{margin:8px 0;display:flex;align-items:center;}
.location-grid{align-items:stretch;}

.footer{background:var(--navy-deep);color:#94a3b8;padding:52px 0 0;}
.footer h4{color:#fff;font-size:.92rem;margin-bottom:12px;font-family:var(--font-display);}
.footer a{display:block;color:#8291a6;padding:4px 0;font-size:.9rem;}
.footer a:hover{color:#fff;}
.brand-footer{margin-bottom:10px;}
.footer-bottom{margin-top:36px;border-top:1px solid rgba(255,255,255,.08);padding:18px 0;text-align:center;font-size:.83rem;color:#64748b;}

/* Modal */
@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalPopIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes modalFadeOut{to{opacity:0}}
@keyframes modalPopOut{to{opacity:0;transform:translateY(10px) scale(.96)}}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:modalFadeIn .18s ease;}
.modal-backdrop.closing{animation:modalFadeOut .16s ease forwards;}
.modal-backdrop.closing .modal{animation:modalPopOut .16s ease forwards;}
.modal{background:var(--surface);border-radius:var(--radius);padding:32px;width:100%;max-width:380px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.28);animation:modalPopIn .28s cubic-bezier(.16,1,.3,1);}
.modal-close{position:absolute;top:14px;right:14px;background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--body);display:flex;align-items:center;}
.modal-close .icon{width:18px;height:18px;}
.login-brand{color:var(--navy);justify-content:center;margin-bottom:10px;}
.login-brand strong{color:var(--blue);}
.login-modal h2{text-align:center;margin-bottom:20px;font-size:1.4rem;}
#login-form label,#forgot-form label,#reset-form label{display:block;font-weight:600;font-size:.85rem;margin-bottom:14px;color:var(--text);}
#login-form input,#forgot-form input,#reset-form input{width:100%;margin-top:6px;padding:12px;border:1px solid var(--border);border-radius:9px;font-size:1rem;min-height:44px;background:var(--input-bg);color:var(--text);}
#login-form input:focus,#forgot-form input:focus,#reset-form input:focus{outline:2px solid var(--blue);outline-offset:1px;}
.password-field{position:relative;display:flex;align-items:center;}
.password-field input{flex:1;}
.password-field .link-btn{position:absolute;right:10px;font-size:.8rem;}
.form-error{background:#fef2f2;color:var(--red);border:1px solid #fecaca;padding:10px 12px;border-radius:8px;font-size:.85rem;margin-bottom:14px;}
.form-success{background:#f0fdf4;color:var(--green);border:1px solid #bbf7d0;padding:10px 12px;border-radius:8px;font-size:.85rem;margin-bottom:14px;}

/* Authenticated app shell */
.app-topbar{display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff;padding:12px 20px;position:sticky;top:0;z-index:30;}
.app-topbar-left{display:flex;align-items:center;gap:6px;}
.sidebar-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:6px;align-items:center;justify-content:center;border-radius:8px;}
.sidebar-toggle .icon{width:22px;height:22px;}
.sidebar-toggle:hover{background:rgba(255,255,255,.1);}
.app-topbar-right{display:flex;align-items:center;gap:14px;font-size:.9rem;}
.sync-badge{color:var(--green);font-weight:600;font-size:.8rem;}
.sync-badge.offline{color:var(--yellow);}
.app-shell{display:flex;min-height:calc(100vh - 58px);}
.app-sidebar{width:230px;background:var(--navy-deep);color:#cbd5e1;padding:18px 0;flex-shrink:0;}
.app-sidebar button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;border-left:3px solid transparent;color:#9fb0c6;padding:11px 20px;font-size:.9rem;cursor:pointer;min-height:44px;transition:background .12s, color .12s, border-color .12s;}
.app-sidebar button .icon{width:18px;height:18px;flex-shrink:0;color:#7488a3;transition:color .12s;}
.app-sidebar button:hover{background:rgba(255,255,255,.05);color:#fff;}
.app-sidebar button:hover .icon{color:#fff;}
.app-sidebar button.active{background:rgba(37,99,235,.16);color:#fff;font-weight:600;border-left-color:var(--sky);}
.app-sidebar button.active .icon{color:var(--sky);}
.sidebar-scrim{display:none;}
.app-main{flex:1;padding:30px;background:var(--bg);overflow-x:auto;}

.page-title{font-size:1.6rem;margin-bottom:4px;}
.page-sub{color:var(--body);margin-bottom:26px;}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);}
.stat-card .label{font-size:.76rem;color:var(--body);text-transform:uppercase;letter-spacing:.05em;}
.stat-card .value{font-size:1.6rem;font-weight:700;margin-top:6px;color:var(--navy);font-family:var(--font-display);}
.stat-card.warn .value{color:var(--red);}

.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:22px;}
.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px;}
.panel-header h3{margin:0;font-size:1.1rem;}

.bars{display:flex;align-items:flex-end;gap:14px;height:140px;padding:10px 4px 0;}
.bars .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;}
.bars .bar{width:100%;max-width:36px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--sky),var(--blue));min-height:3px;transition:height .5s cubic-bezier(.16,1,.3,1);}
.bars .bar-label{font-size:.72rem;color:var(--body);text-align:center;}

table{width:100%;border-collapse:collapse;font-size:.9rem;}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border);white-space:nowrap;}
th{color:var(--body);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;}
tr:hover td{background:var(--surface-hover);}
.table-scroll{overflow-x:auto;}

.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:600;}
.badge-green{background:#dcfce7;color:var(--green);}
.badge-red{background:#fee2e2;color:var(--red);}
.badge-yellow{background:#fef3c7;color:#92400e;}
.badge-blue{background:#dbeafe;color:var(--blue);}
.badge-gray{background:#f1f5f9;color:var(--body);}

.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px;}
.form-row label{font-size:.82rem;font-weight:600;display:block;}
.form-row input,.form-row select,.form-row textarea{width:100%;margin-top:5px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font-size:.92rem;min-height:40px;font-family:inherit;background:var(--input-bg);color:var(--text);}

.pos-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.pos-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center;cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s;}
.pos-item:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--shadow);}
.pos-item .name{font-weight:600;font-size:.88rem;margin-bottom:2px;}
.pos-item .price{color:var(--blue);font-weight:700;font-size:.9rem;}
.pos-item .stock{font-size:.72rem;color:var(--body);}
.pos-cart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;position:sticky;top:76px;height:fit-content;}
.cart-line{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);font-size:.88rem;}
.cart-qty-controls{display:flex;align-items:center;gap:6px;}
.cart-qty-controls button{width:28px;height:28px;border-radius:7px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-weight:600;}
.cart-total{display:flex;justify-content:space-between;font-size:1.15rem;font-weight:700;margin:14px 0;color:var(--navy);font-family:var(--font-display);}

.empty-state{text-align:center;padding:44px 20px;color:var(--body);}

/* Notifications (stacked, animated) */
.toast-container{position:fixed;bottom:20px;right:20px;z-index:300;display:flex;flex-direction:column;gap:10px;max-width:360px;width:calc(100% - 40px);}
.toast-item{position:relative;display:flex;align-items:flex-start;gap:10px;background:var(--surface);color:var(--text);border-radius:11px;padding:13px 38px 13px 14px;box-shadow:0 12px 32px rgba(15,23,42,.18);border-left:4px solid var(--blue);overflow:hidden;opacity:0;transform:translateX(24px) scale(.98);transition:opacity .22s ease, transform .22s cubic-bezier(.16,1,.3,1);}
.toast-item.show{opacity:1;transform:translateX(0) scale(1);}
.toast-item.hide{opacity:0;transform:translateX(24px) scale(.98);}
.toast-item .toast-icon{width:20px;height:20px;flex-shrink:0;margin-top:1px;}
.toast-item .toast-icon .icon{width:20px;height:20px;}
.toast-item .toast-msg{font-size:.88rem;line-height:1.4;padding-top:1px;}
.toast-item .toast-close{position:absolute;top:10px;right:10px;background:none;border:none;cursor:pointer;color:var(--body);padding:2px;display:flex;}
.toast-item .toast-close .icon{width:14px;height:14px;}
.toast-item .toast-progress{position:absolute;left:0;bottom:0;height:3px;background:currentColor;opacity:.35;width:100%;animation-name:toastShrink;animation-timing-function:linear;animation-fill-mode:forwards;}
@keyframes toastShrink{from{width:100%;}to{width:0%;}}
.toast-success{border-left-color:var(--green);}
.toast-success .toast-icon{color:var(--green);}
.toast-error{border-left-color:var(--red);}
.toast-error .toast-icon{color:var(--red);}
.toast-warning{border-left-color:var(--yellow);}
.toast-warning .toast-icon{color:#92400e;}
.toast-info{border-left-color:var(--blue);}
.toast-info .toast-icon{color:var(--blue);}

/* Confirm / prompt dialogs */
.confirm-modal{max-width:400px;text-align:center;}
.confirm-icon{width:52px;height:52px;border-radius:50%;background:#eff6ff;color:var(--blue);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.confirm-icon .icon{width:24px;height:24px;}
.confirm-icon.danger{background:#fef2f2;color:var(--red);}
.confirm-modal h3{font-size:1.15rem;}
.confirm-modal p{font-size:.9rem;}
.confirm-modal form{text-align:left;margin-top:16px;}
.confirm-modal form label{display:block;font-weight:600;font-size:.82rem;margin-bottom:12px;}
.confirm-modal form input,.confirm-modal form select,.confirm-modal form textarea{width:100%;margin-top:5px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font-size:.92rem;min-height:40px;font-family:inherit;background:var(--input-bg);color:var(--text);}
.confirm-actions{display:flex;gap:10px;margin-top:20px;}
.confirm-actions .btn{flex:1;}

.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(37,99,235,.2);border-top-color:var(--blue);display:inline-block;animation:spin .7s linear infinite;vertical-align:-4px;margin-right:8px;}
@keyframes spin{to{transform:rotate(360deg);}}
.loading-line{color:var(--body);font-size:.9rem;padding:8px 0;display:flex;align-items:center;}

@media (max-width:900px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-2{grid-template-columns:1fr;}
  .hero-inner{flex-direction:column;text-align:center;}
  .hero-copy p{margin-left:auto;margin-right:auto;}
  .hero-art{margin-top:20px;}
  .hero-art-item{width:60px;height:60px;}
  .hero-art-item .icon{width:26px;height:26px;}
  .pos-layout{grid-template-columns:1fr;}
  .pos-cart{position:sticky;bottom:0;top:auto;box-shadow:0 -8px 24px rgba(15,23,42,.1);z-index:10;}
}
@media (max-width:680px){
  .nav-links{display:none;}
  .hamburger{display:inline-flex;}
  .grid-4,.grid-3{grid-template-columns:1fr 1fr;}
  .sidebar-toggle{display:inline-flex;}
  .app-sidebar{position:fixed;left:-240px;top:0;bottom:0;width:240px;transition:left .22s cubic-bezier(.16,1,.3,1);z-index:60;padding-top:70px;}
  .app-sidebar.open{left:0;box-shadow:8px 0 24px rgba(0,0,0,.25);}
  .sidebar-scrim{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:55;}
  .sidebar-scrim.show{display:block;}
  .app-main{padding:16px;}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .toast-container{right:12px;left:12px;max-width:none;bottom:12px;}
}
@media (max-width:480px){
  .grid-4,.grid-3{grid-template-columns:1fr;}
  .hero-copy h1{font-size:2rem;}
}

/* Photo gallery slots — styled to look intentional as placeholders, and to
   look equally good if swapped for a real <img class="photo-slot"> tag. */
.photo-slot{aspect-ratio:4/3;border-radius:var(--radius);background:linear-gradient(135deg,#1e3a5f,#2563EB 60%,#0EA5E9);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:rgba(255,255,255,.9);box-shadow:var(--shadow-lg);position:relative;overflow:hidden;object-fit:cover;width:100%;}
.photo-slot::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 14px);}
.photo-slot-icon{width:40px;height:40px;position:relative;z-index:1;}
.photo-slot-icon .icon{width:100%;height:100%;stroke-width:1.3;}
.photo-slot-label{font-size:.82rem;font-weight:600;letter-spacing:.02em;position:relative;z-index:1;}

/* Smooth theme transition */
body,.card,.panel,.modal,.stat-card,.pos-item,.pos-cart,.toast-item,.location-details,.product-card{
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

/* Dark-theme tweak for the loading skeleton shimmer */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .skeleton-card{
    background:linear-gradient(90deg,#16233650,#1c2c4350,#16233650);
  }
}
:root[data-theme="dark"] .skeleton-card{
  background:linear-gradient(90deg,#16233650,#1c2c4350,#16233650);
}

/* Nicely styled native <select> dropdowns (branch selector, form selects) */
select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:16px;
  padding-right:34px !important;cursor:pointer;
}
.panel-header select{
  border:1px solid var(--border);border-radius:9px;padding:9px 34px 9px 14px;font-size:.88rem;font-weight:600;
  background-color:var(--input-bg);color:var(--text);min-height:40px;box-shadow:var(--shadow);
}
.panel-header select:hover{border-color:var(--blue);}

/* ---------------------------------------------------------------------- */
/* Dropdown menus (user menu in the topbar, and any future menu button)   */
/* ---------------------------------------------------------------------- */
.dropdown{position:relative;display:inline-flex;}
.dropdown-trigger{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:10px;padding:7px 12px;cursor:pointer;font-size:.85rem;font-weight:600;transition:background .15s ease;}
.dropdown-trigger:hover{background:rgba(255,255,255,.15);}
.dropdown-trigger .icon{width:16px;height:16px;}
.dropdown-trigger .chevron{width:14px;height:14px;transition:transform .18s ease;}
.dropdown.open .dropdown-trigger .chevron{transform:rotate(180deg);}
.avatar-badge{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--blue));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem;color:#fff;flex-shrink:0;}

.dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;z-index:120;opacity:0;transform:translateY(-8px) scale(.97);pointer-events:none;transition:opacity .16s ease, transform .16s cubic-bezier(.16,1,.3,1);}
.dropdown.open .dropdown-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.dropdown-menu-label{padding:8px 10px 6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--body);font-weight:700;}
.dropdown-menu-divider{height:1px;background:var(--border);margin:6px 2px;}
.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;padding:9px 10px;border-radius:8px;font-size:.88rem;color:var(--text);cursor:pointer;min-height:40px;}
.dropdown-item:hover{background:var(--surface-hover);}
.dropdown-item .icon{width:16px;height:16px;color:var(--body);flex-shrink:0;}
.dropdown-item.danger{color:var(--red);}
.dropdown-item.danger .icon{color:var(--red);}

/* Theme toggle button */
.theme-toggle{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:10px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease;flex-shrink:0;}
.theme-toggle:hover{background:rgba(255,255,255,.15);}
.theme-toggle .icon{width:18px;height:18px;}
.nav .theme-toggle,.nav .dropdown-trigger{background:rgba(255,255,255,.08);}

.select-branch{border:1px solid var(--border);border-radius:9px;padding:8px 34px 8px 14px;font-size:.85rem;font-weight:600;background-color:var(--input-bg);color:var(--text);min-height:38px;margin-left:10px;vertical-align:middle;box-shadow:var(--shadow);}
.select-branch:hover{border-color:var(--blue);}
