
:root{--blue:#123f93;--blue2:#0b2b67;--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#6d7687;--line:#dfe5ef;--ok:#18794e;--warn:#9a6700;--bad:#b42318}
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
header{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:18px 20px;position:sticky;top:0;z-index:20}
header h1{margin:0;font-size:22px} header p{margin:4px 0 0;font-size:13px;opacity:.85}
nav{display:flex;gap:7px;overflow:auto;background:#fff;border-bottom:1px solid var(--line);padding:10px;position:sticky;top:78px;z-index:19}
nav button{border:0;border-radius:999px;padding:9px 13px;font-weight:750;background:#eef2fb;color:#24314f;white-space:nowrap;cursor:pointer}
nav button.active{background:var(--blue);color:#fff}
main{max-width:1280px;margin:auto;padding:16px}.page{display:none}.page.active{display:block}
.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 3px 12px #0000000b}
h2{font-size:22px;margin:4px 0 14px} h3{font-size:16px;margin:2px 0 10px}
label{font-size:12px;font-weight:750;color:#3b465b;display:block;margin:9px 0 5px}
input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cfd7e6;border-radius:9px;background:#fff;font:inherit}
textarea{min-height:70px}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn{border:0;border-radius:9px;padding:10px 13px;font-weight:750;cursor:pointer}.primary{background:var(--blue);color:#fff}.secondary{background:#edf2fb;color:#243a69}.danger{background:#fff1f0;color:var(--bad);border:1px solid #ffd6d1}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.muted{color:var(--muted);font-size:13px}.stat{font-size:24px;font-weight:850;color:var(--blue)}.pill{display:inline-block;padding:4px 8px;border-radius:99px;background:#eef3ff;font-size:11px;font-weight:750}
.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.product{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.product .content{padding:13px}
.product img{width:100%;height:190px;object-fit:contain;background:#f3f5f9}
.thumbs{display:flex;gap:5px;padding:8px;background:#fafbfe;overflow:auto}.thumbs img{width:46px;height:46px;border:1px solid var(--line);border-radius:7px;cursor:pointer;background:white}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f7f9fd;font-size:12px}
.right{text-align:right}.nowrap{white-space:nowrap}.hidden{display:none!important}.empty{padding:22px;text-align:center;color:var(--muted)}
.orderbox{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px;background:#fff}
.logo-box{width:48px;height:48px;border-radius:11px;background:#fff;color:var(--blue);display:grid;place-items:center;font-weight:950}
.confirmation{background:white;color:#111;padding:28px;max-width:860px;margin:auto}
.confirmation h1{color:#123f93;margin:0 0 4px}.confirmation .meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;margin:18px 0}.confirmation table{font-size:14px}

.floating-cart{position:fixed;right:22px;bottom:22px;z-index:50;width:58px;height:58px;border-radius:50%;border:0;background:var(--blue);color:#fff;box-shadow:0 8px 24px #0003;cursor:pointer;font-size:25px;display:grid;place-items:center}
.floating-cart .badge{position:absolute;right:-3px;top:-5px;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#d92d20;color:#fff;font-size:12px;font-weight:850;display:grid;place-items:center;border:2px solid #fff}
.audit{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
.audit-entry{font-size:12px;color:#4d576a;padding:5px 0;border-bottom:1px solid #f0f2f6}
.locked-note{background:#fff5e8;border:1px solid #ffd8a8;color:#7a4d00;border-radius:10px;padding:10px 12px;margin-top:10px;font-size:13px}


/* Admin navigation */
nav button.admin-tab{background:#fff1f1;color:#8f2f2f;border:1px solid #f1caca}
nav button.admin-tab.active{background:#a94444;color:#fff;border-color:#a94444}
nav button.customer-tab{background:#eef2fb;color:#24314f}
nav button.customer-tab.active{background:var(--blue);color:#fff}

/* Right-side cart drawer */
.cart-drawer-backdrop{position:fixed;inset:0;background:#0006;z-index:79;display:none}
.cart-drawer-backdrop.open{display:block}
.cart-drawer{position:fixed;top:0;right:-460px;width:min(430px,94vw);height:100vh;background:#fff;z-index:80;box-shadow:-12px 0 30px #0002;transition:right .25s ease;display:flex;flex-direction:column}
.cart-drawer.open{right:0}
.cart-drawer-head{padding:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.cart-drawer-body{padding:16px;overflow:auto;flex:1}
.cart-drawer-foot{padding:14px 16px;border-top:1px solid var(--line);background:#fafbfe}
.cart-close{border:0;background:#eef2f7;border-radius:9px;width:38px;height:38px;font-size:20px;cursor:pointer}
.cart-mini-item{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid var(--line);padding:10px 0}
.cart-mini-item:last-child{border-bottom:0}
.cart-mini-title{font-weight:800}
.cart-mini-meta{font-size:12px;color:var(--muted);margin-top:3px}
.floating-cart{right:22px;bottom:22px}

/* Sportshop final list */
.sportshop-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.sport-pdf{background:#fff;color:#111;max-width:900px;margin:auto;padding:24px}
.sport-pdf h1{margin:0;color:#123f93}
.sport-pdf .season{margin-top:4px;color:#666}
.sport-group{margin-top:20px}
.sport-group h2{font-size:18px;border-bottom:2px solid #123f93;padding-bottom:5px;margin-bottom:8px}
.sport-line{display:grid;grid-template-columns:1fr auto;gap:12px;padding:9px 0;border-bottom:1px solid #ddd}
.sport-line .qty{font-weight:850;white-space:nowrap}
.sport-edit-table input{min-width:70px;padding:6px 7px}
.admin-only-note{font-size:12px;color:#8f2f2f;background:#fff5f5;border:1px solid #f1caca;border-radius:9px;padding:8px 10px;margin-bottom:10px}
@media print{
  body.print-sportshop header,body.print-sportshop nav,body.print-sportshop main>section:not(#sportshopPrintPage),body.print-sportshop .floating-cart,body.print-sportshop .cart-drawer,body.print-sportshop .cart-drawer-backdrop{display:none!important}
  body.print-sportshop #sportshopPrintPage{display:block!important}
  body.print-sportshop{background:#fff}
  body.print-sportshop .sport-pdf{max-width:none;padding:8mm}
}

@media(max-width:900px){.g2,.g3,.products{grid-template-columns:1fr}.row{grid-template-columns:1fr}nav{top:82px}}
@media print{header,nav,.no-print{display:none!important}body{background:#fff}main{max-width:none;padding:0}.page{display:none!important}#confirmationPage{display:block!important}.confirmation{max-width:none;padding:10mm}}

footer{text-align:center;padding:30px;color:#667085}footer a{color:#123f93} .admin-shell{max-width:1440px;margin:auto}.admin-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:18px 0}.admin-head h2{margin:0}#appStatus{padding:8px 14px;font-size:13px}#appStatus:empty{display:none}#roundBanner{padding:12px;border-radius:10px;background:#fff5e5;margin-bottom:12px}.login-card{max-width:440px;margin:60px auto}.login-card input{margin-bottom:16px}.code-note{padding:14px;border:2px solid #123f93;border-radius:10px;margin:14px 0;overflow-wrap:anywhere}.code-note code{font-size:19px;font-weight:bold}.card{overflow-x:auto}nav{overflow-x:auto;flex-wrap:wrap}button:disabled{opacity:.5;cursor:wait} .hidden{display:none!important}@media(max-width:650px){header h1{font-size:21px}.admin-head{flex-wrap:wrap}.grid.g2,.grid.g3{grid-template-columns:1fr}.products{grid-template-columns:1fr}main{padding:12px}nav button{font-size:12px}.confirmation{padding:15px}.stat{font-size:22px}}@media print{footer,.admin-head,#appStatus,#roundBanner{display:none!important}}

@media print{.floating-cart,.cart-drawer,.cart-drawer-backdrop,dialog{display:none!important}.code-note{break-inside:avoid}thead{display:table-header-group}tr,.sport-line{break-inside:avoid}}
@media(max-width:650px){.confirmation{overflow-x:auto}.confirmation .meta{grid-template-columns:1fr}.admin-head{padding:0 12px}.logo-box{flex-shrink:0}.grid>*{min-width:0}}
