:root { --navy:#0b2447; --blue:#1769d2; --blue-dark:#0c4fa8; --orange:#ff8a00; --ink:#172033; --muted:#667085; --line:#e4e7ec; --surface:#f6f8fb; --white:#fff; }
* { box-sizing:border-box; }
body { margin:0; background:var(--surface); color:var(--ink); font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; }
button,input,textarea { font:inherit; }
.owner-header { position:sticky; z-index:10; top:0; display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:12px clamp(20px,5vw,72px); border-bottom:1px solid var(--line); background:rgb(255 255 255 / 96%); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:12px; color:var(--navy); text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:linear-gradient(145deg,var(--blue),var(--navy)); color:white; font-size:1.35rem; font-weight:900; box-shadow:0 8px 20px rgb(23 105 210 / 25%); }
.brand small,.brand strong { display:block; }.brand small { margin-bottom:2px; color:var(--blue); font-size:.64rem; font-weight:800; letter-spacing:.11em; }.brand strong { font-size:1rem; }
.back-link { color:var(--blue-dark); font-size:.88rem; font-weight:700; text-decoration:none; }
.owner-layout { display:grid; grid-template-columns:minmax(260px,360px) minmax(0,780px); gap:clamp(24px,5vw,64px); width:min(1200px,calc(100% - 40px)); margin:46px auto 70px; align-items:start; }
.owner-intro { position:sticky; top:112px; padding:18px 6px; }.eyebrow { color:var(--orange); font-size:.72rem; font-weight:900; letter-spacing:.12em; }.owner-intro h1 { margin:14px 0; color:var(--navy); font-size:clamp(2rem,4vw,3.25rem); line-height:1.04; }.owner-intro>p { color:var(--muted); font-size:1.02rem; line-height:1.65; }
.steps { display:grid; gap:4px; margin:30px 0; padding:0; list-style:none; }.steps li { display:flex; align-items:center; gap:12px; padding:12px; border-radius:12px; color:var(--muted); }.steps li.active { background:#eaf3ff; color:var(--blue-dark); }.steps li>span,legend>span { display:grid; flex:0 0 auto; place-items:center; width:30px; height:30px; border-radius:50%; background:#e9edf3; font-weight:800; }.steps .active>span,legend>span { background:var(--blue); color:white; }.steps strong,.steps small { display:block; }.steps small { margin-top:2px; font-size:.76rem; }
.owner-benefit { padding:18px; border:1px solid #fed7aa; border-radius:14px; background:#fff7ed; }.owner-benefit strong { color:#9a4b00; }.owner-benefit p { margin:7px 0 0; color:#7c4a1d; font-size:.85rem; line-height:1.5; }
.form-card { overflow:hidden; border:1px solid var(--line); border-radius:20px; background:var(--white); box-shadow:0 18px 50px rgb(16 24 40 / 9%); }.form-heading { padding:30px 34px 22px; border-bottom:1px solid var(--line); }.status-pill { display:inline-block; padding:6px 10px; border-radius:999px; background:#eaf3ff; color:var(--blue-dark); font-size:.7rem; font-weight:800; }.form-heading h2 { margin:12px 0 6px; font-size:1.65rem; }.form-heading p,.field-help { margin:0; color:var(--muted); font-size:.84rem; }
form { padding:10px 34px 30px; }fieldset { margin:0; padding:24px 0; border:0; border-bottom:1px solid var(--line); }legend { display:flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--navy); font-size:1rem; font-weight:800; }.field-grid { display:grid; gap:16px; }.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }label { display:grid; gap:7px; color:#344054; font-size:.78rem; font-weight:700; }input,textarea { width:100%; padding:12px 13px; border:1px solid #d0d5dd; border-radius:9px; outline:0; background:white; color:var(--ink); transition:.15s; }input:focus,textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgb(23 105 210 / 12%); }textarea { resize:vertical; }.field-grid+label,label+.field-grid { margin-top:16px; }
.catalogue-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }.catalogue-heading legend { margin:0; }.field-help { margin:9px 0 16px; }.book-rows { display:grid; gap:12px; }.book-row { position:relative; display:grid; grid-template-columns:30px minmax(0,1fr) 28px; gap:12px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fbfcfe; }.book-row-number { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:var(--navy); color:white; font-size:.76rem; font-weight:800; }.book-fields {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.book-title-field {
  grid-column:span 2;
}

.book-author-field {
  grid-column:span 2;
}.remove-book-button { align-self:start; width:28px; height:28px; padding:0; border:0; border-radius:7px; background:#feeceb; color:#b42318; font-size:1.15rem; cursor:pointer; }.book-row:only-child .remove-book-button { visibility:hidden; }
.primary-button,.secondary-button { border:0; border-radius:9px; padding:11px 17px; font-weight:800; cursor:pointer; }.primary-button { background:var(--blue); color:white; box-shadow:0 7px 16px rgb(23 105 210 / 20%); }.primary-button:hover { background:var(--blue-dark); }.primary-button:disabled { opacity:.55; cursor:wait; }.secondary-button { border:1px solid #cfd8e6; background:white; color:var(--navy); }.agreement { grid-template-columns:auto 1fr; align-items:start; gap:9px; margin-top:22px; line-height:1.5; }.agreement input { width:17px; margin-top:2px; }.form-actions { display:flex; align-items:center; justify-content:flex-end; gap:14px; margin-top:22px; }.form-actions>a { margin-right:auto; color:var(--muted); text-decoration:none; }.form-message { margin-top:18px; padding:12px 14px; border-radius:9px; font-size:.84rem; }.form-message.success { background:#ecfdf3; color:#027a48; }.form-message.error { background:#fef3f2; color:#b42318; }.login-note { margin:22px 0 0; color:var(--muted); font-size:.82rem; text-align:center; }.login-note button { padding:0; border:0; background:none; color:var(--blue); font-weight:800; cursor:pointer; }

.form-step[hidden] {
  display:none;
}

.form-step.active {
  display:block;
  animation:stepFadeIn .22s ease;
}

.catalogue-step {
  min-height:520px;
}

.step-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  padding-top:22px;
}

.step-actions .cancel-link {
  margin-right:auto;
  color:var(--muted);
  text-decoration:none;
}

.book-price {
  border-color:#9fc5f8;
  background:#f7fbff;
}

.book-discount {
  border-color:#fed7aa;
  background:#fffaf4;
}

@keyframes stepFadeIn {
  from {
    opacity:0;
    transform:translateY(6px);
  }

  to {
    opacity:1;
    transform:translateY(0);
  }
}

@media (max-width:850px) 
{ .owner-layout { grid-template-columns:1fr; margin-top:24px; }.owner-intro { position:static; }.steps,.owner-benefit { display:none; }.owner-intro h1 { max-width:650px; }
.owner-intro>p {
  max-width:700px;
}

.book-fields {
  grid-template-columns:1fr 1fr;
}

.book-title-field,
.book-author-field {
  grid-column:span 1;
} 
}
@media (max-width:560px) { .owner-header { padding:10px 16px; }.brand small { display:none; }.back-link { font-size:0; }.back-link::after { content:"← Map"; font-size:.82rem; }.owner-layout { width:min(100% - 24px,1200px); }.form-heading,form { padding-right:18px; padding-left:18px; }.two-columns,.book-fields { grid-template-columns:1fr; }.catalogue-heading { align-items:flex-start; flex-direction:column; }.book-row { grid-template-columns:28px minmax(0,1fr) 26px; }.form-actions { align-items:stretch; flex-direction:column-reverse; }.form-actions>* { width:100%; text-align:center; } 
.step-actions {
  align-items:stretch;
  flex-direction:column-reverse;
}

.step-actions > * {
  width:100%;
  text-align:center;
}

.book-title-field,
.book-author-field {
  grid-column:span 1;
}}
