.parts-hint { margin: 0 0 14px; padding: 12px 16px; background: #fff7e2; border: 1px solid #ead8a5; color: #6b5315; }
.parts-list { overflow: auto; max-height: calc(100vh - 300px); }
.parts-list table { min-width: 1450px; }
.parts-list th { position: sticky; top: 0; z-index: 2; }
.parts-list td { vertical-align: middle; }
.parts-list td:nth-child(2) { min-width: 250px; }
.parts-list td:nth-child(2) small,
.parts-list td:nth-child(3) small { display: block; color: var(--muted); margin-top: 4px; }
.parts-list input,
.parts-list select { width: 120px; padding: 9px; border: 1px solid var(--line); background: #fff; }
.part-photo { width: 72px; height: 52px; display: grid; place-items: center; background: #edf3ef; color: #6d7a73; font-size: 11px; overflow: hidden; }
.part-photo img { width: 100%; height: 100%; object-fit: contain; }
.part-upload { display: inline-block; margin-top: 4px; font-size: 11px; color: var(--green); cursor: pointer; }
.part-upload input { display: none; }
.spec-btn + .spec-btn { margin-left: 6px; }
.sales-tabs { display: flex; gap: 8px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
.sales-tabs button { border: 0; border-bottom: 3px solid transparent; background: transparent; padding: 12px 18px; cursor: pointer; font-weight: 700; }
.sales-tabs button.active { color: var(--green); border-bottom-color: var(--green); }
.review-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.review-head h3 { margin: 0 0 5px; font-size: 22px; }
.review-head p { margin: 0; color: var(--muted); }
.review-form-card,.sales-review-card,.empty-review { background: #fff; border: 1px solid var(--line); margin-bottom: 14px; }
.review-form-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; padding: 16px; }
.review-form-grid label { font-size: 10px; font-weight: 700; }
.review-form-grid .wide { grid-column: span 2; }
.review-form-grid input,.review-form-grid textarea { display: block; width: 100%; margin-top: 5px; border: 1px solid var(--line); padding: 9px; font: inherit; }
.review-form-grid textarea { min-height: 82px; resize: vertical; }
.review-form-actions { padding: 0 16px 16px; text-align: right; }
.sales-review-card { padding: 18px; }
.sales-review-card header { display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.sales-review-card header span { color: var(--green); font-size: 10px; font-weight: 700; }
.sales-review-card header h3 { margin: 5px 0; }
.sales-review-card header small { color: var(--muted); }
.review-summary { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; padding-top: 14px; }
.review-summary p { margin: 0; line-height: 1.55; white-space: pre-wrap; }
.review-summary p b { display: block; font-size: 10px; color: var(--muted); margin-bottom: 3px; }
.review-summary .wide { grid-column: 1/-1; background: #f4f8f5; padding: 12px; }
.empty-review { padding: 40px; text-align: center; color: var(--muted); }
.customs-export-bundle { position: absolute !important; left: 0 !important; top: 0 !important; z-index: 99999 !important; width: 277mm !important; background: #fff !important; visibility: visible !important; }
@media(max-width:1100px){.review-form-grid{grid-template-columns:repeat(2,1fr)}}
@media print {
  body.printing-customs { background: #fff !important; }
  body.printing-customs .sidebar,
  body.printing-customs .topbar,
  body.printing-customs .workspace > section:not(#customsView),
  body.printing-customs #customsView > .library-head,
  body.printing-customs .customs-editor,
  body.printing-customs .customs-tabs { display: none !important; }
  body.printing-customs .app-shell,
  body.printing-customs .workspace,
  body.printing-customs #customsView,
  body.printing-customs .customs-layout,
  body.printing-customs .customs-preview,
  body.printing-customs #customsPapers { display: block !important; margin: 0 !important; padding: 0 !important; width: auto !important; max-height: none !important; overflow: visible !important; background: #fff !important; }
  body.printing-customs [data-customs-paper] { display: block !important; width: 277mm !important; min-height: 190mm !important; margin: 0 !important; padding: 8mm !important; box-shadow: none !important; page-break-after: always; }
  body.printing-customs [data-customs-paper]:last-child { page-break-after: auto; }
  body.printing-customs[data-customs-print="declaration"] [data-customs-paper]:not([data-customs-paper="declaration"]),
  body.printing-customs[data-customs-print="pl"] [data-customs-paper]:not([data-customs-paper="pl"]),
  body.printing-customs[data-customs-print="ci"] [data-customs-paper]:not([data-customs-paper="ci"]) { display: none !important; }
  /* Print page size is controlled centrally in styles.css. */
}

/* Online team workspace */
.auth-locked>.app-shell{filter:blur(5px);pointer-events:none;user-select:none}.auth-locked{overflow:hidden}
#authOverlay{position:fixed;inset:0;z-index:10000;background:linear-gradient(135deg,#0c1711ef,#254d37ef);display:grid;place-items:center;padding:24px}.auth-card{width:min(430px,100%);background:#fff;border-radius:12px;padding:38px;box-shadow:0 24px 70px #0008}.auth-brand{font-family:Impact,"Arial Narrow",sans-serif;font-size:22px;margin-bottom:30px}.auth-brand b{color:#3f7657}.auth-card>span{color:#3f7657;font-size:11px;font-weight:800;letter-spacing:2px}.auth-card h1{font-size:28px;margin:8px 0}.auth-card p{color:#68736d;line-height:1.6}.auth-card form{display:grid;gap:15px;margin-top:25px}.auth-card label{font-size:12px;font-weight:700}.auth-card input{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #d5dcd7;border-radius:5px;font-size:14px}.auth-card button{width:100%;margin-top:5px}.auth-error{padding:10px 12px;background:#fff1ef;color:#a13b2d;border:1px solid #ebc5bf;border-radius:4px;margin-top:12px}.online-status i{box-shadow:0 0 0 4px #51a57025}.account-chip{display:flex;align-items:center;gap:8px;background:#edf4ef;border:1px solid #d3e2d7;border-radius:7px;padding:7px 9px}.account-chip span{font-weight:800}.account-chip b{font-size:10px;background:#3f7657;color:#fff;border-radius:20px;padding:4px 8px}.account-chip select,.account-chip button{height:29px;border:1px solid #cbd8cf;background:white;border-radius:4px;padding:0 9px}.dashboard-hero{position:relative}.dashboard-hero #accountBar{position:absolute;right:0;top:0}.followup-dashboard{background:#fff;border:1px solid #d9dedb;margin-bottom:18px}.followup-dashboard header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #e2e6e3}.followup-dashboard header span{font-size:10px;letter-spacing:1.8px;color:#3f7657;font-weight:800}.followup-dashboard h2{font-size:18px;margin:4px 0 0}.followup-summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e2e6e3}.followup-summary button{border:0;border-right:1px solid #e2e6e3;background:#fafcfb;padding:13px;text-align:left}.followup-summary b{display:block;font-size:24px;color:#173f2b}.followup-summary small{color:#6b746f}.reminder-list>button{width:100%;border:0;border-bottom:1px solid #edf0ee;background:#fff;padding:12px 18px;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.reminder-list span b,.reminder-list span small{display:block}.reminder-list span small{color:#707a74;margin-top:4px}.reminder-list em{font-style:normal;font-weight:800;font-size:12px}.reminder-list em.overdue,.follow-pill.overdue{color:#b6382e}.reminder-list em.today,.follow-pill.today{color:#b36c00}.reminder-list em.soon,.follow-pill.soon{color:#286d8a}.reminder-list p{padding:14px 18px;color:#738079}.follow-pill{display:inline-block;border-radius:20px;background:#edf3ef;padding:4px 9px;font-size:11px;font-weight:700}.follow-pill.paused,.follow-pill.none{color:#77817c}.follow-pill.scheduled{color:#3f7657}.user-list{display:grid;gap:7px;margin-bottom:18px}.user-list>div{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f5f7f5;border:1px solid #e1e5e2}.user-list span b,.user-list span small{display:block}.user-list small{color:#79817d;margin-top:3px}.user-list em{font-style:normal;color:#3f7657}.user-create-form{display:grid;grid-template-columns:1fr 1fr 130px 1fr auto;gap:10px;align-items:end}.user-create-form label{font-size:11px;font-weight:700}.user-create-form input,.user-create-form select{display:block;width:100%;height:39px;margin-top:6px;border:1px solid #d6ddd8;padding:0 9px}.user-create-form button{height:39px}.library-table .follow-pill{white-space:nowrap}
