#foreign-contracts-root { color:#20334b; }
.fc-shell { display:grid; gap:14px; }
.fc-topline { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.fc-topline p { margin:0; color:#66798d; font-size:13px; }
.fc-topline strong { color:#805415; font-weight:700; }
.fc-info { display:inline-grid; place-items:center; width:19px; height:19px; padding:0; border:1px solid #9bb4c9; border-radius:50%; background:#f5f9fb; color:#42627e; font:700 12px/1 inherit; cursor:help; vertical-align:middle; }
.fc-info:focus-visible { outline:2px solid #007d75; outline-offset:2px; }
.fc-button { min-height:38px; padding:7px 12px; border:1px solid #bdcbd9; border-radius:8px; font:600 13px/1.25 inherit; cursor:pointer; white-space:normal; }
.fc-primary { border-color:#087d76; background:#087d76; color:#fff; }
.fc-primary:hover { background:#046962; }
.fc-secondary { background:#fff; color:#244059; }
.fc-secondary:hover { border-color:#087d76; color:#046962; }
.fc-button:focus-visible, .fc-filters button:focus-visible, .fc-tariff-chip:focus-visible, .fc-close:focus-visible, .fc-row-remove:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fc-toolbar { display:flex; flex-wrap:wrap; gap:9px; align-items:center; padding:11px; border:1px solid #d9e3ec; border-radius:11px; background:#fff; }
.fc-search { flex:1 1 260px; }
.fc-search input { width:100%; min-height:42px; padding:9px 11px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#20334b; font:inherit; }
.fc-sort { display:flex; align-items:center; gap:7px; color:#60758b; font-size:12px; font-weight:600; }
.fc-sort select { min-height:42px; padding:7px 8px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#20334b; font:inherit; }
.fc-sort-dir { min-width:42px; font-size:18px; }
.fc-print { min-height:44px; }
.fc-registry-print { display:none; }
.fc-filters { display:flex; flex-wrap:wrap; gap:5px; }
.fc-filters button { min-height:44px; padding:8px 11px; border:1px solid transparent; border-radius:7px; background:transparent; color:#435873; font:600 13px/1.2 inherit; cursor:pointer; }
.fc-filters button span { margin-left:3px; font-size:11px; opacity:.8; }
.fc-filters button[aria-pressed="true"] { background:#087d76; color:#fff; }
.fc-invoice-rule { flex:1 1 100%; color:#60758b; font-size:11px; line-height:1.35; }
.fc-invoice-links { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin-top:4px; }
.fc-invoice-link { display:inline-flex; align-items:center; min-height:44px; padding:7px 10px; border:1px solid #b9d7d3; border-radius:7px; background:#edf7f5; color:#0c625b; font-size:12px; font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.fc-invoice-link:hover { border-color:#087d76; background:#e1f2ee; }
.fc-invoice-link:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fc-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; align-items:start; }
.fc-layout:has(.fc-editor) { grid-template-columns:minmax(0,1fr) minmax(340px,450px); }
.fc-list { display:grid; gap:12px; min-width:0; }
.fc-tariffs,.fc-kit,.fc-editor { min-width:0; border:1px solid #d7e1ea; border-radius:11px; background:#fff; box-shadow:0 2px 8px rgba(22,42,60,.03); }
.fc-tariffs { padding:12px 14px; }
.fc-tariffs-title { display:flex; justify-content:space-between; align-items:center; gap:9px; }
.fc-tariffs h2 { margin:0; font-size:15px; }
.fc-tariff-chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; }
.fc-tariff-chip { display:flex; align-items:center; gap:7px; min-height:36px; padding:6px 10px; border:1px solid #c7dae3; border-radius:7px; background:#f1f8f8; color:#176966; font:600 12px/1.2 inherit; cursor:pointer; }
.fc-tariff-chip span { color:#677f91; font-weight:500; }
.fc-registry-count { margin:0; padding:0 2px; color:#576d80; font-size:12px; font-weight:700; }
.fc-kit { overflow:hidden; }
.fc-kit-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 14px; background:#edf5f8; }
.fc-kit-errors { border-color:#ebc2bb; }
.fc-kit-errors .fc-kit-head { background:#fff0ed; }
.fc-kit-toggle { display:grid; grid-template-columns:18px minmax(0,1fr); column-gap:6px; flex:1; min-width:0; min-height:44px; padding:2px; border:0; background:transparent; color:#20334b; text-align:left; cursor:pointer; }
.fc-kit-toggle strong { grid-column:2; overflow-wrap:anywhere; font-size:14px; }
.fc-kit-toggle small { grid-column:2; color:#637b8e; font-size:11px; }
.fc-chevron { grid-row:1 / span 2; align-self:center; color:#087d76; font-size:20px; }
.fc-kit-terms { display:flex; flex-wrap:wrap; gap:4px 14px; padding:6px 14px; border-top:1px solid #dce7ec; color:#526b7f; font-size:11px; }
.fc-kit-toggle:focus-visible { outline:2px solid #087d76; outline-offset:2px; border-radius:5px; }
.fc-kit-actions { display:flex; align-items:center; gap:8px; }
.fc-kit-head span { flex:none; color:#667c8e; font-size:11px; }
.fc-contract { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; padding:11px 14px; border-bottom:1px solid #e4ebf2; }
.fc-contract-table-wrap { display:none; max-width:100%; overflow-x:auto; }
@media(min-width:901px) {
  .fc-layout:not(:has(.fc-editor)) .fc-contract-table-wrap { display:block; }
  .fc-layout:not(:has(.fc-editor)) .fc-contract { display:none; }
}
.fc-contract-table { width:100%; min-width:940px; border-collapse:collapse; font-size:12px; font-variant-numeric:tabular-nums; }
@page foreign-contracts-registry { size:A4 landscape; margin:12mm; }
@media print {
  body.print-foreign-contracts .sidebar,body.print-foreign-contracts .topbar,
  body.print-foreign-contracts .page:not(#page-foreign-contracts),
  body.print-foreign-contracts #page-foreign-contracts > :not(#foreign-contracts-root),
  body.print-foreign-contracts .fc-shell > :not(.fc-registry-print) { display:none !important; }
  body.print-foreign-contracts .app-shell,body.print-foreign-contracts .main,
  body.print-foreign-contracts #page-foreign-contracts,body.print-foreign-contracts #foreign-contracts-root,
  body.print-foreign-contracts .fc-shell,body.print-foreign-contracts .fc-registry-print { display:block !important; width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; background:#fff !important; }
  body.print-foreign-contracts .fc-registry-print { page:foreign-contracts-registry; color:#111; font:8pt/1.25 Arial,sans-serif; }
  body.print-foreign-contracts .fc-registry-print header { margin-bottom:5mm; padding-bottom:3mm; border-bottom:1px solid #777; }
  body.print-foreign-contracts .fc-registry-print h1 { margin:0 0 2mm; font-size:16pt; }
  body.print-foreign-contracts .fc-registry-print header p,body.print-foreign-contracts .fc-registry-print header small { display:block; margin:0; }
  body.print-foreign-contracts .fc-registry-print-group h2 { margin:5mm 0 2mm; font-size:11pt; break-after:avoid-page; }
  body.print-foreign-contracts .fc-registry-print-group h2 span { font-weight:400; }
  body.print-foreign-contracts .fc-registry-print table { width:100%; border-collapse:collapse; table-layout:fixed; }
  body.print-foreign-contracts .fc-registry-print th,body.print-foreign-contracts .fc-registry-print td { padding:1.5mm 1mm; border-bottom:1px solid #bbb; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
  body.print-foreign-contracts .fc-registry-print td small { display:block; color:#555; font-size:6.5pt; }
  body.print-foreign-contracts .fc-registry-print thead { display:table-header-group; }
  body.print-foreign-contracts .fc-registry-print tr { break-inside:avoid-page; }
}
.fc-contract-table th,.fc-contract-table td { padding:8px 10px; border-bottom:1px solid #e1e8ee; text-align:left; vertical-align:middle; }
.fc-contract-table thead th { background:#f5f8fa; color:#657a8e; font-size:11px; font-weight:700; white-space:nowrap; }
.fc-contract-table tbody tr:nth-child(even) { background:#f8fafc; }
.fc-contract-table tbody tr[data-fc-package] { cursor:pointer; }
.fc-contract-table tbody tr[data-fc-package]:hover { background:#eaf5f3; }
.fc-contract-table tbody tr[data-fc-package]:focus-visible { outline:2px solid #087d76; outline-offset:-2px; }
.fc-contract-table tbody tr:last-child th,.fc-contract-table tbody tr:last-child td { border-bottom:0; }
.fc-contract-table tbody th { min-width:175px; font-weight:700; }
.fc-contract-table tbody th a { color:#1e3c56; text-decoration:none; }
.fc-contract-table tbody th a:hover { color:#087d76; text-decoration:underline; }
.fc-contract-table tbody th a:focus-visible { outline:2px solid #087d76; outline-offset:2px; border-radius:3px; }
.fc-contract-table tbody th small { display:block; margin-top:2px; color:#718498; font-size:10px; font-weight:400; overflow-wrap:anywhere; }
.fc-contract-table-price { white-space:nowrap; font-weight:700; }
.fc-contract:last-child { border-bottom:0; }
.fc-contract-main { display:grid; gap:2px; min-width:0; }
.fc-contract-main strong { font-size:14px; }
.fc-contract-main small,.fc-contract-main span { color:#6d8094; font-size:12px; overflow-wrap:anywhere; }
.fc-contract-facts { display:flex; flex-wrap:wrap; gap:3px 12px; }
.fc-contract-facts span { white-space:normal; }
.fc-contract-end a.fc-button { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; text-decoration:none; }
.fc-missing { color:#a1372d !important; font-weight:700; }
.fc-contract-end { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:7px; text-align:right; }
.fc-contract-end strong { font-size:13px; font-variant-numeric:tabular-nums; }
.fc-contract-price { display:grid; gap:2px; min-width:0; }
.fc-contract-price small { color:#60758b; font-size:11px; font-weight:700; }
.fc-editor { position:sticky; top:12px; padding:15px; max-height:calc(100vh - 28px); overflow:auto; }
.fc-editor-head { display:flex; align-items:start; justify-content:space-between; gap:8px; padding-bottom:11px; border-bottom:1px solid #e0e7ed; }
.fc-editor-head p { margin:0 0 3px; color:#6d8094; font-size:12px; }
.fc-editor-head h2 { margin:0; font-size:20px; }
.fc-editor-link { margin:8px 0 0; color:#667c8e; font-size:11px; overflow-wrap:anywhere; }
.fc-share-note { margin:0; color:#667c8e; font-size:11px; }
.fc-close { width:34px; height:34px; border:0; border-radius:7px; background:#f1f5f8; color:#41566d; font-size:24px; cursor:pointer; }
.fc-editor form { display:grid; gap:10px; }
.fc-editor h3 { margin:14px 0 1px; font-size:14px; }
.fc-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.fc-field { display:grid; gap:4px; min-width:0; color:#60758b; font-size:12px; font-weight:600; }
.fc-field input,.fc-field select,.fc-tariff-row input { width:100%; min-width:0; min-height:38px; padding:7px 8px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#20334b; font:400 13px/1.2 inherit; }
.fc-start-fields input[readonly] { background:#f4f7fa; color:#526b7f; }
.fc-start-fields input[type=week] { min-width:0; }
.fc-field input:focus,.fc-field select:focus,.fc-tariff-row input:focus,.fc-search input:focus { outline:2px solid #78b8b2; outline-offset:1px; border-color:#087d76; }
.fc-preview { display:grid; margin-top:3px; padding:4px 10px; border:1px solid #d8e5ed; border-radius:9px; background:#f4f8fb; }
.fc-preview>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; padding:8px 0; border-bottom:1px solid #dce6ee; font-size:12px; }
.fc-preview>div:last-of-type { border-bottom:0; }
.fc-preview strong { color:#20334b; font-size:13px; font-variant-numeric:tabular-nums; }
.fc-preview .fc-button { justify-self:end; margin:5px 0 7px; }
.fc-form-actions { display:flex; justify-content:flex-end; padding-top:10px; border-top:1px solid #e0e7ed; }
.fc-error,.fc-notice,.fc-empty,.fc-hint { margin:0; padding:12px; border-radius:8px; background:#f4f7fa; color:#60758b; font-size:13px; }
.fc-error { background:#fff0ed; color:#9b3728; }
.fc-notice { background:#e8f5ee; color:#236a4a; }
.fc-tariff-grid { display:grid; gap:5px; overflow-x:auto; }
.fc-matrix-save-state { margin:0 auto 0 0; color:#60758b; font-size:12px; font-weight:700; }
.fc-matrix-scroll { min-width:0; max-width:100%; }
.fc-matrix-scroll:focus-visible,.fc-matrix-scroll-head select:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fc-matrix-scroll-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 0; color:#455f72; font-size:12px; }
.fc-matrix-scroll-head label { display:flex; align-items:center; gap:6px; min-width:0; font-weight:700; }
.fc-matrix-scroll-head select { min-width:0; min-height:44px; padding:7px 9px; border:1px solid #aabfca; border-radius:8px; background:#fff; color:#20334b; font:inherit; font-size:16px; }
.fc-matrix-more{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:8px 11px;border:0;border-top:1px solid #cbd8e4;border-bottom:1px solid #cbd8e4;background:#edf5f5;color:#176966;font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.fc-matrix-more:focus-visible{outline:2px solid #087d76;outline-offset:-2px}.fc-matrix-more[aria-expanded=true]{background:#dff0ed}.fc-matrix-higher{border-top:0}
.fc-tariff-head,.fc-tariff-row { display:grid; grid-template-columns:repeat(3,minmax(64px,1fr)) minmax(90px,1.2fr) 30px; gap:4px; align-items:end; }
.fc-tariff-head { color:#6d8094; font-size:10px; }
.fc-tariff-row label span { display:none; }
.fc-row-remove { width:30px; height:38px; border:0; border-radius:6px; background:#fbeceb; color:#a13d31; font-size:19px; cursor:pointer; }
@media(max-width:950px) { .fc-layout:has(.fc-editor) { grid-template-columns:minmax(0,1fr); } .fc-editor { position:static; max-height:none; } }
@media(max-width:560px) { .fc-toolbar,.fc-topline { align-items:stretch; } .fc-topline { flex-direction:column; } .fc-contract { align-items:stretch; flex-direction:column; } .fc-contract-end { justify-content:space-between; text-align:left; } .fc-contract-end .fc-button { margin-left:auto; } .fc-fields { grid-template-columns:minmax(0,1fr); } .fc-parameters { grid-template-columns:repeat(3,minmax(0,1fr)); } .fc-parameters .fc-field { font-size:11px; } .fc-tariff-head { display:none; } .fc-tariff-row { grid-template-columns:repeat(2,minmax(0,1fr)) 30px; padding:8px; border:1px solid #dce6ee; border-radius:8px; } .fc-tariff-row label span { display:block; color:#60758b; font-size:10px; } .fc-tariff-row label:nth-child(4) { grid-column:2; } .fc-row-remove { grid-column:3; grid-row:1; } }
@media(max-width:560px) { .fc-contract { gap:8px; padding:10px 11px; } .fc-contract-main { gap:3px; } .fc-contract-main strong { font-size:13px; } .fc-contract-end { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; align-items:center; } .fc-contract-end .fc-button { grid-column:1/-1; width:100%; min-height:44px; margin:0; } .fc-filters { width:100%; } .fc-filters button { flex:1 1 auto; min-height:44px; padding:7px 5px; font-size:12px; } }
@media(max-width:560px) { .fc-contract-price { grid-column:1/-1; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; padding:7px 0; border-top:1px solid #e4ebf2; text-align:left; } .fc-contract-price strong { font-size:15px; overflow-wrap:anywhere; text-align:right; } .fc-contract-end > .fc-button { grid-column:1/-1; min-height:44px; } .fc-quick-field span:first-child { min-width:0; overflow-wrap:anywhere; } }
@media(max-width:560px) { .fc-contract-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 7px; } .fc-contract-facts span { font-size:11px; } }
@media(max-width:560px) { .fc-kit-head { padding:8px 11px; align-items:flex-start; } .fc-kit-actions { flex-direction:column; align-items:flex-end; gap:4px; } .fc-kit-actions .fc-button { min-height:44px; } .fc-kit-terms { padding:6px 11px; } }
@media(max-width:560px) { .fc-sort { flex:1 1 auto; } .fc-sort select { flex:1; min-width:0; } }
@media(max-width:560px) { .fc-filters { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .fc-filters button { min-width:0; } }
@media(max-width:420px) { .fc-editor { padding:12px; } .fc-close { width:44px; height:44px; } .fc-editor .fc-button,.fc-tariff-chip { min-height:44px; } .fc-parameters { grid-template-columns:repeat(2,minmax(0,1fr)); } .fc-parameters .fc-field:last-child { grid-column:1/-1; } .fc-row-remove { width:44px; min-height:44px; } }
@media(max-width:420px) { .fc-search input,.fc-sort select,.fc-sort-dir,.fc-topline .fc-button { min-height:44px; } .fc-sort-dir { min-width:44px; } }
@media(max-width:560px) {
  .fc-editor:has(.fc-matrix-base-grid) { overflow:visible; }
  .fc-matrix-extras,.fc-matrix-base-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .fc-matrix-base-grid { overflow:visible; }
  .fc-matrix-scroll { max-height:min(50vh,440px); overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border:1px solid #cbd8e4; border-radius:9px; background:#fff; }
  .fc-matrix-scroll-head { position:sticky; top:0; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,52%); min-height:54px; padding:7px 9px; border-bottom:1px solid #cbd8e4; background:#f1f7f8; }
  .fc-matrix-scroll-head label { display:grid; gap:2px; font-size:11px; }
  .fc-matrix-scroll-head select { width:100%; }
  .fc-matrix-base-grid { padding:8px; }
  .fc-matrix-base-row { padding:8px; border:1px solid #dce6ee; border-radius:8px; background:#f8fafb; }
  .fc-matrix-base-row span { color:#455f72; font-weight:700; }
  .fc-matrix-base-row input,.fc-matrix-extras input { min-height:44px; font-size:16px; }
  .fc-matrix-actions { position:sticky; bottom:0; z-index:3; display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 -15px -15px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid #cbd8e4; border-radius:0 0 11px 11px; background:#fff; box-shadow:0 -5px 15px rgba(22,42,60,.08); }
  .fc-matrix-actions .fc-button { min-height:44px; }
}
@media(max-width:420px) { .fc-matrix-actions { margin:0 -12px -12px; } }
@media(max-width:420px) {
  .fc-editor:has(#fc-contract-form) { overflow:visible; }
  #fc-contract-form { gap:7px; }
  #fc-contract-form h3 { margin:9px 0 1px; }
  #fc-contract-form .fc-identity-fields,#fc-contract-form .fc-pricing-fields,#fc-contract-form .fc-parameters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  #fc-contract-form .fc-identity-fields .fc-field:last-child,#fc-contract-form .fc-pricing-fields .fc-field:first-child,#fc-contract-form .fc-pricing-fields .fc-field:last-child,#fc-contract-form .fc-parameters .fc-field:nth-child(4) { grid-column:1/-1; }
  #fc-contract-form .fc-parameters .fc-field:last-child { grid-column:auto; }
  #fc-contract-form .fc-field input:not([type=checkbox]),#fc-contract-form .fc-field select { min-height:44px; font-size:16px; }
  #fc-contract-form .fc-parameters .fc-field:has(input[type=checkbox]) { display:flex; align-items:center; justify-content:space-between; gap:7px; min-height:44px; padding:7px 9px; border:1px solid #dce6ee; border-radius:7px; background:#f8fafb; }
  #fc-contract-form .fc-parameters input[type=checkbox] { width:22px; height:22px; min-height:22px; flex:none; accent-color:#087d76; }
  #fc-contract-form .fc-preview>div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; min-height:44px; }
  #fc-contract-form .fc-info { width:44px; height:44px; margin-left:4px; }
  #fc-contract-form .fc-preview strong { text-align:right; overflow-wrap:anywhere; }
  #fc-contract-form .fc-preview .fc-button { justify-self:stretch; }
  #fc-contract-form .fc-form-actions { position:sticky; bottom:0; z-index:2; margin:0 -12px -12px; padding:9px 12px calc(9px + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -5px 15px rgba(22,42,60,.08); }
}

.fc-tariff-reference{min-width:0;margin-top:8px;border:1px solid #d8e5ed;border-radius:9px;background:#fff}.fc-tariff-reference summary{min-height:44px;padding:11px;color:#176966;font-size:13px;font-weight:700;cursor:pointer}.fc-tariff-reference:focus-within{outline:2px solid #087d76;outline-offset:1px}.fc-tariff-reference>p,.fc-tariff-reference>a{display:block;margin:6px 11px;font-size:12px}.fc-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:230px;overflow:auto;margin:8px 11px;padding-right:4px}.fc-reference-grid>div{display:flex;justify-content:space-between;gap:6px;min-width:0;padding:6px;border:1px solid #e2e9ee;border-radius:6px;font-size:12px}.fc-reference-grid dt{color:#526b7f}.fc-reference-grid dd{margin:0;color:#20334b;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:560px){.fc-reference-grid{grid-template-columns:minmax(0,1fr)}.fc-tariff-reference>a{min-height:44px;padding-top:12px}}

.fc-quick-field{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:5px 9px;border:1px solid #d8e5ed;border-radius:8px;background:#fff;color:#31566a;font:inherit;font-size:12px;text-align:left;cursor:pointer}.fc-quick-field span:first-child{color:inherit}.fc-quick-field:focus-visible{outline:2px solid #087d76;outline-offset:2px}.fc-quick-field:hover{border-color:#087d76;background:#f2faf9}@media(max-width:560px){.fc-contract-facts .fc-quick-field{width:100%;min-width:0;font-size:11px}}

/* Customer contract projects and their independent lift records. */
#foreign-customer-projects-root { color:#20334b; }
.fc-customer-shell { max-width:100%; }
.fc-customer-top,.fc-customer-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fc-customer-top h2,.fc-customer-heading h2 { margin:0; font-size:20px; }
.fc-customer-shell > .fc-search { display:block; }
.fc-customer-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px; }
.fc-customer-card { display:grid; gap:5px; min-height:108px; padding:16px; border:1px solid #d7e1ea; border-radius:11px; background:#fff; color:#20334b; text-decoration:none; box-shadow:0 2px 8px rgba(22,42,60,.03); }
.fc-customer-card:hover,.fc-customer-card:focus-visible { border-color:#087d76; outline:2px solid #87c9c4; outline-offset:1px; }
.fc-customer-card strong { font-size:16px; overflow-wrap:anywhere; }
.fc-customer-card span { color:#526b7f; font-size:13px; overflow-wrap:anywhere; }
.fc-customer-card small { color:#657c8e; font-size:12px; }
.fc-breadcrumb { display:flex; align-items:center; gap:8px; min-height:36px; font-size:13px; }
.fc-breadcrumb a { color:#087d76; font-weight:700; }
.fc-breadcrumb strong { overflow-wrap:anywhere; }
.fc-customer-heading { padding:16px; border:1px solid #d7e1ea; border-radius:11px; background:#fff; }
.fc-customer-heading p { margin:5px 0 0; color:#60758b; font-size:13px; }
.fc-customer-actions { display:flex; flex-wrap:wrap; gap:8px; }
.fc-customer-table { display:block; border:1px solid #d7e1ea; border-radius:11px; background:#fff; }
.fc-customer-table .fc-contract-table { min-width:850px; }
.fc-lift-open { min-height:38px; padding:0; border:0; background:transparent; color:#087d76; font:700 13px/1.2 inherit; cursor:pointer; text-align:left; }
.fc-lift-open:hover { text-decoration:underline; }
.fc-lift-open:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fc-customer-form { position:static; width:min(100%,760px); max-height:none; box-sizing:border-box; }
.fc-customer-form textarea { width:100%; min-height:130px; padding:9px; border:1px solid #cbd8e4; border-radius:7px; color:#20334b; font:inherit; resize:vertical; }
.fc-customer-form textarea:focus-visible { outline:2px solid #087d76; outline-offset:1px; }
.fc-customer-form .fc-field select { width:100%; min-height:42px; padding:7px 8px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#20334b; font:inherit; }
.fc-customer-form .fc-fields .fc-field:has([name=address]),.fc-customer-form .fc-fields .fc-field:has([name=tariffId]) { grid-column:1/-1; }
.fc-customer-form .fc-preview { margin-top:8px; }
@media(max-width:700px) { .fc-customer-heading { align-items:flex-start; flex-direction:column; } .fc-customer-actions { width:100%; } .fc-customer-actions .fc-button { flex:1 1 auto; min-height:44px; } }
@media(max-width:560px) { .fc-customer-top { align-items:stretch; flex-direction:column; } .fc-customer-top .fc-button { min-height:44px; } .fc-customer-grid { grid-template-columns:1fr; } .fc-customer-card { min-height:92px; } .fc-customer-form { width:100%; } .fc-customer-form .fc-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .fc-customer-form .fc-identity-fields .fc-field:last-child,.fc-customer-form .fc-pricing-fields .fc-field:first-child,.fc-customer-form .fc-start-fields .fc-field:last-child { grid-column:1/-1; } .fc-customer-form .fc-field input:not([type=checkbox]),.fc-customer-form .fc-field select { min-height:44px; font-size:16px; } .fc-customer-form .fc-parameters .fc-field:has(input[type=checkbox]) { display:flex; align-items:center; justify-content:space-between; padding:8px; border:1px solid #dce6ee; border-radius:7px; } .fc-customer-form .fc-parameters input[type=checkbox] { width:22px; height:22px; min-height:22px; accent-color:#087d76; } }

/* A project and its lifts share one compact, expandable registry table. */
.fc-project-table-wrap { container-type:inline-size; max-width:100%; overflow-x:auto; border:1px solid #d7e1ea; border-radius:10px; background:#fff; overscroll-behavior-inline:contain; }
.fc-project-table-wrap:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fc-project-table { width:100%; min-width:900px; border-collapse:collapse; font-size:12px; font-variant-numeric:tabular-nums; }
.fc-project-table th,.fc-project-table td { padding:7px 9px; border-bottom:1px solid #e4ebf1; text-align:left; vertical-align:middle; }
.fc-project-table thead th { background:#f3f7f9; color:#536b7e; font-size:11px; font-weight:700; white-space:nowrap; }
.fc-project-table .fc-project-group th { padding:0; background:#eaf3f5; }
.fc-project-table .fc-project-group:not(:first-child) th { border-top:1px solid #bfced9; }
.fc-project-summary { position:sticky; left:0; box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:12px; width:min(100%,100cqw); min-width:0; padding:5px 9px; }
.fc-project-toggle { display:flex; align-items:center; gap:9px; flex:1 1 auto; min-width:0; min-height:40px; padding:3px 5px; border:0; border-radius:6px; background:transparent; color:#20334b; font:inherit; text-align:left; cursor:pointer; }
.fc-project-toggle:hover { color:#086e68; background:#deedef; }
.fc-project-toggle:focus-visible,.fc-project-inline-actions .fc-button:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fc-project-details { display:grid; gap:2px; min-width:0; }
.fc-project-details strong { color:#20334b; }
.fc-project-details small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fc-project-counts { flex:none; }
.fc-project-toggle strong { font-size:13px; overflow-wrap:anywhere; }
.fc-project-toggle small,.fc-project-toggle span { color:#526b7f; font-size:11px; font-weight:500; }
.fc-project-toggle [aria-hidden] { flex:none; color:#087d76; }
.fc-project-inline-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; flex:none; }
.fc-project-inline-actions .fc-button { min-height:34px; padding:5px 9px; font-size:11px; }
.fc-project-table .fc-lift-row:nth-child(even) { background:#fbfcfd; }
.fc-project-table .fc-lift-row:hover { background:#f1f8f7; }
.fc-project-table .fc-lift-row th { padding-left:24px; font-weight:700; }
.fc-project-table .fc-lift-row th small { display:block; margin-top:2px; color:#687d8d; font-size:10px; font-weight:400; }
.fc-project-table .fc-lift-row td { white-space:nowrap; }
.fc-project-table .fc-lift-row td:last-child { font-weight:700; }
.fc-project-table .fc-empty { border:0; border-radius:0; background:transparent; }

/* Keep the lift editor dense while preserving clear labels and touch controls. */
.fc-customer-form:has(#fc-project-lift-form) { width:min(100%,800px); }
#fc-project-lift-form { gap:7px; }
#fc-project-lift-form h3 { margin:8px 0 0; }
#fc-project-lift-form .fc-fields { gap:7px; }
#fc-project-lift-form .fc-field { gap:3px; }
#fc-project-lift-form .fc-field input:not([type=checkbox]),#fc-project-lift-form .fc-field select { min-height:38px; }
#fc-project-lift-form .fc-identity-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
#fc-project-lift-form .fc-start-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
#fc-project-lift-form .fc-parameters { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; }
#fc-project-lift-form .fc-parameters .fc-field:has(input[type=checkbox]) { display:flex; align-items:center; justify-content:space-between; gap:7px; min-height:38px; padding:5px 8px; border:1px solid #dce6ee; border-radius:7px; background:#f8fafb; color:#455f72; }
#fc-project-lift-form .fc-parameters input[type=checkbox] { width:18px; height:18px; min-height:18px; margin:0; flex:none; accent-color:#087d76; }
#fc-project-lift-form .fc-pricing-fields { grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)); }
#fc-project-lift-form .fc-pricing-fields .fc-field:has([name=tariffId]) { grid-column:auto; }
#fc-project-lift-form .fc-share-note { margin:0; }
#fc-project-lift-form .fc-preview { margin-top:2px; }
#fc-project-lift-form .fc-preview>div { padding:6px 0; }
.fc-customer-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.fc-choice-group { display:grid; align-content:start; gap:5px; min-width:0; }
.fc-choice-label { color:#60758b; font-size:12px; font-weight:600; }
.fc-choice-options { display:flex; flex-wrap:wrap; gap:4px; }
.fc-choice-option { min-height:38px; padding:6px 10px; border:1px solid #c9d9e2; border-radius:7px; background:#fff; color:#31566a; font-family:inherit; font-size:12px; font-weight:600; line-height:1.2; cursor:pointer; }
.fc-choice-option[aria-pressed="true"] { border-color:#087d76; background:#e5f4f1; color:#075d57; }
.fc-choice-option:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fc-choice-custom { display:flex; align-items:center; gap:5px; color:#60758b; }
.fc-choice-custom input { width:74px !important; min-height:38px; font-variant-numeric:tabular-nums; }
.fc-contact-picker { min-width:0; }
.fc-contact-picker input { width:100%; min-width:0; min-height:38px; padding:7px 8px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#20334b; font:inherit; }
.fc-contact-picker input:focus-visible { outline:2px solid #087d76; outline-offset:1px; }
.fc-contact-inline-edit { margin:0; font-size:12px; }
.fc-contact-inline-edit summary { display:inline-flex; align-items:center; min-height:38px; color:#087d76; font-weight:700; cursor:pointer; }
.fc-contact-inline-edit summary:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fc-matrix-price-row { display:flex !important; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 10px; }
.fc-matrix-price-row strong { margin-left:auto; }
.fc-matrix-price-row .fc-button { min-height:34px; padding:5px 9px; font-size:11px; }

@media(max-width:700px) {
  .fc-project-table { min-width:780px; }
  .fc-project-summary { flex-wrap:wrap; gap:4px 6px; padding:4px 6px; }
  .fc-project-toggle { min-height:44px; }
  .fc-project-counts { flex-basis:100%; padding-left:28px; }
  .fc-project-inline-actions { justify-content:flex-start; }
  .fc-project-inline-actions .fc-button { min-height:40px; }
  #fc-project-lift-form .fc-identity-fields,#fc-project-lift-form .fc-start-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #fc-project-lift-form .fc-identity-fields .fc-field:last-child,#fc-project-lift-form .fc-start-fields .fc-field:last-child { grid-column:1/-1; }
  #fc-project-lift-form .fc-parameters { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #fc-project-lift-form .fc-pricing-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #fc-project-lift-form .fc-field input:not([type=checkbox]),#fc-project-lift-form .fc-field select,.fc-contact-picker input { min-height:44px; font-size:16px; }
  #fc-project-lift-form .fc-parameters .fc-field:has(input[type=checkbox]) { min-height:44px; }
  #fc-project-lift-form .fc-parameters input[type=checkbox] { width:22px; height:22px; min-height:22px; }
  .fc-choice-option { min-height:44px; }
  .fc-choice-custom input { min-height:44px; font-size:16px; }
  .fc-customer-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fc-matrix-price-row .fc-button { min-height:40px; }
}
@media(max-width:420px) {
  .fc-project-table { min-width:720px; }
  .fc-project-table th,.fc-project-table td { padding:6px 7px; }
  .fc-project-table .fc-lift-row th { padding-left:18px; }
  .fc-project-toggle { flex-wrap:wrap; column-gap:5px; }
  .fc-project-toggle strong { flex-basis:calc(100% - 20px); }
  .fc-project-inline-actions { gap:4px; }
  .fc-project-inline-actions .fc-button { padding:5px 7px; }
  #fc-project-lift-form .fc-parameters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #fc-project-lift-form .fc-parameters .fc-field:nth-child(4) { grid-column:1/-1; }
  .fc-customer-choices { grid-template-columns:minmax(0,1fr); }
  .fc-matrix-price-row { display:grid !important; grid-template-columns:minmax(0,1fr) auto; }
  .fc-matrix-price-row .fc-button { grid-column:1/-1; width:100%; }
}
