
*{box-sizing:border-box}
body{margin:0;background:#f5f6f8;color:#17202a;font-family:Arial,Helvetica,sans-serif}
.topbar{height:64px;background:white;border-bottom:1px solid #e1e5e9;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}
.brand{font-size:20px;font-weight:800}.topbar nav{display:flex;gap:12px;align-items:center}.topbar a{color:#17202a;text-decoration:none}
.container{max-width:1100px;margin:auto;padding:28px 20px 60px}
.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
h1{font-size:30px;margin:7px 0}h2{font-size:19px;margin:0 0 16px}.muted{color:#6b7280;font-size:14px}.back{color:#6b7280;text-decoration:none}
.card{background:white;border:1px solid #e1e5e9;border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}
label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700;margin-bottom:15px}
input,select,textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid #ccd2d8;border-radius:9px;background:white;font-weight:400}
small{color:#6b7280;font-weight:400}.btn{border:0;background:#17202a;color:white;padding:11px 16px;border-radius:9px;text-decoration:none;font-weight:700;cursor:pointer;display:inline-block}.btn.secondary{background:#eef1f4;color:#17202a}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.buttons{display:flex;gap:8px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.item{border:1px solid #dde2e7;border-radius:12px;padding:18px;margin-top:14px;background:#fafbfc}.item-head{display:flex;justify-content:space-between;margin-bottom:15px}.danger{border:0;background:none;color:#b42318;font-weight:700;cursor:pointer}
table{width:100%;border-collapse:collapse}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid #edf0f2;font-size:14px}tbody tr{cursor:pointer}tbody tr:hover{background:#fafbfc}.table-wrap{overflow:auto}
.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef1f4;font-size:12px;font-weight:700;white-space:nowrap}.completed,.paid,.ready{background:#e4f6eb}.new,.cad{background:#e9f2ff}.printing,.50-paid{background:#fff1d6}.pending,.cancelled{background:#fde9e7}
dl{display:grid;grid-template-columns:120px 1fr;gap:10px}dt{color:#6b7280}dd{margin:0;font-weight:600}.locked{background:#f4f5f6;border-radius:9px;padding:12px}.saved-item{border:1px solid #e1e5e9;border-radius:10px;padding:15px;margin:10px 0}.qty{float:right;font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.tags span{background:#f0f2f5;padding:5px 8px;border-radius:7px;font-size:12px}.empty{text-align:center;color:#6b7280;padding:30px}
hr{border:0;border-top:1px solid #edf0f2;margin:18px 0}
@media(max-width:700px){.topbar{padding:0 14px}.container{padding:20px 12px}.grid.two{grid-template-columns:1fr}.head,.section-head{flex-direction:column;align-items:stretch}.buttons{width:100%}.buttons .btn{flex:1}table{min-width:700px}}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 18px}.mode-card{display:flex;flex-direction:row;align-items:flex-start;gap:10px;border:1px solid #d9dee4;border-radius:12px;padding:15px;background:#fafbfc;cursor:pointer}.mode-card input{width:auto;margin-top:3px}.mode-card span{display:flex;flex-direction:column;gap:5px}.mode-card small{line-height:1.4}.group-card{border:1px solid #d9dee4;border-radius:12px;padding:18px;margin:14px 0;background:#fafbfc}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.error{background:#fde9e7;border-radius:8px;padding:9px;color:#8b1e16;font-size:13px;white-space:pre-wrap;max-width:100%;overflow:auto;margin-bottom:8px}.buttons{display:flex;gap:8px;flex-wrap:wrap}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}@media(max-width:700px){.mode-grid{grid-template-columns:1fr}}

.success-box,.queue-box{padding:14px 16px;border-radius:12px;border:1px solid #d1d5db;background:#f7faf7;margin-bottom:8px}.queue-box{background:#f7f7fa}.success-box b,.queue-box b{display:block;margin-bottom:5px}.small{padding:7px 10px;font-size:13px}details{margin-top:8px}pre{white-space:pre-wrap;max-width:700px;overflow:auto}

/* Order dashboard / quick keychain view */
.order-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 16px}.tab{border:1px solid #d9dee4;background:white;color:#17202a;padding:9px 12px;border-radius:999px;font-weight:700;cursor:pointer}.tab span{font-size:12px;color:#6b7280;margin-left:3px}.tab.active{background:#17202a;color:white;border-color:#17202a}.tab.active span{color:white}
.cad-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.cad-pill.generated{background:#e4f6eb}.cad-pill.in-progress{background:#fff1d6}.cad-pill.missing{background:#fde9e7}.cad-pill.failed{background:#fde9e7}
.nav-button{border:0;background:transparent;color:#17202a;font:inherit;font-weight:700;cursor:pointer;padding:8px 4px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-backdrop.open{display:flex}.modal{width:min(760px,100%);max-height:min(85vh,800px);overflow:auto;background:white;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.2);padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:15px}.modal-close{border:0;background:#eef1f4;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.quick-order{border:1px solid #dde2e7;border-radius:12px;padding:13px 15px;margin:10px 0}.quick-order-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.quick-order-head a{font-weight:700;text-decoration:none;color:#17202a}.quick-names{display:grid;gap:5px}.quick-name{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:#f7f8fa;border-radius:8px;font-size:14px}.quick-status{font-size:11px;font-weight:700;padding:3px 7px;border-radius:999px;background:#eef1f4;white-space:nowrap}.quick-status.completed{background:#e4f6eb}.quick-status.processing,.quick-status.queued{background:#fff1d6}.quick-status.failed{background:#fde9e7}
@media(max-width:700px){.topbar nav{gap:7px}.topbar nav a:nth-child(2){display:none}.nav-button{padding:8px 2px}.quick-name{align-items:center}}
.order-tools{display:flex;gap:10px;align-items:center;margin-bottom:12px}.search-wrap{display:flex;align-items:center;gap:8px;background:white;border:1px solid #d9dee4;border-radius:10px;padding:0 12px;flex:1}.search-wrap span{color:#6b7280;font-size:20px}.search-wrap input{border:0;outline:0;padding:11px 4px}.bulk-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:#f7f8fa;border:1px solid #e1e5e9;border-radius:10px;margin-bottom:14px}.bulk-editor{border:1px solid #d9dee4;border-radius:12px;padding:15px;background:#fff;margin-bottom:14px}.name-row{margin:8px 0}.n-select{width:18px!important;height:18px;margin:0}.n-name{flex:1;min-width:180px}.n-qty{width:90px!important}.order-summary{background:#fbfcfd}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-grid>div{background:white;border:1px solid #e1e5e9;border-radius:10px;padding:12px}.summary-grid span{display:block;color:#6b7280;font-size:12px;margin-bottom:5px}.summary-list{margin-top:12px;display:grid;gap:6px;font-size:14px}.summary-list div{padding:8px 10px;background:#f3f5f7;border-radius:8px}@media(max-width:700px){.order-tools{flex-direction:column;align-items:stretch}.summary-grid{grid-template-columns:1fr 1fr}}
.filter-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.extra-filters{display:flex;gap:8px}.extra-filters select{width:auto;min-width:150px;padding:9px 10px}.quick-search{margin-bottom:14px}.danger-btn{color:#b42318!important;background:#fff1f0!important}.quick-order{transition:transform .08s ease}.quick-order:hover{transform:translateY(-1px)}
@media(max-width:700px){.filter-row{align-items:stretch}.extra-filters{width:100%;flex-direction:column}.extra-filters select{width:100%}.quick-search{width:100%}}

/* Mobile-friendly order and CAD queue cards */
.mobile-orders,.mobile-queue{display:none}
.order-card{background:white;border:1px solid #e1e5e9;border-radius:14px;padding:15px;margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.order-card-top,.order-card-customer,.order-card-meta,.queue-card-top,.queue-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}
.order-card-pills{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.order-card-customer{margin:12px 0 13px;align-items:flex-start;flex-direction:column;gap:3px}
.order-card-customer span{font-size:13px;color:#6b7280}
.order-card-meta{border-top:1px solid #edf0f2;padding-top:12px;align-items:flex-start}
.order-card-meta>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.order-card-meta span,.queue-card-order span,.queue-config span{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}
.order-card-meta b{font-size:14px}
.order-card-meta .pill{width:max-content}
.order-card-date{font-size:11px;color:#9aa1a8;margin-top:11px}
.queue-card{background:white;border:1px solid #e1e5e9;border-radius:14px;padding:15px;margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.queue-card-order{display:flex;justify-content:space-between;align-items:center;margin:13px 0;padding-bottom:11px;border-bottom:1px solid #edf0f2}
.queue-card-order a{font-weight:700;color:#17202a;text-decoration:none}
.queue-config{display:flex;flex-direction:column;gap:4px}
.queue-config b{font-size:16px}.queue-config small{line-height:1.4}
.queue-card-bottom{margin-top:13px;font-size:12px;color:#6b7280}
.queue-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:#eef1f4}
.queue-status.completed{background:#e4f6eb}.queue-status.processing,.queue-status.queued{background:#fff1d6}.queue-status.failed{background:#fde9e7}
@media(max-width:700px){
  .topbar{height:auto;min-height:58px;padding:9px 12px;gap:8px;align-items:center}
  .brand{font-size:18px;flex:0 0 auto}
  .topbar nav{gap:4px;flex:1;min-width:0;overflow-x:auto;white-space:nowrap;justify-content:flex-end;scrollbar-width:none}
  .topbar nav::-webkit-scrollbar{display:none}
  .topbar nav a,.nav-button{font-size:13px;padding:8px 7px;white-space:nowrap}
  .topbar nav a:nth-child(2){display:inline-block}
  .desktop-orders,.desktop-queue{display:none}
  .mobile-orders,.mobile-queue{display:block}
}

/* Final mobile card layout */
@media(max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .container{width:100%;max-width:100%;padding:16px 10px 48px}
  .head{gap:12px;margin-bottom:16px}
  .head h1{font-size:25px}
  .head .btn{width:100%;text-align:center}
  .card{padding:15px;border-radius:12px}
  .mobile-orders,.mobile-queue{width:100%;max-width:100%}
  .order-card,.queue-card{width:100%;max-width:100%;margin:0 0 10px;padding:14px;border-radius:12px;overflow:hidden}
  .order-card-top{align-items:flex-start;gap:8px}
  .order-card-top>b{font-size:15px;line-height:1.3;padding-top:4px}
  .order-card-pills{flex:1;justify-content:flex-end;min-width:0}
  .order-card-pills .pill,.order-card-pills .cad-pill{max-width:100%;font-size:11px;padding:5px 7px}
  .order-card-customer{margin:11px 0 12px}
  .order-card-customer b{font-size:16px;line-height:1.25;overflow-wrap:anywhere}
  .order-card-customer span{overflow-wrap:anywhere}
  .order-card-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;width:100%}
  .order-card-meta>div{min-width:0;overflow:hidden}
  .order-card-meta b{font-size:13px;overflow-wrap:anywhere}
  .order-card-meta .pill{font-size:10px;padding:4px 6px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .order-card-date{font-size:10px;overflow-wrap:anywhere}
  .queue-card-top{align-items:flex-start}
  .queue-card-top>b{font-size:15px}
  .queue-status{font-size:11px;padding:5px 7px}
  .queue-card-order{margin:11px 0;padding-bottom:10px}
  .queue-card-order a{font-size:15px}
  .queue-config b{font-size:15px;overflow-wrap:anywhere}
  .queue-config small{font-size:12px;overflow-wrap:anywhere;display:block}
  .queue-card-bottom{align-items:flex-start;flex-wrap:wrap;gap:7px;font-size:11px}
  .order-tools .btn{width:100%;text-align:center}
  .order-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;margin-bottom:12px;scrollbar-width:none}
  .order-tabs::-webkit-scrollbar{display:none}
  .tab{flex:0 0 auto;font-size:12px;padding:8px 10px}
  .filter-row{gap:8px}
  .extra-filters{gap:7px}
}
