/* finesse · component: material editor · register=product · tokens: inherited */
.material-edit{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:48px;text-align:left;border-radius:var(--r-sm);padding:6px 8px 6px 0;color:var(--ink)}
.material-edit>span{min-width:0}.material-edit .material-name,.material-edit .material-spec{display:block}.material-edit .material-spec{margin-top:5px;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.material-edit>.icon{flex:0 0 16px;width:16px;height:16px;color:var(--accent)}
.usage-value{min-height:44px;display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:left;padding:4px 6px;border-radius:8px}.usage-value .icon{width:13px;height:13px;color:var(--accent)}
.calculation-tag{display:inline-block;font-size:10px;line-height:1.6;letter-spacing:.01em;color:var(--accent);background:var(--accent-soft);padding:2px 7px;border-radius:7px;margin-top:3px}
.reference-edit{display:flex;align-items:center;gap:7px;min-height:44px;color:var(--accent);font:inherit;font-size:12px;white-space:nowrap;padding:6px 8px;border-radius:8px}.reference-edit .icon{width:14px;height:14px}
#dialog:has(.material-editor){width:min(720px,calc(100vw - 28px));max-width:720px;max-height:92dvh}.material-editor .field{font-size:13px;line-height:1.45}.material-editor input,.material-editor select{min-height:44px;font:inherit;padding:10px 12px;background:var(--inset);border:1px solid var(--line-strong);color:var(--ink)}
.material-editor .form-grid{gap:14px 18px}.material-editor .editor-intro{margin-top:0;line-height:1.6;color:var(--muted)}.editor-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.material-editor .editor-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0 16px}
.editor-check{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--text);margin-top:14px;min-height:36px}.editor-check input{width:17px;min-height:17px;accent-color:var(--accent);flex-shrink:0}
.editor-preview{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--r-sm);padding:18px 20px;margin-top:20px;min-height:106px}.editor-preview>span{font-size:12px;color:var(--muted)}.editor-preview>strong{display:block;font-size:28px;font-weight:650;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--ink);overflow-wrap:anywhere}.editor-preview strong small{font-size:13px;font-weight:450;color:var(--muted)}.editor-preview code{display:block;font:12px/1.6 ui-monospace,monospace;color:var(--text);margin-top:6px;overflow-wrap:anywhere}.editor-totals{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--text)}.editor-totals b{font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.editor-preview[data-state=error]{background:var(--inset)}.editor-error{min-height:20px}.editor-source{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.material-editor .dialog-actions{position:sticky;bottom:0;background:var(--surface);padding:14px 0;margin-top:12px;min-height:60px}.material-editor .dialog-actions .button{min-width:112px;white-space:nowrap}.material-editor [hidden]{display:none}
.material-edit:focus-visible,.usage-value:focus-visible,.reference-edit:focus-visible,.material-editor :is(input,select,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px;transition:none}
.material-edit:active,.usage-value:active,.reference-edit:active{background:var(--accent-soft);transform:translateY(1px)}.material-editor button:disabled{opacity:.5;cursor:not-allowed}.material-editor [aria-busy=true]{cursor:progress;min-width:112px}.material-editor [aria-invalid=true]{border-color:var(--error)}
@media(hover:hover){.material-edit:hover,.usage-value:hover,.reference-edit:hover{background:var(--accent-soft);color:var(--accent)}}
@media(max-width:520px){.material-editor .form-grid{grid-template-columns:minmax(0,1fr)}.editor-preview{padding:16px}.editor-preview>strong{font-size:25px}.editor-totals{grid-template-columns:minmax(0,1fr);gap:4px}.editor-totals b{margin-bottom:8px}.material-editor .dialog-actions{bottom:0;gap:8px}.material-editor .dialog-actions .button{flex:1;min-width:0}.usage-options>div{flex-wrap:wrap}.material-edit{gap:8px}}
@media(prefers-reduced-motion:reduce){.material-edit,.usage-value,.reference-edit{transition:none;transform:none}}
