.saikaila-sketchup-viewer-wrap {
  width: 100%;
  max-width: 100%;
}

.saikaila-sketchup-viewer {
  position: relative;
  width: 100%;
  height: 520px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  box-sizing: border-box;
}

.saikaila-sketchup-viewer canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.saikaila-sketchup-viewer__message {
  position: absolute;
  inset: auto 16px 16px 16px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.88);
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  z-index: 2;
}

.saikaila-sketchup-viewer__message[data-type="error"],
.saikaila-sketchup-viewer-error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
  padding: 10px 12px;
  border-radius: 8px;
}

.saikaila-sketchup-viewer__retry {
  margin-top: 8px;
  border: 0;
  border-radius: 7px;
  background: #111827;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  padding: 7px 10px;
}

.saikaila-sketchup-viewer__retry:hover {
  background: #374151;
}

.saikaila-sketchup-info {
  margin-top: 14px;
  padding: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-sizing: border-box;
  color: #111827;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.saikaila-sketchup-info:empty {
  display: none;
}

.saikaila-sketchup-info h3,
.saikaila-sketchup-info h4 {
  margin: 0;
  line-height: 1.25;
}

.saikaila-sketchup-info h3 {
  font-size: 18px;
}

.saikaila-sketchup-info h4 {
  font-size: 14px;
}

.saikaila-sketchup-info__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 0;
}

