/* X1108 · source-owned, responsive Office→Studio bridge; no global theme overrides */
.x1108-bridge{margin:18px 0 28px;max-width:1160px;padding:clamp(20px,3vw,36px);background:#1b211d;border:1px solid #4b5a4c;border-radius:17px;color:#eef0e8}
.x1108-overline{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;color:#cdbb9b;text-transform:uppercase}
.x1108-heading h2{font-weight:500;font-size:clamp(23px,3vw,39px);line-height:1.13;letter-spacing:-.047em;margin:13px 0;color:#f1f0ea}
.x1108-heading p,.x1108-disclosure{max-width:70ch;font-size:12px;line-height:1.72;color:#c0c9bc}
.x1108-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;padding-top:19px;border-top:1px solid #3d4b41}
.x1108-panel>label:not(.x1108-consent){display:block;font-size:12px;font-weight:650;color:#ebede4}
.x1108-panel input[type=file]{padding:12px;min-width:0;max-width:100%;background:#101612;border:1px solid #667265;border-radius:9px;color:#e8eee5;font-size:12px}
.x1108-status{font-size:12px;color:#c5d1c6;margin:0;line-height:1.5}
.x1108-preview{padding:14px 16px;border:1px solid #536356;background:#242e26;border-radius:11px;overflow-wrap:anywhere}
.x1108-preview p{font-size:12px;line-height:1.6;color:#dce4d8}
.x1108-diff{display:grid;gap:10px;margin:13px 0}.x1108-diff div{padding:12px 0;border-bottom:1px solid #4a594d}
.x1108-diff dt{color:#b9c6b9;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.x1108-diff dd{margin:5px 0 0;color:#fff;font-size:13px;line-height:1.55}
.x1108-consent{font-size:12px;line-height:1.55;display:flex;align-items:flex-start;gap:10px;color:#d0d8ce}
.x1108-consent input{margin-top:4px;width:17px;height:17px;flex-shrink:0;accent-color:#c8baa0}
.x1108-apply{justify-self:start;min-height:48px;border:1px solid #d6c6a8;background:#d4c3a6;color:#1c251d;font-size:13px;font-weight:700;border-radius:9px;padding:12px 18px;cursor:pointer}
.x1108-apply:hover:not(:disabled){background:#ebdab9}.x1108-apply:disabled{opacity:.55;cursor:not-allowed}
.x1108-panel :is(input,button):focus-visible{outline:2px solid #e9c991;outline-offset:3px}
@media(max-width:720px){.x1108-bridge{padding:18px;margin:14px 0 22px}.x1108-apply{width:100%}.x1108-heading h2{font-size:clamp(24px,7vw,33px)}}
@media(prefers-reduced-motion:reduce){.x1108-bridge *{transition:none!important;animation:none!important}}