
    body {
      font-family: 'Ubuntu', sans-serif;
      background: #fff;
      color: #333;
      padding: 20px;
      max-width: 360px;
      margin: auto;
      line-height: 1.4;
    }

    h1 {
      font-size: 24px;
      color: #008351;
      text-align: center;
      margin-bottom: 30px;
    }

    .group {
      margin-bottom: 24px;
      border: 1px solid #008351;
      border-radius: 8px;
      padding: 16px;
    }

    .group-title {
      font-weight: bold;
      font-size: 18px;
      color: #008351;
      margin-bottom: 12px;
    }

    .section-title {
      color: #008351;
      font-size: 16px;
      font-weight: bold;
      margin-bottom: 10px;
      border-bottom: 1px solid #ccc;
      padding-bottom: 5px;
    }

    .group-close {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      margin-top: 16px;
      padding: 8px 0 2px;
      border-top: 1px solid #e0e0e0;
      cursor: pointer;
      user-select: none;
    }
    .group-close-text {
      font-size: 13px;
      color: #666;
    }
    .group-close-icon {
      font-size: 14px;
      color: #666;
      opacity: 0.7;
    }
    .group-close:hover .group-close-text,
    .group-close:hover .group-close-icon {
      color: #008351;
      opacity: 1;
    }

    .section-title:focus-visible,
.group-title:focus-visible,
.group-close:focus-visible,
.warning-message[tabindex]:focus-visible,
label[tabindex]:focus-visible {
  outline: none;
  box-shadow: inset -3px 0 0 0 #c00000;
  transition: all 0.2s ease;
}

    .group-title:focus-visible {
      display: inline-block;
      padding-right: 20px;
    }

    .warning-message[tabindex]:hover {
      background-color: rgba(0, 131, 81, 0.02);
      cursor: pointer;
    }

    .input-group {
      margin-bottom: 16px;
    }

    .input-group:last-child {
      margin-bottom: 0;
    }

    label {
      display: block;
      margin-bottom: 4px;
      font-weight: 420;
    }

    input, select, textarea {
      width: 100%;
      padding: 8px;
      font-size: 16px;
      box-sizing: border-box;
      border: 1px solid #ccc;
      border-radius: 4px;
      font-family: 'Ubuntu', sans-serif;
      transition: border-color 0.2s;
    }

    input:focus, select:focus, textarea:focus {
      outline: none;
      border-color: #008351;
    }

    input:invalid {
      border-color: #c00000;
    }

    .row-pair {
      display: flex;
      gap: 10px;
      margin-top: 12px;
      margin-bottom: 20px;
      flex-wrap: wrap;
    }
    .row-pair label {
      flex: 1;
    }
    .walls-checkbox-container {
      margin-top: 10px;
    }
    .checkbox-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px 20px;
    }
    .checkbox-row label {
      display: flex;
      align-items: center;
      white-space: nowrap;
      font-size: 14px;
      gap: 6px;
    }
    input[type="radio"]:disabled + .gdpr-checkmark,
input[type="checkbox"]:disabled + .gdpr-checkmark {
  opacity: 0.5;
  cursor: not-allowed;
}