.saikaila-sketchup-info__meta div {
  min-width: 0;
  padding: 10px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.saikaila-sketchup-info__meta dt {
  margin: 0 0 3px;
  color: #64748b;
  font-size: 12px;
}

.saikaila-sketchup-info__meta dd {
  margin: 0;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.saikaila-sketchup-info__section {
  margin-top: 16px;
}

.saikaila-sketchup-info__table-wrap {
  width: 100%;
  margin-top: 8px;
  overflow-x: auto;
}

.saikaila-sketchup-info__bom {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.saikaila-sketchup-info__bom th,
.saikaila-sketchup-info__bom td {
  padding: 7px 8px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.saikaila-sketchup-info__bom th {
  color: #475569;
  background: #f8fafc;
  font-weight: 600;
}

.saikaila-sketchup-info__bom th:nth-child(2),
.saikaila-sketchup-info__bom td:nth-child(2) {
  min-width: 180px;
  white-space: normal;
}

.saikaila-sketchup-info__bom th:nth-child(3),
.saikaila-sketchup-info__bom th:nth-child(5),
.saikaila-sketchup-info__bom th:nth-child(6),
.saikaila-sketchup-info__bom td:nth-child(3),
.saikaila-sketchup-info__bom td:nth-child(5),
.saikaila-sketchup-info__bom td:nth-child(6) {
  text-align: right;
}

.saikaila-sketchup-info__total {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e5e7eb;
  font-size: 14px;
}

.saikaila-sketchup-info__total span {
  color: #475569;
}

.saikaila-sketchup-info__total strong {
  font-size: 18px;
}

.saikaila-sketchup-info ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.saikaila-sketchup-info li {
  margin-bottom: 4px;
}

.saikaila-sketchup-info__loading,
.saikaila-sketchup-info__error {
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
}

.saikaila-sketchup-info__loading {
  background: #f8fafc;
  color: #475569;
}

.saikaila-sketchup-info__error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

.saikaila-sketchup-debug {
  margin-top: 14px;
  padding: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-sizing: border-box;
  color: #111827;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.saikaila-sketchup-debug:empty {
  display: none;
}

.saikaila-sketchup-debug__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.saikaila-sketchup-debug__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.saikaila-sketchup-suggestion__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  padding: 10px;
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  border-radius: 8px;
  font-size: 13px;
}

.saikaila-sketchup-debug__header h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
}

.saikaila-sketchup-debug__copy,
.saikaila-sketchup-debug__download,
.saikaila-sketchup-mapping__copy,
.saikaila-sketchup-mapping__download,
.saikaila-sketchup-draft__download,
.saikaila-sketchup-draft__load,
.saikaila-sketchup-import-preview__build,
.saikaila-sketchup-import-preview__copy,
.saikaila-sketchup-import-preview__download,
.saikaila-sketchup-project-draft__generate,
.saikaila-sketchup-project-draft__copy,
.saikaila-sketchup-project-draft__download,
.saikaila-sketchup-project-draft__load,
.saikaila-sketchup-bom-candidates__copy,
.saikaila-sketchup-bom-candidates__download,
.saikaila-sketchup-quantity-extraction__copy,
.saikaila-sketchup-quantity-extraction__download,
.saikaila-sketchup-material-rules__copy,
.saikaila-sketchup-material-rules__download,
.saikaila-sketchup-material-aggregation__copy,
.saikaila-sketchup-material-aggregation__download,
.saikaila-sketchup-pricing__copy-estimate,
.saikaila-sketchup-pricing__download-estimate,
.saikaila-sketchup-pricing__load-default,
.saikaila-sketchup-pricing__apply,
.saikaila-sketchup-pricing__copy-list,
.saikaila-sketchup-pricing__download-list,
.saikaila-sketchup-build-steps__copy,
.saikaila-sketchup-build-steps__download,
.saikaila-sketchup-construction-package__generate,
.saikaila-sketchup-construction-package__recalculate,
.saikaila-sketchup-construction-package__copy,
.saikaila-sketchup-construction-package__download,
.saikaila-sketchup-construction-package__load,
.saikaila-sketchup-suggestion__apply-selected,
.saikaila-sketchup-suggestion__apply-visible,
.saikaila-sketchup-suggestion__apply-all {
  border: 0;
  border-radius: 8px;
  background: #111827;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  padding: 8px 11px;
  white-space: nowrap;
}

.saikaila-sketchup-debug__copy:hover,
.saikaila-sketchup-debug__download:hover,
.saikaila-sketchup-mapping__copy:hover,
.saikaila-sketchup-mapping__download:hover,
.saikaila-sketchup-draft__download:hover,
.saikaila-sketchup-draft__load:hover,
.saikaila-sketchup-import-preview__build:hover,
.saikaila-sketchup-import-preview__copy:hover,
.saikaila-sketchup-import-preview__download:hover,
.saikaila-sketchup-project-draft__generate:hover,
.saikaila-sketchup-project-draft__copy:hover,
.saikaila-sketchup-project-draft__download:hover,
.saikaila-sketchup-project-draft__load:hover,
.saikaila-sketchup-bom-candidates__copy:hover,
.saikaila-sketchup-bom-candidates__download:hover,
.saikaila-sketchup-quantity-extraction__copy:hover,
.saikaila-sketchup-quantity-extraction__download:hover,
.saikaila-sketchup-material-rules__copy:hover,
.saikaila-sketchup-material-rules__download:hover,
.saikaila-sketchup-material-aggregation__copy:hover,
.saikaila-sketchup-material-aggregation__download:hover,
.saikaila-sketchup-pricing__copy-estimate:hover,
.saikaila-sketchup-pricing__download-estimate:hover,
.saikaila-sketchup-pricing__load-default:hover,
.saikaila-sketchup-pricing__apply:hover,
.saikaila-sketchup-pricing__copy-list:hover,
.saikaila-sketchup-pricing__download-list:hover,
.saikaila-sketchup-build-steps__copy:hover,
.saikaila-sketchup-build-steps__download:hover,
.saikaila-sketchup-construction-package__generate:hover,
.saikaila-sketchup-construction-package__recalculate:hover,
.saikaila-sketchup-construction-package__copy:hover,
.saikaila-sketchup-construction-package__download:hover,
.saikaila-sketchup-construction-package__load:hover,
.saikaila-sketchup-suggestion__apply-selected:hover,
.saikaila-sketchup-suggestion__apply-visible:hover,
.saikaila-sketchup-suggestion__apply-all:hover {
  background: #374151;
}

.saikaila-sketchup-draft__load input,
.saikaila-sketchup-project-draft__load input,
.saikaila-sketchup-construction-package__load input {
  display: none;
}

.saikaila-sketchup-draft-load-result {
  margin: 0 0 14px;
  padding: 10px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  font-size: 13px;
}

.saikaila-sketchup-draft-load-result[hidden] {
  display: none;
}

.saikaila-sketchup-draft-load-result__summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 0;
}

.saikaila-sketchup-draft-load-result__summary div {
  padding: 8px;
  background: #fff;
  border: 1px solid #dcfce7;
  border-radius: 7px;
}

.saikaila-sketchup-draft-load-result__summary dt {
  color: #64748b;
  font-size: 11px;
}

.saikaila-sketchup-draft-load-result__summary dd {
  margin: 2px 0 0;
  font-weight: 700;
}

.saikaila-sketchup-debug__summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}

