.logo-composite-dialog *{box-sizing:border-box}
.logo-composite-dialog h1{font-size:30px;margin:6px 0 14px}
.logo-composite-dialog h2{font-size:19px;margin:0 0 14px}
.logo-composite-dialog p{line-height:1.65}
.logo-composite-dialog .eyebrow{color:#087e70;font-weight:700;letter-spacing:2px}
.logo-composite-dialog .lead{max-width:900px;color:#536775}
.logo-composite-dialog .layout{display:grid;grid-template-columns:330px 1fr;gap:24px}
.logo-composite-dialog .card{background:white;border:1px solid #d9e3e4;border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 2px 4px #143b4104}
.logo-composite-dialog .fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.logo-composite-dialog .field{display:grid;gap:7px;margin:12px 0;color:#445a66;font-size:14px}
.logo-composite-dialog .field input,.logo-composite-dialog .field select{padding:11px;border:1px solid #bdcdd1;border-radius:8px;width:100%;font:inherit}
.logo-composite-dialog input[type=range]{width:100%;accent-color:#087e70}
.logo-composite-dialog .check{display:flex;gap:9px;font-size:14px;line-height:1.6;margin:16px 0}
.logo-composite-dialog .check input{flex:none}
.logo-composite-dialog .button,.logo-composite-dialog button{border:1px solid #b6c8cb;border-radius:9px;padding:11px 14px;background:white;color:#173833;cursor:pointer;font:inherit;display:inline-block;text-decoration:none}
.logo-composite-dialog button.primary{background:#087e70;border-color:#087e70;color:white;font-weight:700}
.logo-composite-dialog button:disabled{opacity:.4;cursor:not-allowed}
.logo-composite-dialog .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.logo-composite-dialog .upload{display:block;margin:10px 0}
.logo-composite-dialog .upload input{font-size:12px;max-width:100%;margin-top:8px}
.logo-composite-dialog .thumb{max-height:100px;max-width:100%;background:repeating-conic-gradient(#eee 0% 25%,#fff 0% 50%) 50%/14px 14px;border:1px solid #eee}
.logo-composite-dialog .stage{position:relative;touch-action:none;min-height:260px;background:repeating-conic-gradient(#e8eeee 0% 25%,#f6f9f9 0% 50%) 50%/22px 22px;border:1px solid #d0dedd;border-radius:10px;overflow:hidden}
.logo-composite-dialog .stage canvas{display:block;width:100%;height:auto;touch-action:none}
.logo-composite-dialog .placeholder{padding:80px 30px;text-align:center;color:#6a7c85}
.logo-composite-dialog .warning{background:#fff5e6;border:1px solid #f0d5a7;border-radius:10px;padding:14px;font-size:14px;line-height:1.7}
.logo-composite-dialog .notice{min-height:45px;padding:13px 0;color:#087e70;font-weight:600}
.logo-composite-dialog .muted,.logo-composite-dialog small{color:#627681;font-size:13px;line-height:1.65}
.logo-composite-dialog .hashes{font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap;max-height:240px;overflow:auto;background:#f7f9f9;padding:13px;border-radius:8px}
.logo-composite-dialog .status{display:inline-block;padding:6px 10px;border-radius:6px;background:#e8f4ef;color:#087e70;font-size:13px}
.logo-composite-dialog #preview-result{width:100%;height:auto;display:none;margin-top:14px}
.logo-composite-dialog details{margin-top:14px}
.logo-composite-dialog{width:min(1280px,96vw);max-height:94vh;border:1px solid #b6c8cb;border-radius:16px;padding:24px;overflow:auto;color:#173833;background:#f5f8f8}.logo-composite-dialog::backdrop{background:#102628aa}.logo-composite-dialog .composite-commit{background:#fff5e6;padding:20px;border-radius:12px}.logo-composite-dialog [hidden]{display:none!important}@media(max-width:850px){.logo-composite-dialog{padding:14px}.logo-composite-dialog .layout{grid-template-columns:1fr}.logo-composite-dialog h1{font-size:25px}}