.extension-section{margin-top:24px;min-width:0}
.extension-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--ds-line);min-width:0}
.extension-row>div{min-width:0;overflow-wrap:anywhere}.extension-row select{max-width:180px}
.extension-section h3{margin-bottom:12px}.extension-section .button-row{margin:12px 0}.extension-section .form-grid{margin:16px 0}
.extension-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.extension-grid .panel{min-width:0;overflow-wrap:anywhere}
.extension-kpi{font-size:1.8rem;font-weight:600;margin-top:8px}
.progress-figure{margin:16px 0;min-width:0}.progress-figure figcaption{font-size:1rem;font-weight:600}.progress-figure ul{padding-left:20px;font-size:.8rem}
.progress-ring{display:grid;place-items:center;width:128px;height:128px;border-radius:50%;margin:20px auto}.progress-ring>span{display:grid;place-items:center;width:94px;height:94px;border-radius:50%;background:var(--ds-surface-raised);font-size:1.6rem;font-weight:600}
.progress-chart{display:flex;align-items:end;gap:6px;min-height:160px;padding:20px 0 28px;overflow:visible}.progress-column{display:flex;align-items:end;justify-content:center;position:relative;flex:1;min-width:0;gap:2px}.progress-column>span{display:block;flex:1;min-width:3px;max-width:28px;border-radius:3px 3px 0 0}.progress-column small{position:absolute;top:100%;padding-top:6px;font-size:.55rem;writing-mode:vertical-rl;max-height:50px}
.progress-column>span:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.progress-column>span:focus-visible:after{content:attr(title);position:absolute;z-index:5;bottom:calc(100% + 8px);left:0;padding:6px;border:1px solid var(--ds-line);border-radius:6px;background:var(--ds-surface-raised);color:var(--ds-text);width:max-content;max-width:160px;font-size:.7rem}
@media(max-width:760px){.extension-row{align-items:flex-start;flex-wrap:wrap}.extension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.extension-grid{grid-template-columns:1fr}}

/* Quotes use existing semantic surfaces; glass stays on the shared dialogs. */
.quote-manager{scroll-margin-top:100px}
.quote-manager summary{cursor:pointer;font-weight:600;padding:12px 0;line-height:1.5}
.quote-manager .help{line-height:1.65;margin:8px 0;overflow-wrap:anywhere}
.quote-preferences{border-bottom:1px solid var(--ds-line);padding-bottom:16px;margin:20px 0}
.quote-manager .quote-tabs{gap:8px;margin:20px 0}
.quote-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin:24px 0}
.quote-manager .field-label{min-width:0}
.quote-manager input:not([type=checkbox]),.quote-manager select,.quote-manager textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.quote-bulk{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:16px;background:var(--ds-surface-raised);border:1px solid var(--ds-line);border-radius:14px}
.quote-bulk [role=status]{font-size:.8rem;color:var(--text-muted);margin-right:auto}
.quote-row{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(140px,auto);gap:12px;align-items:start;padding:22px 0;border-bottom:1px solid var(--ds-line)}
.quote-copy{min-width:0;overflow-wrap:anywhere}.quote-text{font-size:1rem;line-height:1.65;margin:0;max-width:70ch}
.quote-row .button-row{max-width:260px;justify-content:flex-end;margin:0;gap:8px}
.quote-select{display:flex;min-height:44px;min-width:32px;align-items:center;justify-content:center;cursor:pointer}
.quote-manager input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent-rose)}
.quote-setup{padding:18px;border:1px solid var(--ds-line);border-radius:14px;background:var(--ds-surface-raised);margin:20px 0}
.quote-import{margin-top:24px}.quote-import textarea{min-height:160px}
.quote-manager .pill{min-height:40px;white-space:normal;overflow-wrap:anywhere}
.quote-manager :is(button,input,select,textarea,summary,a):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
@media(max-width:1000px){.quote-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-row{grid-template-columns:32px minmax(0,1fr)}.quote-row>.button-row,.quote-row>.field-label{grid-column:2;justify-content:flex-start;max-width:100%}}
@media(max-width:480px){.quote-filters{grid-template-columns:1fr}.quote-row{column-gap:8px}.quote-manager .pill{min-height:44px}.quote-bulk{padding:12px}.quote-bulk .check-row{width:100%}}
