.logo-upload{border:1px dashed #e2845e;border-radius:14px;background:#fff8f3;padding:16px;color:#17334d;font:16px/1.4 Outfit,Arial,sans-serif;text-align:left}
.logo-title{display:block;font-weight:600;margin-bottom:12px}.logo-title span{color:#a04428}
.logo-pick-row{display:flex;gap:14px;align-items:center}.logo-thumbnail{display:grid;place-items:center;flex:none;width:72px;height:72px;border:1px solid #e2845e;border-radius:14px;background:#fff;overflow:hidden;cursor:pointer;font-size:28px}.logo-thumbnail img{width:100%;height:100%;object-fit:cover}.logo-thumbnail [hidden]{display:none}
.logo-file-control{min-width:0;flex:1}.logo-file-control input{width:100%;min-width:0;font:14px Outfit,Arial,sans-serif;color:#17334d;background:transparent;border:0;margin:0;padding:0;height:auto}.logo-file-control input::file-selector-button{display:block;background:#17334d;color:#fff;border:0;border-radius:8px;padding:10px 12px;font:600 14px Outfit,Arial,sans-serif;margin-bottom:7px;cursor:pointer}.logo-file-control p{font-size:12px;color:#52677b;margin:5px 0 0}.logo-result:empty,.logo-error:empty{display:none}.logo-result{font-size:13px;margin:10px 0 0}.logo-error{font:14px/1.4 Outfit,Arial,sans-serif;color:#a43322;margin:10px 0 0}
.logo-dialog-backdrop{position:fixed;inset:0;z-index:10000;background:#10273cb8;display:flex;align-items:center;justify-content:center;padding:16px;overscroll-behavior:contain}
.logo-dialog{width:100%;max-width:440px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:20px;padding:18px;color:#17334d;font:16px/1.4 Outfit,Arial,sans-serif;box-shadow:0 12px 50px #10273c55}.logo-dialog *{box-sizing:border-box}.logo-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.logo-dialog h2{font-size:21px;margin:0}.logo-dialog-heading button{border:0;background:#fff3eb;color:#17334d;border-radius:50%;width:36px;height:36px;font:26px Arial}.logo-dialog p{font-size:14px;color:#52677b;margin:8px 0 14px}.logo-crop-stage{height:300px;height:min(40dvh,320px);min-height:180px;width:100%;background:#f0f3f5;overflow:hidden;touch-action:none;overscroll-behavior:contain}.logo-crop-stage>img{display:block;max-width:100%;max-height:100%}.logo-crop-stage .cropper-container{touch-action:none}.logo-crop-stage .cropper-view-box{outline:2px solid #e2845e;outline-color:#e2845e}.logo-crop-stage .cropper-line,.logo-crop-stage .cropper-point{background:#e2845e}.logo-crop-tools{display:flex;justify-content:center;align-items:center;gap:12px;margin:14px 0}.logo-crop-tools button{min-width:38px;min-height:38px;border:1px solid #cdd6dd;border-radius:8px;background:#fff;color:#17334d;padding:5px 10px;font:600 16px Outfit,Arial}.logo-crop-tools span{font-size:14px}.logo-crop-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.logo-crop-actions button{min-height:46px;border:1px solid #17334d;border-radius:10px;background:#fff;color:#17334d;font:600 16px Outfit,Arial}.logo-crop-actions button[data-action=use]{background:#17334d;color:#fff}.logo-dialog button:disabled{opacity:.45}.logo-dialog button:focus-visible,.logo-file-control input:focus-visible{outline:3px solid #e2845e;outline-offset:2px}

/* Keep the native file button visible without the misleading cleared filename. */
.logo-file-control input[type=file]{color:transparent;font-size:0}.logo-file-control input[type=file]::file-selector-button{color:#fff;font-size:14px}
