:root{--ysk-primary:#237452;--ysk-deep:#194f3b;--ysk-text:#22392d;--ysk-muted:#52675b;--ysk-border:#dce6df;--ysk-danger:#9b271e}
.image-upload-tile{position:relative;display:block!important;flex:none!important;width:112px;max-width:100%;height:112px;min-width:0!important;margin:0!important;padding:0!important;overflow:hidden;border:1px dashed #9aafa3;border-radius:6px;background:#f3f6f5;cursor:pointer;box-sizing:border-box}
.image-upload-tile>img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover;margin:0!important;padding:0;border:0!important;border-radius:0!important}
/* The built-in logo is also an empty/cover fallback. Keep its full artwork;
   override cover rules (including editor IDs) only while this asset is shown. */
img[src="/assets/brand-logo-original.png"]{object-fit:contain!important}
.image-upload-tile>input[type=file]{position:absolute!important;inset:0!important;z-index:3;width:100%!important;height:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;opacity:0;cursor:pointer;font-size:16px}
.image-upload-tile:hover{border-color:#237452;background:#eaf3ee}.image-upload-tile:focus-within{outline:2px solid #237452;outline-offset:3px}
.image-upload-mark{position:absolute;right:5px;bottom:5px;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:4px;background:#ffffffed;color:#237452;font-size:21px;line-height:1;box-shadow:0 1px 5px #0002}
.image-upload-placeholder{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#617369;font-size:12px;text-align:center;padding:10px;box-sizing:border-box}.image-upload-placeholder b{font-size:28px;line-height:1;font-weight:400}.image-upload-placeholder~.image-upload-mark{display:none}
.image-upload-busy{display:none;position:absolute;inset:0;z-index:2;align-items:center;justify-content:center;background:#ffffffdb;color:#345749;font-size:12px}.image-upload-tile:has(input:disabled) .image-upload-busy{display:flex}.image-upload-tile>input:disabled{cursor:wait}
.image-upload-tile.avatar-upload{width:80px;height:80px}.image-upload-tile.cover-upload{width:96px;height:96px}.image-upload-tile.content-upload{width:320px;height:200px}.image-upload-tile.content-upload>img{object-fit:contain}
.image-upload-tile.library-upload{width:160px;height:120px}.image-upload-tile.qualification-upload{width:160px;height:112px}.image-upload-tile.product-upload{width:160px;height:160px}
.page,.workspace-content,.account-content,.modal,dialog{overflow-wrap:anywhere}
.page button.primary,.modal button.primary,dialog button.primary,.workspace-content button.primary{background:var(--ysk-primary);border-color:var(--ysk-primary);color:#fff}
.modal :focus-visible,dialog :focus-visible,.page input:focus-visible,.page select:focus-visible,.page textarea:focus-visible,.record-browser :focus-visible{outline:3px solid var(--ysk-primary);outline-offset:3px}
.modal .inline-error:not(:empty),dialog .error:not(:empty){background:#fff4f2;color:var(--ysk-danger);border-left:4px solid var(--ysk-danger);padding:12px;line-height:1.7}
.modal .inline-error:empty,dialog .error:empty{display:none}
.modal-header,.modal-footer{flex-shrink:0}.modal-body{min-height:0;overscroll-behavior:contain}.modal{max-height:calc(100dvh - 32px)}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.modal input,.modal select,.modal textarea,dialog input,dialog select,dialog textarea{min-width:0;max-width:100%;scroll-margin-block:20px}
.modal button,dialog button,.record-browser button{min-height:40px;white-space:normal}
.modal :is(h2,p,dt,dd),dialog :is(h2,p,dt,dd){overflow-wrap:anywhere}
@media(max-width:480px){.modal-backdrop{padding:12px}.modal-header,.modal-body,.modal-footer{padding:16px}.modal-footer{flex-wrap:wrap}.modal-footer button{flex:1 1 auto}.record-filters label{flex-basis:100%}.page-head{flex-wrap:wrap;gap:12px}dialog{padding:16px}}