.saikaila-sketchup-debug__summary div {
  min-width: 0;
  padding: 10px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.saikaila-sketchup-debug__summary dt {
  margin: 0 0 3px;
  color: #64748b;
  font-size: 12px;
}

.saikaila-sketchup-debug__summary dd {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}

.saikaila-sketchup-mapping__group-panel {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 10px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 13px;
}

.saikaila-sketchup-pick-mode {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  padding: 10px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  font-size: 13px;
}

.saikaila-sketchup-pick-mode label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  background: #fff;
  border: 1px solid #fdba74;
  border-radius: 999px;
}

.saikaila-sketchup-pick-diagnostics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 8px 10px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #334155;
  font-size: 12px;
}

.saikaila-sketchup-pick-diagnostics[hidden] {
  display: none;
}

.saikaila-sketchup-pick-diagnostics span {
  overflow-wrap: anywhere;
}

.saikaila-sketchup-mapping__groups {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.saikaila-sketchup-mapping__groups label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 7px;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 999px;
}

.saikaila-sketchup-mapping__groups-empty {
  color: #64748b;
}

.saikaila-sketchup-group-manager {
  margin: 0 0 14px;
  padding: 12px;
  background: #f8fafc;
  border: 1px solid #dbeafe;
  border-radius: 8px;
}

.saikaila-sketchup-group-manager h3 {
  margin: 0 0 10px;
  font-size: 16px;
}

.saikaila-sketchup-group-manager__selected {
  display: grid;
  gap: 6px;
  margin-bottom: 10px;
  padding: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 12px;
}

.saikaila-sketchup-group-manager__selected p {
  margin: 2px 0 0;
  color: #334155;
}

.saikaila-sketchup-group-manager__selected span {
  color: #64748b;
}

.saikaila-sketchup-collapse {
  margin-top: 6px;
}

.saikaila-sketchup-collapse__toggle {
  border: 0;
  border-radius: 7px;
  background: #e2e8f0;
  color: #0f172a;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 9px;
}

.saikaila-sketchup-collapse__toggle:hover {
  background: #cbd5e1;
}

.saikaila-sketchup-validation__issues {
  margin-top: 10px;
}

.saikaila-sketchup-group-manager__form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-items: end;
}

.saikaila-sketchup-group-manager__form label {
  display: grid;
  gap: 4px;
  font-size: 12px;
}

.saikaila-sketchup-group-manager__form input[type="text"] {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 6px 7px;
  font: inherit;
}

.saikaila-sketchup-group-manager__apply,
.saikaila-sketchup-group-manager__group button {
  border: 0;
  border-radius: 7px;
  background: #111827;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  padding: 7px 10px;
}

.saikaila-sketchup-group-manager__groups {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.saikaila-sketchup-group-manager__group {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) auto auto auto auto auto auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 12px;
}

.saikaila-sketchup-group-manager__group small {
  color: #64748b;
  overflow-wrap: anywhere;
}

.saikaila-sketchup-hierarchy {
  margin: 0 0 14px;
  padding: 12px;
  background: #f8fafc;
  border: 1px solid #c7d2fe;
  border-radius: 8px;
  font-size: 12px;
}

.saikaila-sketchup-hierarchy h3 {
  margin: 0 0 10px;
  font-size: 16px;
}

.saikaila-sketchup-hierarchy__forms {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.saikaila-sketchup-hierarchy__form {
  display: grid;
  gap: 7px;
  padding: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.saikaila-sketchup-hierarchy__form input[type="text"],
.saikaila-sketchup-hierarchy__form select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 6px 7px;
  font: inherit;
}

.saikaila-sketchup-hierarchy__form button,
.saikaila-sketchup-hierarchy__tree button {
  border: 0;
  border-radius: 7px;
  background: #312e81;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  padding: 6px 9px;
}

.saikaila-sketchup-hierarchy__tree {
  display: grid;
  gap: 7px;
  padding: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.saikaila-sketchup-hierarchy__node {
  margin-left: 10px;
  padding: 6px;
  border-left: 2px solid #c7d2fe;
}

.saikaila-sketchup-hierarchy__node summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  cursor: pointer;
}

.saikaila-sketchup-hierarchy__group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 6px 0 0 18px;
  padding: 6px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
}

