/* Commerciale lane: customers, sales, service and public intake (shared components live in private.css). */

/* ---------- Shared bits ---------- */
.card .plain-form,.order-form { border:0; padding:0; margin:0; background:none; box-shadow:none; }
.plain-list { list-style:none; margin:0; padding:0; }
.plain-list > li { padding:var(--s2) 0; border-top:1px solid var(--border); overflow-wrap:anywhere; }
.plain-list > li:first-child { border-top:0; }
.pager { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2) var(--s3); margin:0 0 var(--s4); }
.pager p { margin:0 auto 0 0; color:var(--muted); font-size:13px; }
.pager:empty { display:none; }
.form-grid .span-2 { grid-column:span 2; }
.check-field { display:flex; align-items:center; margin:var(--s2) 0; }
.card .card-header h2 { font-size:17px; margin:0; }
.card h4,.activity h4 { margin:0; font-size:15px; }
.section-sub { margin:var(--s4) 0 var(--s2); font-size:15px; }
.amount,.order-total { font-variant-numeric:tabular-nums; }
.order-total { margin:var(--s3) 0 0; font-weight:650; }
.timeline { margin:0; padding-left:var(--s5); }
.timeline li { padding:var(--s1) 0; overflow-wrap:anywhere; }
.soft-details { border-top:1px solid var(--border); padding:var(--s1) 0; }
.soft-details > summary { display:flex; align-items:center; min-height:var(--control-h); cursor:pointer; font-weight:600; }
.field { margin:var(--s2) 0; min-width:0; }
.field > label { margin:0 0 var(--s1); font-weight:600; }
.field > input:not([type=checkbox]):not([type=radio]),.field > select,.field > textarea { max-width:none; margin-top:0; }
.field textarea { min-height:0; height:6.5rem; }
.field small { display:block; margin-top:var(--s1); }
.field .errorlist { margin:var(--s1) 0 0; padding:0; list-style:none; color:var(--error); font-weight:600; }
.field.has-error input,.field.has-error select,.field.has-error textarea { border-color:var(--error); }
textarea { max-width:none; }
.alert > div > p:first-child,.alert > p { margin-top:0; }

/* Tabs: unavailable sections stay visible but inert. */

