.shop-main{max-width:1240px;margin:auto;padding:28px 24px 90px;min-height:70vh}.shop-main .page-title{padding-bottom:24px}.shop-main h1{font-size:clamp(32px,5vw,64px)}.shop-nav{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 24px;border-bottom:1px solid #304955;margin-bottom:24px}.shop-nav a{padding:12px 17px;background:#172a34;border:1px solid #355563;color:#b9ccd4;text-decoration:none}.shop-nav a[aria-current]{color:#14252c;background:#65ded2;border-color:#65ded2}.shop-card{border:1px solid #304d5c;background:linear-gradient(125deg,#13242e,#101d26);padding:28px;margin:0 0 20px;min-width:0}.shop-card h2{font-size:24px;line-height:1.25;margin-bottom:18px}.shop-card p{line-height:1.7;color:#a9c1cc}.shop-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}.shop-card label:not(.shop-check){display:block;margin:20px 0 8px;font-size:13px;color:#a9c1cc}.shop-card select,.shop-card input[type=file]{box-sizing:border-box;background:#0b171f;border:1px solid #3a5f70;padding:13px;color:#e8f1f5;width:100%;font:inherit;border-radius:0}.shop-card .button{margin-top:22px;white-space:normal}.shop-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shop-check{display:flex;gap:13px;align-items:flex-start;margin:19px 0;font-size:13px;line-height:1.65;color:#cadbe2;cursor:pointer}.shop-check input{accent-color:#65ded2;margin:5px 0 0;width:17px;height:17px;flex-shrink:0}.shop-documents{font-size:13px;margin:24px 0;border-bottom:1px solid #304d5c;padding-bottom:20px}.shop-documents a{color:#65ded2}.shop-quote{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;margin:20px 0}.shop-quote strong{font-size:42px;color:#65ded2}.shop-quote span{font-size:13px;color:#a9c1cc}.shop-note{font-size:12px}.shop-warning{background:#3c2c15;border-left:3px solid #dc941b;padding:18px;color:#efc77a;font-size:13px;line-height:1.7;margin-bottom:24px}.shop-steps{padding-left:23px;color:#afc6d0;line-height:2.5;font-size:14px}.shop-message{padding:14px 0;color:#65ded2;line-height:1.7}.shop-message[data-error=true]{color:#ff9b9e}.shop-card a{color:#65ded2}.shop-actions{display:flex;gap:12px;flex-wrap:wrap}.shop-actions .button{margin-top:12px}.shop-dialog{max-width:540px;padding:32px;background:#13242e;border:1px solid #456270;color:#edf5f8}.shop-dialog::backdrop{background:#000b}.shop-dialog .button{margin-top:20px}.shop-main [hidden]{display:none!important}.shop-main button:disabled{opacity:.4;cursor:wait}.shop-main :focus-visible{outline:2px solid #65ded2;outline-offset:4px}@media(max-width:760px){.shop-grid{grid-template-columns:1fr}.shop-card{padding:22px}.shop-fields{grid-template-columns:1fr}.shop-nav a{font-size:12px;padding:10px}.shop-main{padding:24px 15px 60px}.shop-main input,.shop-main select{font-size:16px}}

/* Customer workspace */
.shop-main .page-title { padding: 20px 0 18px; }
.shop-main h1 { font-size: clamp(32px, 4vw, 52px); }
#shop-identity { margin: 10px 0 0; color: #a9c1cc; overflow-wrap: anywhere; }
#shop-identity:empty, .shop-message:empty { display: none; }
.shop-navigation {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px 20px; margin-bottom: 24px;
  border-bottom: 1px solid #304955; padding-bottom: 14px;
}
.shop-navigation .shop-nav { border: 0; padding: 0; margin: 0; }
.shop-nav a:hover { border-color: #65ded2; }
.shop-admin-link {
  display: inline-flex; padding: 8px 12px; border: 1px solid #6d562f;
  color: #edc981; font-size: 12px; text-decoration: none;
}
.shop-admin-link:hover { border-color: #edc981; }
.shop-admin-link[hidden] { display: none; }
.shop-licence-header, .shop-help {
  display: flex; flex-wrap: wrap; align-items: flex-start;
  justify-content: space-between; gap: 12px 24px;
}
.shop-licence-header h2, .shop-help h2, .shop-help h3 { margin: 0; }
.shop-licence-header p, .shop-help p { margin: 6px 0 0; }
.shop-licence-grid {
  display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 22px; margin-top: 20px;
}
.shop-licence-grid section { padding: 18px; background: #0c1820; border: 1px solid #2c4552; }
.shop-licence-grid h3 { font-size: 17px; margin: 0 0 10px; }
.shop-licence-grid ol { padding-left: 1.4em; line-height: 1.7; color: #c2d6de; font-size: 14px; }
.shop-licence-grid li + li { margin-top: 5px; }
.shop-card a.button-primary { color: #0b1b20; }
.shop-licence-grid .shop-note { margin: 14px 0 0; }
.shop-manual-link { display: inline-block; margin-top: 12px; font-size: 13px; }
.shop-help { align-items: center; }
.shop-help .button { margin: 0; }
.shop-help h2 { font-size: 18px; }
.shop-badge {
  display: inline-flex; width: fit-content; align-items: center;
  padding: 5px 9px; border: 1px solid #405a67; color: #b1c6d1;
  font-size: 12px; line-height: 1.4;
}
.shop-badge[data-state=ready] { background: #183e3d; border-color: #3a786e; }
.shop-card [data-state=ready] { color: #a5f1dc; }
.shop-card [data-state=notice] { color: #edc981; }
.shop-seats { list-style: none; margin: 14px 0 0; padding: 0; }
.shop-seats li {
  display: flex; flex-wrap: wrap; justify-content: space-between;
  gap: 6px 12px; border-top: 1px solid #304955;
  padding: 10px 0 5px; font-size: 13px; color: #afc6d0;
}
.shop-seats strong { color: #e8f1f5; font-weight: 600; }
.shop-reference { margin-top: 16px; font-size: 12px; color: #a9c1cc; }
.shop-reference summary, .shop-restore summary { cursor: pointer; width: fit-content; }
.shop-reference code, .shop-licence-card > code { display: block; margin-top: 10px; overflow-wrap: anywhere; }
.shop-restore summary { font-weight: 650; color: #baf9f0; }
.shop-order { scroll-margin-top: 100px; }
.shop-order h2 { font-size: 21px; }
.shop-order > p { margin: 8px 0; }
.shop-empty { border-style: dashed; }
.shop-empty .button { margin-top: 10px; }
.shop-main .button:disabled { cursor: not-allowed; }
@media (max-width: 760px) {
  .shop-licence-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .shop-licence-grid section { padding: 14px; }
  .shop-licence-header h2 { font-size: 22px; }
}
@media (max-width: 420px) {
  .shop-navigation .shop-nav { gap: 6px; }
  .shop-nav a { padding: 9px 8px; }
  .shop-actions .button { justify-content: center; width: 100%; }
}
.shop-list-tools { display: flex; justify-content: flex-end; margin: 0 0 14px; }
.shop-list-tools .button { padding: 8px 12px; font-size: 12px; }
.shop-device-name { display: block; max-width: 100%; margin-top: 4px; overflow-wrap: anywhere; }
.shop-seat-state { display: grid; gap: 5px; justify-items: end; }
.shop-seat-release {
  border: 0; padding: 4px 0; background: transparent; color: #eac68a;
  font: inherit; font-size: 12px; text-decoration: underline; cursor: pointer;
}