.saikaila-sketchup-debug__table-wrap {
  width: 100%;
  overflow-x: auto;
}

.saikaila-sketchup-debug__table {
  width: 100%;
  min-width: 2480px;
  border-collapse: collapse;
  font-size: 12px;
}

.saikaila-sketchup-debug__table th,
.saikaila-sketchup-debug__table td {
  padding: 7px 8px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.saikaila-sketchup-debug__table th {
  color: #475569;
  background: #f8fafc;
  font-weight: 600;
}

.saikaila-sketchup-debug__table tr[data-map-index] {
  cursor: pointer;
}

.saikaila-sketchup-debug__table tr[data-map-index]:hover td {
  background: #f8fafc;
}

.saikaila-sketchup-debug__table tr.saikaila-sketchup-debug__row--selected td {
  background: #ecfdf5;
  box-shadow: inset 0 1px 0 #bbf7d0, inset 0 -1px 0 #bbf7d0;
}

.saikaila-sketchup-debug__name,
.saikaila-sketchup-debug__table td:nth-child(5),
.saikaila-sketchup-debug__table td:nth-child(6) {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.saikaila-sketchup-debug__name span {
  display: inline-block;
}

.saikaila-sketchup-mapping__field input {
  width: 130px;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 5px 6px;
  font: inherit;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.saikaila-sketchup-mapping__field input:focus {
  border-color: #2563eb;
  outline: 2px solid rgba(37, 99, 235, 0.16);
}

.saikaila-sketchup-mapping__check {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 28px;
}

.saikaila-sketchup-mapping__check input {
  width: 16px;
  height: 16px;
}

.saikaila-sketchup-suggestion__cell,
.saikaila-sketchup-suggestion__reason {
  background: #f8fafc;
  color: #334155;
}

.saikaila-sketchup-suggestion__reason {
  max-width: 260px;
  white-space: normal !important;
}

.saikaila-sketchup-debug__json,
.saikaila-sketchup-mapping__json,
.saikaila-sketchup-import-preview__json,
.saikaila-sketchup-project-draft__json,
.saikaila-sketchup-bom-candidates__json,
.saikaila-sketchup-quantity-extraction__json,
.saikaila-sketchup-material-rules__json,
.saikaila-sketchup-material-aggregation__json,
.saikaila-sketchup-pricing__estimate-json,
.saikaila-sketchup-build-steps__json,
.saikaila-sketchup-construction-package__json,
.saikaila-sketchup-auto-bom__json {
  width: 100%;
  min-height: 180px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  box-sizing: border-box;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
}

.saikaila-sketchup-import-preview,
.saikaila-sketchup-project-draft {
  margin-top: 16px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid #bfdbfe;
  border-radius: 10px;
}

.saikaila-sketchup-import-preview[hidden],
.saikaila-sketchup-project-draft[hidden] {
  display: none;
}

.saikaila-sketchup-import-preview__header,
.saikaila-sketchup-project-draft__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.saikaila-sketchup-import-preview__header h3,
.saikaila-sketchup-project-draft__header h3,
.saikaila-sketchup-import-preview__table-wrap h4,
.saikaila-sketchup-import-preview__section h4 {
  margin: 0;
}

.saikaila-sketchup-project-draft {
  background: #f8fafc;
  border-color: #a7f3d0;
}

.saikaila-sketchup-project-draft__tree {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: #fff;
  border: 1px solid #d1fae5;
  border-radius: 8px;
  font-size: 13px;
}

.saikaila-sketchup-project-draft__tree details {
  margin-left: 14px;
  padding-left: 10px;
  border-left: 2px solid #a7f3d0;
}

.saikaila-sketchup-project-draft__tree summary {
  cursor: pointer;
  font-weight: 700;
}

.saikaila-sketchup-project-draft__group {
  margin: 5px 0 5px 18px;
  padding: 6px 8px;
  background: #ecfdf5;
  border: 1px solid #d1fae5;
  border-radius: 7px;
}

.saikaila-sketchup-project-draft__group span {
  color: #64748b;
}

.saikaila-sketchup-project-draft__panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.saikaila-sketchup-project-draft__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 0;
}

.saikaila-sketchup-project-draft__stats div {
  min-width: 0;
  padding: 8px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
}

.saikaila-sketchup-project-draft__stats dt {
  margin: 0 0 3px;
  color: #64748b;
  font-size: 12px;
}

.saikaila-sketchup-project-draft__stats dd {
  margin: 0;
  font-weight: 700;
}

.saikaila-sketchup-project-draft__table-wrap {
  width: 100%;
  overflow-x: auto;
  margin-top: 8px;
}

.saikaila-sketchup-project-draft__table-wrap table {
  width: 100%;
  min-width: 420px;
  border-collapse: collapse;
  font-size: 12px;
}

.saikaila-sketchup-project-draft__table-wrap th,
.saikaila-sketchup-project-draft__table-wrap td {
  padding: 7px 8px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
}

.saikaila-sketchup-project-draft__issues {
  margin-top: 8px;
}

.saikaila-sketchup-project-draft__issues summary {
  cursor: pointer;
  font-weight: 700;
}

.saikaila-sketchup-project-draft__issues ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.saikaila-sketchup-bom-candidates {
  margin-top: 14px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #bae6fd;
  border-radius: 8px;
}

.saikaila-sketchup-bom-candidates__summary {
  margin-bottom: 12px;
}

.saikaila-sketchup-quantity-extraction {
  margin-top: 14px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #c4b5fd;
  border-radius: 8px;
}

.saikaila-sketchup-quantity-extraction__summary {
  margin-bottom: 12px;
}

.saikaila-sketchup-quantity-extraction__details summary {
  cursor: pointer;
  font-weight: 700;
}

.saikaila-sketchup-material-rules {
  margin-top: 14px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #fed7aa;
  border-radius: 8px;
}

.saikaila-sketchup-material-rules__summary {
  margin-bottom: 12px;
}

.saikaila-sketchup-material-rules__details summary {
  cursor: pointer;
  font-weight: 700;
}

.saikaila-sketchup-material-aggregation {
  margin-top: 14px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #99f6e4;
  border-radius: 8px;
}

.saikaila-sketchup-material-aggregation__summary {
  margin-bottom: 12px;
}

.saikaila-sketchup-material-aggregation__details summary {
  cursor: pointer;
  font-weight: 700;
}

.saikaila-sketchup-pricing {
  margin-top: 14px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #f9a8d4;
  border-radius: 8px;
}

.saikaila-sketchup-pricing__summary {
  margin-bottom: 12px;
}

.saikaila-sketchup-pricing__price-list {
  margin: 12px 0;
  padding: 10px;
  background: #fdf2f8;
  border: 1px solid #fbcfe8;
  border-radius: 8px;
}

.saikaila-sketchup-pricing__price-list h4 {
  margin: 0;
}

.saikaila-sketchup-pricing__price-list-json {
  width: 100%;
  min-height: 220px;
  margin-top: 8px;
  padding: 10px;
  border: 1px solid #f9a8d4;
  border-radius: 8px;
  box-sizing: border-box;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
}

.saikaila-sketchup-pricing__error {
  margin-top: 8px;
  padding: 8px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 7px;
  color: #991b1b;
  font-size: 13px;
}

.saikaila-sketchup-pricing__legend {
  margin: 8px 0;
  padding: 8px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 7px;
  color: #7c2d12;
  font-size: 12px;
}

.saikaila-sketchup-pricing__row--exact_match td {
  background: #f0fdf4;
}

.saikaila-sketchup-pricing__row--bom_fallback td,
.saikaila-sketchup-pricing__row--profile_fallback td,
.saikaila-sketchup-pricing__row--material_rule_fallback td {
  background: #fffbeb;
}

.saikaila-sketchup-pricing__row--missing_price td,
.saikaila-sketchup-pricing__row--skipped td {
  background: #fef2f2;
}

.saikaila-sketchup-pricing__row--profile-review td {
  box-shadow: inset 3px 0 0 #f97316;
}

.saikaila-sketchup-build-steps {
  margin-top: 14px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #a5b4fc;
  border-radius: 8px;
}

.saikaila-sketchup-build-steps__summary {
  margin-bottom: 12px;
}

.saikaila-sketchup-build-steps__details summary {
  cursor: pointer;
  font-weight: 700;
}

.saikaila-sketchup-build-steps__status {
  display: inline-block;
  margin: 4px 0 8px;
  padding: 6px 8px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 7px;
  color: #166534;
  font-size: 12px;
  font-weight: 700;
}

.saikaila-sketchup-construction-package {
  margin-top: 14px;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #86efac;
  border-radius: 8px;
}

.saikaila-sketchup-construction-package__cards {
  margin-bottom: 12px;
}

.saikaila-sketchup-construction-package__editable {
  margin: 12px 0;
  padding: 10px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
}

.saikaila-sketchup-construction-package__editable h4 {
  margin: 0 0 6px;
}

.saikaila-sketchup-construction-package__editable p {
  margin: 0 0 8px;
  color: #166534;
  font-size: 12px;
}

.saikaila-sketchup-construction-package__editable input {
  width: 120px;
  box-sizing: border-box;
  border: 1px solid #86efac;
  border-radius: 6px;
  padding: 5px 6px;
  font: inherit;
  font-size: 12px;
}

.saikaila-sketchup-construction-package__edit-error {
  margin-top: 8px;
  padding: 8px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 7px;
  color: #991b1b;
  font-size: 13px;
}

.saikaila-sketchup-import-preview__summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}

.saikaila-sketchup-import-preview__summary div {
  min-width: 0;
  padding: 9px;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  border-radius: 8px;
}

.saikaila-sketchup-import-preview__summary dt {
  margin: 0 0 3px;
  color: #475569;
  font-size: 12px;
}

.saikaila-sketchup-import-preview__summary dd {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
}

.saikaila-sketchup-import-preview__counts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.saikaila-sketchup-import-preview__section {
  min-width: 0;
  padding: 10px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.saikaila-sketchup-import-preview__section ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.saikaila-sketchup-import-preview__table-wrap {
  width: 100%;
  margin-top: 14px;
  overflow-x: auto;
}

.saikaila-sketchup-import-preview__table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  font-size: 12px;
}

.saikaila-sketchup-import-preview__table th,
.saikaila-sketchup-import-preview__table td {
  padding: 7px 8px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.saikaila-sketchup-import-preview__table th {
  background: #eff6ff;
  color: #334155;
  font-weight: 600;
}

.saikaila-sketchup-import-preview__table td:last-child {
  white-space: normal;
}

.saikaila-sketchup-validation,
.saikaila-sketchup-hierarchy-validation {
  margin: 0 0 14px;
  padding: 12px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 8px;
}

.saikaila-sketchup-validation:empty,
.saikaila-sketchup-hierarchy-validation:empty {
  display: none;
}

.saikaila-sketchup-validation__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.saikaila-sketchup-validation__header h3 {
  margin: 0;
  font-size: 16px;
}

.saikaila-sketchup-validation__revalidate,
.saikaila-sketchup-hierarchy-validation__revalidate,
.saikaila-sketchup-validation__filters button {
  border: 0;
  border-radius: 7px;
  background: #111827;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  padding: 7px 10px;
}

.saikaila-sketchup-validation__summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 10px;
}

.saikaila-sketchup-validation__summary div {
  padding: 8px;
  background: #fff;
  border: 1px solid #fed7aa;
  border-radius: 7px;
}

.saikaila-sketchup-validation__summary dt {
  margin: 0 0 3px;
  color: #9a3412;
  font-size: 12px;
}

.saikaila-sketchup-validation__summary dd {
  margin: 0;
  font-weight: 700;
}

.saikaila-sketchup-validation__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 10px;
}

