/* StudyLand Media Icon extension: image/GIF/video, preserved Theme Studio & Flip timer */
.todo-icon video,.habit-icon video,.media-icon img,.media-icon video{height:100%;width:100%;object-fit:cover;display:block;border-radius:inherit}
.todo-icon.media-icon,.habit-icon.media-icon{display:inline-grid;place-items:center;overflow:hidden}
.todo-icon-create-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0 17px;}
.todo-icon-create-tools .muted{flex:1;min-width:190px}
.icon-upload-button,.media-file-picker{cursor:pointer!important;display:inline-flex;justify-content:center;align-items:center;text-align:center;gap:8px;width:auto}
.todo-mini-preview{width:55px;height:55px;flex:0 0 55px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:13px;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.25);font-size:30px}
.todo-mini-preview img,.todo-mini-preview video{width:100%;height:100%;object-fit:cover}
.media-upload-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 12px;color:inherit;font-size:12px;min-height:0}
.media-upload-preview:empty{display:none}
.media-upload-preview img,.media-upload-preview video{width:105px;height:105px;object-fit:cover;border-radius:15px;background:rgba(18,31,35,.15);border:1px solid rgba(255,255,255,.6)}
.media-error{color:#a33d48!important;font-weight:800}
.custom-asset-form{flex-wrap:wrap}
.custom-asset-form>input{min-width:150px;flex:1}
.custom-asset-form>select{min-width:125px;flex:0.7}
.custom-asset-form>.media-file-picker{min-width:180px;flex:1.4}
.custom-asset-form>button{min-width:165px;flex:0.9}
.personal-media-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;align-items:stretch}
.personal-media-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:12px;border:1px solid rgba(255,255,255,.58);border-radius:17px;background:rgba(255,255,255,.13);min-width:0;overflow:hidden}
.personal-media-card>b{font-size:13px;overflow-wrap:anywhere}
.personal-media-card>small{font-size:10px;color:inherit;opacity:.8}
.personal-media-card>button{width:100%;margin-top:auto}
.personal-media-art{display:block;height:100px;width:100px;max-width:100%;overflow:hidden;border-radius:14px;background:rgba(120,140,150,.2);font-size:55px;line-height:100px}
.personal-media-art img,.personal-media-art video{object-fit:contain;width:100%;height:100%;display:block}
.todo-icon-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-height:90dvh;overflow-y:auto;border:1px solid #c6d4c9;border-radius:20px;padding:22px 24px;background:#fffdf9;color:#233529;box-shadow:0 25px 95px rgba(0,0,0,.35);}
.todo-icon-dialog::backdrop{background:rgba(12,20,22,.72);backdrop-filter:blur(3px)}
.todo-icon-dialog h3{margin:0 0 8px}
.todo-icon-dialog select{margin:7px 0 12px}
.todo-icon-dialog .todo-icon-edit-label{font-size:12px;font-weight:700;display:block}
.todo-icon-dialog .icon-upload-button{width:100%;margin:2px 0 8px}
.todo-dialog-preview{width:140px;height:140px;border-radius:18px;display:grid;place-items:center;background:#f4f0f2;border:1px dashed #b9c9c1;overflow:hidden;margin:14px auto;text-align:center;font-size:55px}
.todo-dialog-preview img,.todo-dialog-preview video{height:100%;width:100%;object-fit:contain}
.todo-dialog-preview span:not(.emoji-icon-preview){font-size:10px;line-height:1.3;padding:5px;overflow-wrap:anywhere}
.todo-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.todo-dialog-actions button{min-width:120px}
@media(max-width:760px){.todo-icon-create-tools{align-items:flex-start}.custom-asset-form>button{flex:1 0 100%}.todo-dialog-actions button{min-width:0;flex:1}}

/* Sticker ảnh động/video trong lịch trình */
.sticker-btn .sticker-media,.placed-sticker .sticker-media{display:block;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.sticker-btn .sticker-media img,.sticker-btn .sticker-media video,.placed-sticker .sticker-media img,.placed-sticker .sticker-media video{width:100%;height:100%;object-fit:contain;display:block}
