.service-builder-view { overflow-y: auto; }
.service-builder-header-actions { display: flex; align-items: center; gap: 14px; }
.service-builder-count { display: grid; place-items: center; min-width: 64px; height: 64px; padding: 0 16px; border-radius: 22px; background: #113b38; color: #fff; font: 900 25px/1 "Iowan Old Style", serif; }
.service-builder-toolbar { display: flex; flex-wrap: wrap; gap: 9px; }
.service-builder-toolbar button { padding: 10px 16px; border: 1px solid #d8dfda; border-radius: 999px; background: #fff; color: #425c59; font-weight: 800; cursor: pointer; }
.service-builder-toolbar button.is-active { border-color: #113b38; background: #113b38; color: #fff; }
.service-builder-toolbar .service-builder-create-inline { margin-left: auto; border-color: #f15a3c; background: #f15a3c; color: #fff; box-shadow: 0 10px 24px rgba(241,90,60,.2); }
.service-builder-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.service-card { display: grid; gap: 15px; min-width: 0; padding: 20px; border: 1px solid #dce4de; border-radius: 22px; background: #fff; box-shadow: 0 12px 30px rgba(24,54,50,.07); }
.service-card.is-inactive { opacity: .62; background: #f3f3ee; }
.service-card-head, .service-card-meta, .service-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.service-card-role, .service-card-state { padding: 6px 10px; border-radius: 999px; background: #eaf1ec; color: #355b56; font-size: 11px; font-weight: 900; }
.service-card-role.is-cleaner { background: #fff0e9; color: #a84531; }
.service-card h3 { margin: 0; color: #123b38; font: 800 22px/1.15 "Iowan Old Style", serif; overflow-wrap: anywhere; }
.service-card .service-title-secondary { margin: -8px 0 0; color: #76827e; font-size: 13px; overflow-wrap: anywhere; }
.service-card p { min-height: 38px; margin: 0; color: #5f706c; line-height: 1.5; }
.service-card-meta { justify-content: flex-start; color: #6f7b77; font-size: 12px; font-weight: 800; }
.service-card-actions { justify-content: flex-end; flex-wrap: wrap; }
.service-card-actions button { padding: 9px 12px; border: 1px solid #d8dfda; border-radius: 11px; background: #fff; color: #153e3b; font-weight: 800; cursor: pointer; }
.service-card-actions button.primary { border-color: #f15a3c; background: #f15a3c; color: #fff; }
.service-card-actions button.danger { color: #a44131; }
.service-builder-empty { grid-column: 1 / -1; padding: 48px 20px; border: 1px dashed #ccd7cf; border-radius: 22px; color: #71807b; text-align: center; }

.service-editor-dialog { width: min(1180px, calc(100vw - 24px)); max-width: none; max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: 26px; background: #f5f2eb; overflow: hidden; }
.service-editor-dialog::backdrop, .checklist-library-dialog::backdrop { background: rgba(7,35,33,.72); backdrop-filter: blur(6px); }
.service-editor-shell { display: grid; grid-template-rows: auto minmax(0,1fr) auto; max-height: calc(100vh - 24px); }
.service-editor-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 28px; background: #fff; border-bottom: 1px solid #dfe5df; }
.service-editor-shell > header h2 { margin: 5px 0 0; color: #123b38; font: 800 30px/1.1 "Iowan Old Style", serif; }
.service-editor-body { overflow-y: auto; padding: 22px 28px 30px; }
.service-editor-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 22px; }
.service-editor-fields label, .checklist-item-editor label { display: grid; gap: 6px; color: #61716d; font-size: 12px; font-weight: 800; }
.service-editor-fields input, .service-editor-fields select, .service-editor-fields textarea,
.checklist-item-editor input, .checklist-item-editor select, .checklist-item-editor textarea { width: 100%; padding: 11px 13px; border: 1px solid #d4ddd6; border-radius: 11px; background: #fff; color: #123b38; font: inherit; box-sizing: border-box; }
.service-editor-fields textarea { min-height: 88px; resize: vertical; }
.service-span-2 { grid-column: 1 / -1; }
.service-checklist-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.service-checklist-heading h3 { margin: 0; color: #123b38; font: 800 23px/1.2 "Iowan Old Style", serif; }
.service-checklist-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.service-checklist-actions button { padding: 9px 12px; border: 1px solid #ccd8d0; border-radius: 11px; background: #fff; color: #16413d; font-weight: 800; cursor: pointer; }
.service-checklist-items { display: grid; gap: 12px; }
.checklist-item-editor { display: grid; grid-template-columns: 38px repeat(12,minmax(0,1fr)); gap: 10px; align-items: end; padding: 14px; border: 1px solid #dce4de; border-radius: 16px; background: #fff; }
.checklist-item-order { align-self: stretch; display: grid; align-content: center; justify-items: center; gap: 4px; padding-right: 8px; border-right: 1px solid #e2e7e3; color: #76827e; font-weight: 900; }
.checklist-item-order button { width: 28px; height: 25px; border: 0; border-radius: 8px; background: #eef2ee; color: #244c48; cursor: pointer; }
.checklist-item-title-de { grid-column: span 5; }
.checklist-item-title-ru { grid-column: span 5; }
.checklist-item-capture { grid-column: span 2; }
.checklist-item-section-de, .checklist-item-section-ru { grid-column: span 4; }
.checklist-item-phase { grid-column: span 2; }
.checklist-item-hint { grid-column: span 5; }
.checklist-item-required { grid-column: span 2; display: flex !important; grid-auto-flow: column; justify-content: start; align-items: center; }
.checklist-item-required input { width: auto; }
.checklist-item-remove { grid-column: span 1; min-height: 42px; border: 0; border-radius: 10px; background: #fff0ec; color: #ad3f2f; font-size: 20px; cursor: pointer; }
.service-editor-footer { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 16px 28px 20px; border-top: 1px solid #dfe5df; background: #fff; }
.service-editor-message { margin-right: auto; color: #a43b2e; font-weight: 800; }

.checklist-library-dialog { width: min(850px, calc(100vw - 24px)); max-width: none; max-height: 88vh; padding: 0; border: 0; border-radius: 22px; background: #fff; overflow: hidden; }
.checklist-library-shell { display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; max-height: 88vh; }
.checklist-library-shell header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid #e0e6e1; }
.checklist-library-shell h3 { margin: 0; color: #123b38; }
.checklist-library-search { margin: 14px 22px; padding: 12px 14px; border: 1px solid #d4ddd6; border-radius: 12px; font: inherit; }
.checklist-library-list { overflow-y: auto; display: grid; gap: 8px; padding: 0 22px 18px; }
.checklist-library-row { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid #e0e6e1; border-radius: 13px; }
.checklist-library-row strong, .checklist-library-row small { display: block; overflow-wrap: anywhere; }
.checklist-library-row small { margin-top: 3px; color: #75817d; }
.checklist-library-row b { padding: 5px 8px; border-radius: 999px; background: #eef2ee; color: #47645f; font-size: 10px; }
.checklist-library-shell footer { display: flex; justify-content: flex-end; gap: 9px; padding: 15px 22px; border-top: 1px solid #e0e6e1; }

.task-checklist-choice { padding: 15px; border: 1px solid #d9e1db; border-radius: 16px; background: #f8f8f3; }
.task-checklist-choice > strong { display: block; margin-bottom: 10px; color: #123b38; }
.task-checklist-choice-options { display: flex; flex-wrap: wrap; gap: 12px; }
.task-checklist-choice-options label { display: flex; grid-auto-flow: column; align-items: center; gap: 7px; }
.task-checklist-choice-options input { width: auto; }
.task-custom-checklist { display: grid; gap: 10px; margin-top: 14px; }
.task-custom-checklist-list { display: grid; gap: 8px; }
.task-custom-item { display: grid; grid-template-columns: minmax(0,1fr) 130px 120px auto; gap: 8px; padding: 10px; border: 1px solid #dce4de; border-radius: 12px; background: #fff; }
.task-custom-item input, .task-custom-item select { width: 100%; padding: 9px 10px; border: 1px solid #d4ddd6; border-radius: 9px; box-sizing: border-box; }
.task-custom-item button { border: 0; border-radius: 9px; background: #fff0ec; color: #a43f30; cursor: pointer; }
.task-custom-checklist-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.task-custom-checklist-actions button { padding: 8px 11px; border: 1px solid #ccd8d0; border-radius: 10px; background: #fff; color: #16413d; font-weight: 800; cursor: pointer; }

@media (max-width: 900px) {
  .service-builder-grid { grid-template-columns: 1fr; }
  .checklist-item-editor { grid-template-columns: 34px repeat(6,minmax(0,1fr)); }
  .checklist-item-title-de, .checklist-item-title-ru, .checklist-item-hint { grid-column: span 6; }
  .checklist-item-capture, .checklist-item-section-de, .checklist-item-section-ru, .checklist-item-phase, .checklist-item-required { grid-column: span 3; }
  .checklist-item-remove { grid-column: span 3; }
}
@media (max-width: 620px) {
  .service-builder-header-actions { align-items: stretch; flex-direction: column; }
  .service-builder-toolbar .service-builder-create-inline { width: 100%; margin-left: 0; }
  .service-editor-dialog { width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
  .service-editor-shell { max-height: 100dvh; }
  .service-editor-shell > header, .service-editor-body, .service-editor-footer { padding-left: 14px; padding-right: 14px; }
  .service-editor-fields { grid-template-columns: 1fr; }
  .service-span-2 { grid-column: auto; }
  .checklist-item-editor { display: flex; flex-direction: column; align-items: stretch; }
  .checklist-item-order { grid-template-columns: auto auto auto; align-self: auto; border: 0; border-bottom: 1px solid #e2e7e3; padding: 0 0 8px; }
  .task-custom-item { grid-template-columns: 1fr; }
  .task-custom-item button { min-height: 38px; }
}
