/* finesse · component: service-document · register=product
 * tokens: inherited PIKA · existing gray actions / yellow confirmation */
.service-document{--service-document-section-inset:24px;width:100%;min-width:0;padding:12px 0;color:var(--ink,#20251f)}
.generation-result>.service-document:has(+.generation-result-actions){padding-bottom:0}
.generation-result>.service-document:has(+.generation-result-actions)>.service-document-section:last-child{margin-bottom:0}
.service-document-drawing>div:has(>.service-document-actions){padding-bottom:var(--service-document-section-inset)}
.service-document-header,.service-document-generation{display:flex;align-items:center;justify-content:space-between;gap:16px}
.service-document-header{margin:0 0 18px}.service-document h2,.service-document h3,.service-document h4{margin:0}.service-document-header small,.service-document small{color:var(--muted,#62695f)}
.service-document-section{margin:0 0 16px;border:1px solid var(--line,#e1e4de);border-radius:20px;background:var(--surface,#fff);overflow:hidden}
.service-document-section>summary{display:flex;align-items:center;gap:12px;padding:var(--service-document-section-inset) 24px;min-height:64px}.service-document-section>summary h2{flex:1;min-width:0;overflow-wrap:anywhere}
.service-document-section>div{padding:0 24px 8px}.service-document-entry{min-width:0}.service-document-entry+.service-document-entry{border-top:1px solid var(--line,#e1e4de)}
.service-document h2{font-weight:600;line-height:1.5}.service-document-entry>summary{display:flex;align-items:center;gap:12px;min-height:64px;padding:16px 0}.service-document-entry>summary :is(h3,h4){flex:1;font-weight:500;line-height:1.65;min-width:0;overflow-wrap:anywhere}.service-document-entry>div{padding:0 0 24px 24px}.service-document-state{flex:none;padding:4px 8px;border-radius:6px;white-space:nowrap}.service-document-state[data-confirmed=true]{background:var(--yellow,#f6cf09);color:var(--ink,#222822)}
.service-document-design-group{padding:8px 0 12px}.service-document-design-group+.service-document-design-group{border-top:1px solid var(--line,#e1e4de);padding-top:24px}.service-document-design-group>header{display:flex;align-items:baseline;gap:12px;margin:0 0 8px;flex-wrap:wrap}.service-document-design-group h3{display:flex;align-items:baseline;gap:12px;font-weight:600;line-height:1.65}.service-document-design-group h3>span{color:var(--yellow,#f6cf09);font-variant-numeric:tabular-nums}.service-document-design-group>header>small{line-height:1.65}.service-document-empty{margin:12px 0 20px;line-height:1.8}.service-document-drawing .service-document-generation{border-top:1px solid var(--line,#e1e4de);margin-top:20px;padding-top:20px}
.service-document-design-group>header>.service-document-group-count{margin-left:auto;white-space:nowrap;flex-basis:auto;padding-left:0}
.service-document-summary{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:0}.service-document-detail>summary{padding:10px 0;color:var(--muted,#62695f)}
.service-confirmation-text{white-space:normal;overflow-wrap:anywhere;line-height:1.8;margin:0}.service-confirmation-text>p,.service-confirmation-text>ul,.service-confirmation-text>ol{margin:0}.service-confirmation-text>p,.service-confirmation-text li{white-space:pre-wrap}.service-confirmation-text>ul,.service-confirmation-text>ol{padding-left:20px;list-style-position:outside}.service-confirmation-text>ul{list-style-type:disc}.service-confirmation-text>ol{list-style-type:decimal}.service-confirmation-text>p+p,.service-confirmation-text>p+ul,.service-confirmation-text>p+ol,.service-confirmation-text>ul+p,.service-confirmation-text>ol+p,.service-confirmation-text>ul+ol,.service-confirmation-text>ol+ul,.service-confirmation-text>ul+ul,.service-confirmation-text>ol+ol{margin-top:12px}.service-confirmation-text li+li{margin-top:4px}.service-confirmation-text strong{font-weight:600;color:inherit}
.service-document-detail>div{max-height:320px;overflow:auto;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;padding:10px 4px 10px 0}
.service-document-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px}.service-document button{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:44px;padding:8px 14px;border:0;border-radius:8px;background:var(--card-soft,#f7f7f5);color:var(--ink-soft,#454b44);font-weight:400;line-height:1.5;white-space:nowrap;cursor:pointer;box-shadow:none}.service-document-actions>button{flex:0 0 112px;width:112px;min-width:112px;height:36px;min-height:36px;padding:6px 14px}.service-document button svg{width:14px;height:14px;flex:none}.service-document button.service-document-confirm{min-width:112px;background:var(--yellow,#f6cf09);color:var(--ink,#222822)}.service-document button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--ink-soft,#454b44)}
.service-document button.service-document-confirm[aria-pressed=true]{box-shadow:none}
.service-document button.service-document-sketch-confirm{min-width:112px;background:#e8e9e5;color:#62695f}
.service-document button.service-document-sketch-confirm[data-confirmed=true]{background:var(--yellow,#f6cf09);color:#222822}
.service-document button.service-document-sketch-confirm[data-confirmed=true]:disabled{opacity:1;cursor:default}
.service-document button:disabled{opacity:.5;cursor:not-allowed}.service-document button.service-document-confirm[data-confirmed=true]:disabled{opacity:1;cursor:default}
@media(hover:hover){.service-document button:hover:not(:disabled){filter:brightness(.98)}}
.service-document button:active:not(:disabled){filter:brightness(.95)}
.service-document button:focus-visible,.service-document summary:focus-visible,.service-document-detail>div:focus-visible{outline:2px solid var(--ink,#20251f);outline-offset:3px}.service-document-generation{padding:8px 0 16px}.service-document-generation>button{background:var(--yellow,#f6cf09);color:var(--ink,#222822)}
.service-document-sketch-request>p{margin:12px 0;line-height:1.8;color:var(--muted,#62695f)}
.service-document-sketch-request>label{display:block;margin-bottom:8px;line-height:1.65}
.service-document-sketch-request textarea{box-sizing:border-box;width:100%;min-height:92px;max-height:184px;resize:vertical;overflow:auto;line-height:1.65;padding:12px;border:1px solid var(--line,#e1e4de);border-radius:8px;background:var(--surface,#fff);color:var(--ink,#20251f)}
.service-document-sketch-request textarea:focus-visible{outline:2px solid var(--ink,#20251f);outline-offset:3px}
.service-document-sketch-request textarea:disabled{opacity:.6;cursor:not-allowed}
.service-document>.generation-result-actions{margin:0 0 20px}
.service-document-drawing .sp-section{--sp-review-ink:#62695f}
@media(max-width:600px){.service-document{--service-document-section-inset:18px}}
@media(max-width:600px){.service-document-section>summary{padding:18px 14px}.service-document-section>div{padding:0 14px 8px}.service-document-generation{align-items:flex-start;flex-direction:column}.service-document-generation>button{align-self:flex-end}.service-document-entry>div{padding-left:0}.service-document-design-group>header{gap:4px 12px}.service-document-design-group>header>small{flex-basis:100%;padding-left:28px}.service-document-existing>header>small{padding-left:0}.service-document-actions{gap:6px}.service-document button{padding:8px 12px}.service-document-detail>div{max-height:260px}}
