/* Extends existing project cards and form tokens; no separate component framework. */
#property-taxView {
  min-width: 0;
}
.pt-parameters {
  margin-bottom: 20px;
  width: 100%;
}
.pt-settings {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
  margin-bottom: 24px;
}
.pt-settings h2 {
  font-size: 17px;
  margin: 0 0 20px;
}
.pt-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
  align-items: start;
}
.pt-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  font-size: 13px;
  color: #657083;
}
.pt-field > span {
  line-height: 20px;
}
.pt-field input,
.pt-field select {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: var(--field-height, 44px);
  min-height: var(--field-height, 44px);
  font: inherit;
  font-size: 15px;
  line-height: 22px;
  padding: 10px 12px;
  border: 1px solid #cdd4df;
  border-radius: 6px;
  background: #fff;
  color: #344155;
}
.pt-field select {
  padding-right: 42px;
}
.pt-field input:focus,
.pt-field select:focus {
  outline: none;
  box-shadow: none;
}
.pt-field input[type="month"] {
  display: inline-block;
}
.pt-field input[type="month"]::-webkit-datetime-edit,
.pt-field input[type="month"]::-webkit-date-and-time-value {
  line-height: 22px;
  min-height: 22px;
  padding: 0;
  text-align: left;
}
.pt-field small {
  line-height: 1.8;
  font-size: 12px;
  color: #738095;
}
.pt-period {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  grid-column: 1/-1;
  min-width: 0;
}
.pt-settings > .pt-grid > .pt-period {
  grid-column: auto;
}
.pt-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 15px 0;
  font-size: 13px;
  line-height: 1.9;
  color: #475469;
}
.pt-check input {
  width: 17px;
  height: 17px;
  min-height: 0;
  flex: 0 0 17px;
  margin-top: 4px;
  padding: 0;
}
.pt-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 24px;
  align-items: start;
}
.pt-property {
  margin-bottom: 22px;
}
.pt-property-head,
.pt-segment > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 22px;
}
.pt-property-head > div:first-child {
  flex: 1;
  min-width: 0;
}
.pt-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.pt-actions button {
  padding: 8px;
}
.pt-readonly {
  display: flex;
  flex-direction: column;
  gap: 14px;
  color: #738095;
  font-size: 13px;
}
.pt-readonly strong {
  font-size: 14px;
  font-weight: 500;
  color: #344155;
}
.pt-segment {
  border-top: 1px solid var(--line);
  padding-top: 22px;
  margin-top: 22px;
  min-width: 0;
}
.pt-segment h3,
.pt-allocation h3 {
  font-size: 15px;
  margin: 0;
  font-weight: 600;
}
.pt-segment > .pt-field {
  margin-bottom: 16px;
}
.pt-note {
  font-size: 12px;
  line-height: 1.9;
  color: #738095;
  margin: 12px 0 18px;
  overflow-wrap: anywhere;
}
.pt-details {
  border-top: 1px solid var(--line);
  padding-top: 15px;
  margin: 18px 0;
  color: #536075;
  font-size: 13px;
  line-height: 1.9;
}
.pt-details > summary {
  cursor: pointer;
  font-weight: 500;
  color: #475469;
}
.pt-details[open] > summary {
  margin-bottom: 16px;
}
.pt-details .pt-grid {
  margin-bottom: 15px;
}
.pt-details pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font:
    13px/1.9 ui-monospace,
    SFMono-Regular,
    Consolas,
    monospace;
  padding: 15px;
  background: #f6f7f9;
  border-radius: 6px;
}
.pt-allocation {
  margin-top: 22px;
  padding: 20px;
  background: #f7f8fa;
  border: 1px solid var(--line);
  border-radius: 7px;
}
.pt-allocation h3 {
  margin-bottom: 18px;
}
.pt-inline {
  display: flex;
  align-items: end;
  gap: 12px;
}
.pt-inline .pt-field {
  flex: 1;
}
.pt-inline button {
  width: auto;
  flex-shrink: 0;
}
.pt-free-row {
  display: flex;
  align-items: end;
  gap: 10px;
  margin-bottom: 18px;
}
.pt-free-row .pt-period {
  flex: 1;
}
.pt-free-row button {
  width: auto;
}
.pt-free-list + button {
  margin-bottom: 15px;
}
.pt-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 18px;
  background: #f0f2f6;
  border-radius: 7px;
  margin-top: 22px;
}
.pt-result-grid span {
  display: block;
  font-size: 12px;
  color: #738095;
}
.pt-result-grid strong {
  display: block;
  font-size: 15px;
  margin-top: 8px;
  overflow-wrap: anywhere;
}
.pt-result-dl {
  margin: 0 0 24px;
}
.pt-result-dl > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}
.pt-result-dl dt {
  font-size: 12px;
  color: #738095;
}
.pt-result-dl dd {
  margin: 0;
  font-size: 14px;
  text-align: right;
}
.pt-summary h2 {
  font-size: 25px;
  overflow-wrap: anywhere;
}
.pt-summary .summary-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.pt-errors,
.pt-warnings {
  border: 1px solid #d4d8df;
  border-radius: 8px;
  padding: 16px 22px;
  margin-top: 22px;
  background: #fff;
  font-size: 13px;
  line-height: 1.9;
}
.pt-errors {
  border-color: #bc7b72;
  color: #854c43;
}
.pt-errors h2 {
  font-size: 15px;
}
.pt-warnings {
  color: #697386;
}
.pt-errors ul,
.pt-warnings ul {
  margin: 0;
  padding-left: 18px;
}
.pt-policy-links {
  display: grid;
  gap: 8px;
}
.pt-policy-links a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pt-policy-notes {
  margin-top: 28px;
}
#ptActionStatus {
  font-size: 13px;
  color: #536075;
  margin-top: 16px;
}
@media (max-width: 1200px) {
  .pt-workspace {
    grid-template-columns: minmax(0, 1fr);
  }
  .pt-summary {
    position: static;
  }
  .pt-summary .summary-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pt-summary .summary-actions button {
    width: 100%;
  }
}
@media (max-width: 600px) {
  .pt-settings {
    padding: 18px 16px;
  }
  .pt-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .pt-settings > .pt-grid > .pt-period {
    grid-column: 1/-1;
  }
  .pt-period {
    gap: 10px;
  }
  .pt-field {
    font-size: 12px;
  }
  .pt-field input,
  .pt-field select {
    font-size: 16px;
  }
  .pt-property-head {
    align-items: flex-start;
    gap: 10px;
  }
  .pt-actions {
    gap: 3px;
  }
  .pt-actions button {
    font-size: 12px;
    padding: 6px;
  }
  .pt-readonly {
    gap: 8px;
  }
  .pt-free-row {
    flex-wrap: wrap;
  }
  .pt-free-row > .pt-period {
    flex-basis: 100%;
  }
  .pt-free-row button {
    margin-left: auto;
  }
  .pt-allocation {
    padding: 16px 12px;
  }
  .pt-segment > header {
    align-items: flex-start;
  }
  .pt-segment > header button {
    font-size: 11px;
    width: auto;
  }
  .pt-inline {
    flex-direction: column;
    align-items: stretch;
  }
  .pt-inline button {
    align-self: start;
  }
  .pt-result-grid {
    padding: 16px 12px;
    gap: 17px 10px;
  }
  .pt-result-grid strong {
    font-size: 14px;
  }
  .pt-summary .summary-actions {
    grid-template-columns: 1fr;
  }
  .pt-details pre {
    font-size: 12px;
  }
  .pt-parameters strong {
    font-size: 12px;
  }
}

.pt-allocation-hints {
  color: var(--blue);
  font-size: 12px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.pt-allocation-hints p {
  margin: 10px 0 0;
}