.saikaila-sketchup-validation__filters button.is-active {
  background: #ea580c;
}

.saikaila-sketchup-validation__issues ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.saikaila-sketchup-validation__issues button {
  width: 100%;
  border: 1px solid #fed7aa;
  border-radius: 7px;
  background: #fff;
  color: #111827;
  cursor: pointer;
  padding: 8px;
  text-align: left;
}

.saikaila-sketchup-validation__issues strong {
  display: inline-block;
  min-width: 58px;
  color: #9a3412;
  text-transform: uppercase;
}

.saikaila-sketchup-validation__issues code {
  margin-right: 8px;
}

.saikaila-sketchup-validation__issues span,
.saikaila-sketchup-validation__issues em {
  display: block;
  margin-top: 3px;
}

.saikaila-sketchup-validation__issues em {
  color: #64748b;
}

.saikaila-sketchup-import-preview__validation-note {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 0 0 12px;
  padding: 9px 10px;
  background: #f8fafc;
  border: 1px solid #dbeafe;
  border-radius: 8px;
}

.saikaila-sketchup-auto-bom {
  margin-top: 14px;
  padding: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-sizing: border-box;
  color: #111827;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.saikaila-sketchup-auto-bom:empty {
  display: none;
}

.saikaila-sketchup-auto-bom__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.saikaila-sketchup-auto-bom__header h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
}

