.model-input, .model-output { margin-top: 24px; }
.model-note { padding: 14px 18px; border-left: 4px solid var(--ag-accent); background: var(--ag-surface); border-radius: 6px; }
.model-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.model-form-grid fieldset { min-width: 0; border: 1px solid var(--ag-border); border-radius: 12px; padding: 16px; }
.model-form-grid legend { font-weight: 750; padding: 0 6px; }
.model-form-grid label { display: block; margin: 14px 0 6px; font-weight: 650; }
.model-form-grid input, .model-form-grid textarea, .model-form-grid select { display: block; width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid var(--ag-border); border-radius: 8px; color: var(--ag-text); background: var(--ag-surface); font: inherit; }
.model-form-grid textarea { font-family: monospace; resize: vertical; }
.model-form-grid small { display: block; margin-top: 8px; }
.model-form-grid small, .model-help { font-size: .9rem; }
.model-results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
.model-results-grid > section { min-width: 0; }
.model-badge { display: inline-block; padding: 5px 10px; border-radius: 6px; font-size: .8rem; font-weight: 800; letter-spacing: .04em; background: var(--ag-surface); border: 1px solid currentColor; }
.executed-panel { border-top: 4px solid #2563eb; }
.verified-panel { border-top: 4px solid #168454; }
.projected-panel { border-top: 4px solid #c08316; }
.model-values { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 16px; }
.model-values dt { color: var(--ag-muted); }
.model-values dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.model-formula { font-size: 1.15rem; }
.model-output pre { max-height: 420px; overflow: auto; padding: 16px; background: var(--ag-surface); border: 1px solid var(--ag-border); border-radius: 8px; font-size: .9rem; }
.model-output details { margin-top: 16px; }
.model-output summary { cursor: pointer; padding: 8px 0; font-weight: 650; }
.model-table-scroll { overflow-x: auto; }
.model-output table { width: 100%; border-collapse: collapse; }
.model-output th, .model-output td { padding: 10px; text-align: left; border-bottom: 1px solid var(--ag-border); }
#model-error { border-left: 4px solid #c43f3f; padding: 12px; font-weight: 650; }
#build:disabled { opacity: .65; cursor: wait; }
[hidden] { display: none !important; }
@media (max-width: 850px) { .model-form-grid { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .model-results-grid { grid-template-columns: 1fr; } .model-values { font-size: .94rem; } #build { width: 100%; } }