.gdpr-checkbox-container:has(input:disabled) {
  opacity: 0.6;
  cursor: not-allowed;
}
    .value-span {
      color: #c00000;
      font-weight: normal;
      font-size: 14px;
      min-width: 20px;
      display: inline-block;
      text-align: left;
      margin-left: 5px;
    }

    .manual-choice {
      color: #c00000;
    }

    .bnd-formula {
      color: #999;
      font-size: 12px;
      margin-top: 4px;
    }
    .bnd-formula:empty {
      display: none;
    }

    .bnd-note {
      color: #666;
      font-size: 11px;
      margin-top: 2px;
    }

    .sym {
      color: inherit;
    }
    .error-message {
      color: #c00000;
      font-size: 13px;
      margin-top: 3px;
      padding: 6px 8px;
      border-radius: 4px;
      border-left: 3px solid #c00000;
      background: #fdf2f2;
    }
    .error-message:empty {
      display: none;
    }
    .warning-message {
      color: #333;
      font-size: 13px;
      min-height: 18px;
      margin-top: 3px;
      background: #f0f8f5;
      padding: 8px 10px;
      border-radius: 4px;
      border-left: 3px solid #c00000;
    }

    .state-note {
      color: #008351;
      font-size: 11px;
      line-height: 14px;
      min-height: 14px;
      margin-top: 4px;
    }
    .state-note:empty {
      visibility: hidden;
    }

    #projectGroup .group-close,
    #projectGroup2 .group-close {
      margin-top: 8px;
    }

    .btn {
      background: #008351;
      color: #fff;
      border: none;
      padding: 12px 24px;
      font-size: 16px;
      border-radius: 4px;
      cursor: pointer;
      margin: 4px;
      transition: background 0.2s;
      font-family: 'Ubuntu', sans-serif;
    }

    .btn:hover {
      background: #006741;
    }

    .btn:disabled {
      background: #ccc;
      cursor: not-allowed;
    }

    .group {
      margin-bottom: 16px;
      border: 1px solid #008351;
      border-radius: 8px;
      padding: 16px;
    }

    .group-header {
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 12px 0;
      transition: opacity 0.2s ease;
    }

    .group-header:hover {
      opacity: 0.8;
    }

    .group-header .group-title {
      color: #008351;
      font-weight: bold;
      font-size: 18px;
      margin: 0;
    }

    .expand-icon {
      color: #666;
      font-size: 14px;
      opacity: 0.7;
      user-select: none;
      transition: transform 0.3s ease, opacity 0.2s ease;
    }

    .expand-icon:hover {
      opacity: 1;
    }

    .group.collapsed .expand-icon {
      transform: rotate(-90deg);
    }

    .group-content {
  transition: opacity 0.3s ease;
  overflow: hidden;
}

    .group.collapsed .group-content {
      max-height: 0;
      opacity: 0;
      padding-top: 0;
      padding-bottom: 0;
    }

    .input-group label {
      display: block;
      margin-bottom: 4px;
      font-weight: 420;
    }

    .input-group input,
    .input-group textarea,
    .input-group select {
      width: 100%;
      padding: 8px;
      border: 1px solid #ccc;
      border-radius: 4px;
      box-sizing: border-box;
      font-family: 'Ubuntu', sans-serif;
      font-size: 16px;
      transition: border-color 0.2s;
    }

    .input-group input:focus,
    .input-group textarea:focus,
    .input-group select:focus {
      outline: none;
      border-color: #008351;
    }

    textarea {
      resize: vertical;
      min-height: 60px;
      line-height: 1.4;
    }

    .gdpr-checkbox-container {
      display: flex;
      align-items: flex-start;
      cursor: pointer;
      font-size: 14px;
      line-height: 1.4;
      margin-top: 12px;
      user-select: none;
    }

   .gdpr-checkbox-container input {
      position: absolute;
      opacity: 0;
      cursor: pointer;
      height: 0;
      width: 0;
    }

    .gdpr-checkmark {
      position: relative;
      height: 18px;
      width: 18px;
      min-width: 18px;
      background-color: #fff;
      border: 2px solid #ddd;
      border-radius: 3px;
      margin-right: 10px;
      margin-top: 1px;
      display: inline-block;
      transition: all 0.2s ease;
    }

    .gdpr-checkbox-container:hover .gdpr-checkmark {
      border-color: #008351;
    }

    .gdpr-checkbox-container input:checked ~ .gdpr-checkmark {
      background-color: #fff;
      border-color: #008351;
    }

    .gdpr-checkbox-container input:checked ~ .gdpr-checkmark:after {
      display: block;
    }

    .gdpr-checkmark:after {
      content: "\2713";
      position: absolute;
      display: none;
      left: 4px;
      top: 0px;
      color: #008351;
      font-size: 14px;
      font-weight: bold;
      transform: none;
    }

.combo-list { display: none; position: fixed; z-index: 1000;
  background: #fff; border: 1px solid #ccc; border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12); max-height: 240px; overflow-y: auto; }

.combo-item { padding: 4px 10px; cursor: pointer; font-size: 15px;
  font-family: 'Segoe UI', system-ui, Arial, sans-serif; line-height: 1.5; }
.combo-item:hover, .combo-item.active { background: #f0f7f4; }
.combo-item.current { color: #008351; font-weight: bold; }

.group-header:focus { outline: none; }
.group-header:focus-visible, [data-act="toggleCoefficientsSection"]:focus-visible {
  outline: none;
  box-shadow: inset -3px 0 0 0 #c00000;
  transition: all 0.2s ease; }