.saikaila-sketchup-auto-bom__copy {
  border: 0;
  border-radius: 8px;
  background: #111827;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  padding: 8px 11px;
  white-space: nowrap;
}

.saikaila-sketchup-auto-bom__copy:hover {
  background: #374151;
}

.saikaila-sketchup-auto-bom__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}

.saikaila-sketchup-auto-bom__summary div {
  min-width: 0;
  padding: 10px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.saikaila-sketchup-auto-bom__summary dt {
  margin: 0 0 3px;
  color: #64748b;
  font-size: 12px;
}

.saikaila-sketchup-auto-bom__summary dd {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}

.saikaila-sketchup-auto-bom__table-wrap {
  width: 100%;
  overflow-x: auto;
}

.saikaila-sketchup-auto-bom__table {
  width: 100%;
  min-width: 1080px;
  border-collapse: collapse;
  font-size: 12px;
}

.saikaila-sketchup-auto-bom__table th,
.saikaila-sketchup-auto-bom__table td {
  padding: 7px 8px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.saikaila-sketchup-auto-bom__table th {
  color: #475569;
  background: #f8fafc;
  font-weight: 600;
}

.saikaila-sketchup-auto-bom__code,
.saikaila-sketchup-auto-bom__skipped code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.saikaila-sketchup-auto-bom__table th:nth-child(6),
.saikaila-sketchup-auto-bom__table th:nth-child(8),
.saikaila-sketchup-auto-bom__table th:nth-child(9),
.saikaila-sketchup-auto-bom__table td:nth-child(6),
.saikaila-sketchup-auto-bom__table td:nth-child(8),
.saikaila-sketchup-auto-bom__table td:nth-child(9) {
  text-align: right;
}

.saikaila-sketchup-auto-bom__skipped {
  margin-top: 14px;
  padding: 10px 12px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
}

.saikaila-sketchup-auto-bom__skipped summary {
  cursor: pointer;
  font-weight: 600;
}

.saikaila-sketchup-auto-bom__skipped ul {
  margin: 10px 0 0;
  padding-left: 18px;
}

.saikaila-sketchup-auto-bom__skipped li {
  margin-bottom: 4px;
}

.saikaila-sketchup-auto-bom__json {
  width: 100%;
  min-height: 180px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  box-sizing: border-box;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
}

@media (max-width: 640px) {
  .saikaila-sketchup-viewer {
    height: 360px;
  }

  .saikaila-sketchup-info__meta {
    grid-template-columns: 1fr;
  }

  .saikaila-sketchup-debug__header {
    align-items: stretch;
    flex-direction: column;
  }

  .saikaila-sketchup-debug__summary {
    grid-template-columns: 1fr 1fr;
  }

  .saikaila-sketchup-auto-bom__header {
    align-items: stretch;
    flex-direction: column;
  }

  .saikaila-sketchup-auto-bom__summary {
    grid-template-columns: 1fr;
  }

  .saikaila-sketchup-project-draft__panels,
  .saikaila-sketchup-project-draft__stats {
    grid-template-columns: 1fr;
  }
}
