/* Department Merch Orders — simple black & white, bold, one accent (red). */
:root { --accent: #e10600; --ink: #111; --line: #ddd; }
* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; color: var(--ink); background: #fff; }
.hidden { display: none !important; }
.accent { color: var(--accent); }
.big { font-size: 1.4em; }
.small { font-size: .85em; color: #555; font-weight: normal; }
.msg { color: var(--accent); min-height: 1.2em; font-weight: bold; }

.topbar { display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 14px 18px; border-bottom: 4px solid var(--ink); flex-wrap: wrap; }
.brand { font-weight: 900; letter-spacing: .06em; font-size: 1.25rem; }
.navbtn { background: none; border: 2px solid var(--ink); padding: 7px 12px; font-weight: 700; cursor: pointer; margin-left: 6px; }
.navbtn:hover { background: var(--ink); color: #fff; }

main { max-width: 1080px; margin: 0 auto; padding: 20px 16px 40px; }
h1 { font-size: 1.6rem; letter-spacing: .02em; }
button { font: inherit; }
button.primary { background: var(--accent); color: #fff; border: none; padding: 10px 18px; font-weight: 900; cursor: pointer; }
button.primary:hover { filter: brightness(.9); }
button { border: 2px solid var(--ink); background: #fff; padding: 7px 12px; font-weight: 700; cursor: pointer; }
input, select { font: inherit; padding: 9px; border: 2px solid var(--ink); width: 100%; margin: 4px 0 12px; background: #fff; }
label { display: block; font-weight: 700; }
.inline-form { display: flex; gap: 8px; flex-wrap: wrap; align-items: end; }
.inline-form input, .inline-form select { width: auto; margin: 0; }

.card { border: 3px solid var(--ink); padding: 20px; margin: 18px 0; background: #fff; }
.card.narrow { max-width: 480px; margin: 30px auto; }

.shophead { display: flex; justify-content: space-between; align-items: center; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.item { border: 3px solid var(--ink); padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.item img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border: 2px solid var(--line); background: #f4f4f4; }
.item .name { font-weight: 900; font-size: 1.05rem; }
.item .price { font-weight: 900; color: var(--accent); }
.item select { margin: 0; }
.soldout { color: var(--accent); font-weight: 900; }

.paybox { border: 2px dashed var(--ink); padding: 10px 14px; margin: 10px 0; }
.total { font-size: 1.1rem; }
.cartline { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--line); }

.tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 10px 0 16px; }
.tab.active { background: var(--ink); color: #fff; }
.ordercard { border: 3px solid var(--ink); padding: 14px; margin: 12px 0; }
.ordercard .status { font-weight: 900; color: var(--accent); text-transform: uppercase; }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid var(--line); padding: 6px 8px; text-align: left; font-size: .92rem; }
th { background: var(--ink); color: #fff; }
tr.low td { background: #ffe9e8; font-weight: 700; }
.flag { color: var(--accent); font-weight: 900; }
.proofimg { max-width: 260px; border: 2px solid var(--ink); display: block; margin: 8px 0; }
.foot { border-top: 2px solid var(--ink); padding: 14px 18px; font-size: .85rem; color: #555; }
.packline { display: block; font-weight: normal; }