/* Two-column detail layouts */
.detail-columns { display:grid; grid-template-columns:minmax(0,1fr); gap:0 var(--s4); align-items:start; }
.detail-columns > .card { min-width:0; }
.detail-stack { min-width:0; }
@media (min-width:1100px) { .detail-columns { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* ---------- Customers ---------- */
.customer-new { display:none; border-color:var(--ink); }
.customer-new:target,.customer-new.is-open { display:block; }
.customer-new .card-header a { font-weight:600; }
.customer-search { align-items:flex-end; }
.customer-search .filter-fields label { max-width:none; flex:1 1 280px; font-size:14px; color:var(--ink); }
.customer-search input[type=search] { min-height:48px; font-size:17px; }
@media (pointer:fine) { .customer-search input[type=search] { min-height:var(--control-h); font-size:inherit; } }
.customer-search .filter-actions button { min-height:48px; }
@media (pointer:fine) { .customer-search .filter-actions button { min-height:var(--control-h); } }
#customer-search { scroll-margin-top:var(--s4); }

.child-forms .child-form { padding:var(--s3) 0; border-top:1px solid var(--border); border-radius:0; margin:0; display:grid; gap:var(--s2); justify-items:start; }
.child-forms .child-form:first-child { border-top:0; padding-top:0; }
.child-forms .child-form .form-grid { width:100%; }
.child-forms .child-form.is-new { margin-top:var(--s2); padding:var(--s4); background:var(--surface-2); border:1px dashed var(--field-border); border-radius:var(--radius); }
.child-forms .child-form.is-new + .child-form.is-new { margin-top:var(--s3); }
.child-form .form-grid select,.child-form .form-grid input:not([type=checkbox]) { margin:var(--s2) 0; }

/* Merge comparison */
.merge-comparison { margin-top:var(--s4); }
.compare-table { table-layout:fixed; min-width:560px; }
.compare-table tbody th { width:26%; background:var(--surface-2); color:var(--muted); font-size:13px; font-weight:650; }
.compare-table tbody tr > * { height:auto; padding-block:var(--s3); overflow-wrap:anywhere; }
.compare-table thead th:not(:first-child) { color:var(--ink); }
.compare-table tbody td + td { background:var(--info-bg); }
.merge-picker { margin:var(--s3) 0 0; box-shadow:none; }
#customer-merge fieldset { margin:var(--s3) 0; }

.intake-delivery { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--s6); align-items:center; }
.intake-delivery img { width:220px; max-width:100%; height:auto; border:1px solid var(--border); border-radius:var(--radius); background:#fff; }
.delivery-link { overflow-wrap:anywhere; font-weight:600; }
@media (max-width:767px) { .intake-delivery { grid-template-columns:minmax(0,1fr); justify-items:center; } }
.data-table form { margin:0; }

/* ---------- Public intake (centred card, no shell) ---------- */
.auth-card.is-wide { max-width:42rem; }
.auth-card .intake-group { margin:var(--s4) 0 0; padding:var(--s3) var(--s4) var(--s2); border:1px solid var(--border); border-radius:var(--radius); text-align:left; }
.auth-card .intake-group > h2 { margin:0 0 var(--s2); font-size:17px; }
.auth-card .intake-group legend { font-weight:700; }
.auth-card .intake-group .form-grid { gap:0 var(--s4); }
.auth-card #intake-client-status { min-height:0; margin:0; }
.auth-card #intake-client-status:not(:empty) { margin:var(--s3) 0; }
.auth-card .page-heading { text-align:center; }
.auth-card .button { width:100%; }
.auth-card form[data-public-staff-logout] button { width:100%; }

/* ---------- Sales ---------- */
.order-form .card { margin-bottom:var(--s4); }
.order-lines { display:grid; gap:var(--s3); }
.order-line { margin:0; padding:var(--s3) var(--s4); background:var(--surface-2); }
.order-line legend { font-size:13px; color:var(--muted); }
.order-line { display:grid; grid-template-columns:minmax(0,1fr); gap:0 var(--s3); min-width:0; }
.order-line label { margin:var(--s1) 0 var(--s2); min-width:0; font-size:13px; font-weight:600; color:var(--muted); }
.order-line input:not([type=checkbox]),.order-line select { max-width:none; font-weight:400; color:var(--ink); }
@media (min-width:768px) {
  .order-line { grid-template-columns:minmax(0,2fr) minmax(0,2fr) 90px 130px; align-items:end; padding-block:var(--s2); }
  .order-line .line-qty input,.order-line .line-price input { text-align:right; font-variant-numeric:tabular-nums; }
}
.order-line-card .card-header { align-items:flex-start; }
.order-line-card .card-header h3 { font-size:17px; }
.line-figures { margin:0; color:var(--muted); font-variant-numeric:tabular-nums; }
.activity { padding:var(--s4) 0 var(--s2); border-top:1px solid var(--border); }
.activity:first-of-type { margin-top:var(--s3); }
.activity-head { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2); margin-bottom:var(--s2); }
.activity-head h4 { margin-right:var(--s2); }
.activity-meta { margin:var(--s2) 0; color:var(--muted); font-size:14px; overflow-wrap:anywhere; }
.activity-links { display:flex; flex-wrap:wrap; gap:var(--s2); margin:var(--s2) 0; }
.activity-links:empty { display:none; }
.activity .alert { margin:var(--s2) 0; }

/* In-page action forms: fields in a responsive row, button last. */
.action-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:0 var(--s4); align-items:end; margin:var(--s3) 0; padding:var(--s3) var(--s4); background:var(--surface-2); border:1px solid var(--border); border-radius:var(--radius); box-shadow:none; }
.action-form > label { margin:var(--s1) 0 var(--s2); }
.action-form > label:has(textarea) { grid-column:1 / -1; }
.action-form > button { justify-self:start; align-self:end; margin:var(--s1) 0 var(--s2); }
.action-form > .alert,.action-form > [role=alert] { grid-column:1 / -1; }
.action-form input:not([type=checkbox]):not([type=radio]),.action-form select,.action-form textarea { max-width:none; }
.card .action-form { padding:var(--s3) var(--s4); margin:var(--s3) 0; border:1px solid var(--border); background:var(--surface-2); }
.soft-details .action-form { margin-top:var(--s2); }

.activity-editor .activity-card { margin:0 0 var(--s4); padding:var(--s4); background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow); position:relative; }
.activity-editor .activity-card legend { font-size:16px; padding:0 var(--s2); }
.activity-editor [data-remove-activity] { float:right; margin:0 0 var(--s2) var(--s3); }
.activity-group { margin:var(--s3) 0 0; clear:both; }
.activity-group > h4 { margin:0 0 var(--s1); color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.06em; }
.activity-editor .alert { margin-bottom:var(--s4); }

.return-receipt-form .django-form p { margin:var(--s2) 0; }
.return-receipt-form .django-form label { display:block; font-weight:600; }
.return-receipt-form .django-form ul.errorlist { margin:var(--s1) 0 0; padding:0; list-style:none; color:var(--error); font-weight:600; }
.candidate-lines li.is-selected { background:var(--highlight); padding-inline:var(--s3); border-radius:var(--radius); }

/* ---------- Counter (tablet) refinements ---------- */
@media (min-width:768px) and (max-width:1199px) {
  .detail-columns { grid-template-columns:minmax(0,1fr); }
  .form-actions { margin-inline:calc(var(--s2) * -1); padding-inline:var(--s2); }
  .data-table th,.data-table td { padding-block:var(--s3); }
}
@media (max-width:767px) {
  .data-table:not(.is-wide) td:empty { display:none; }
  .order-line { padding:var(--s3); }
  .action-form { grid-template-columns:minmax(0,1fr); }
  .compare-table tbody th { width:30%; }
  .child-forms .child-form .form-grid.cols-3 { grid-template-columns:minmax(0,1fr); }
  .form-grid .span-2 { grid-column:auto; }
  .auth-card.is-wide { max-width:none; }
  .page-header-actions .button:not(.sticky-action) { flex:1 1 auto; }
  .customer-new:target,.customer-new.is-open { margin-bottom:var(--s5); }
}
