:root{font:14px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#405b70;background:#f6fbff}*{box-sizing:border-box}body{margin:0}header{text-align:center;padding:32px 16px 23px;background:linear-gradient(#e1f2fc,#fff)}small,.label{font-size:10px;font-weight:700;letter-spacing:2px;color:#8ca7bb}h1{font-size:23px;letter-spacing:1.5px;margin:13px 0 19px}h2{font-size:18px}nav{display:flex;justify-content:center;align-items:center;gap:12px}a{color:#53748b}nav a{font-size:11px;text-decoration:none}.shell{max-width:1060px;margin:auto;padding:20px 16px 30px}.card{background:#fff;border:1px solid #dcebf4;border-radius:20px;padding:22px;margin-bottom:16px;box-shadow:0 5px 18px #a2c7df18}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-actions{display:flex;gap:7px;flex-wrap:wrap}button,.button{font:inherit;border:1px solid #cbdfea;background:#f5faff;color:#53748b;border-radius:10px;padding:10px 12px;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:#b8dff4;border-color:#a4d1e9;color:#234c65}button:hover,.button:hover{filter:brightness(.97)}button:disabled{opacity:.45;cursor:default}input,select,textarea{width:100%;border:1px solid #cbdfea;border-radius:10px;padding:11px;font:inherit;color:#405b70;background:#fff;margin-top:6px}label{display:block;font-size:12px;color:#7894a9}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #71afd2;outline-offset:2px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:25px;margin-top:20px}.calendar-nav{display:flex;gap:7px;align-items:center;margin-bottom:12px}.calendar-nav strong{margin-right:auto;letter-spacing:2px}.calendar-nav button{padding:6px 11px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays span{font-size:9px;text-align:center;color:#8ca7bb;padding:6px 0}.day{min-height:51px;padding:7px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:white;border-color:#e5eff6;color:#8aa2b4;font-size:12px}.day.has-events{background:#edf7fd;color:#345b75;border-color:#c7e2f2;font-weight:700}.day.selected{background:#b8dff4;border-color:#83bfe2;color:#234c65}.day.today{box-shadow:inset 0 0 0 1px #79b5d7}.dots{display:flex;gap:3px;height:5px}.dots i{height:4px;width:4px;border-radius:50%;background:#7db7d6}.performance-browser{border-left:1px solid #e6f0f6;padding-left:24px}.browser-tools{display:flex;gap:6px;margin:10px 0 14px}.browser-tools button{font-size:11px;padding:7px 9px}.browser-tools .active{background:#b8dff4}#dateLabel{min-height:15px;margin-bottom:9px}.performance-results{display:grid;gap:7px;min-height:160px;align-content:start}.performance-option{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px 12px;overflow-wrap:anywhere;background:#f8fcff;font-size:12px}.performance-option small{font-size:9px;letter-spacing:1px;font-weight:400}.performance-option.active{border-color:#81bada;background:#e7f5fd}.paging{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:11px}.paging button{font-size:11px;padding:6px 9px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin-top:16px}.toolbar{display:flex;gap:10px;align-items:center;margin-top:15px}.toolbar span{margin-right:auto;color:#8ca7bb;font-size:12px}.toolbar button{font-size:11px;padding:7px 10px}#selectedPerformance{font-size:13px;overflow-wrap:anywhere}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:start}.video-card{border:1px solid #dcebf4;background:#fff;border-radius:16px;overflow:hidden;min-width:0}.poster{border:0;border-radius:0;width:100%;padding:0;aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,#e8f5fc,#f7eff8);overflow:hidden;display:grid;place-items:center}.poster img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.poster .play{position:absolute;width:36px;height:36px;border-radius:50%;background:#ffffffeb;display:grid;place-items:center;box-shadow:0 2px 15px #53748b18}.poster .platform{position:absolute;top:9px;left:9px;font-size:9px;border-radius:20px;padding:4px 7px;background:#ffffffe0;color:#648ba3}.poster .fallback{font-size:14px;font-weight:600;max-width:70%;overflow-wrap:anywhere}.compact .poster{aspect-ratio:auto;min-height:64px;display:flex;justify-content:space-between;padding:14px 15px;gap:10px}.compact .poster .platform{position:static;order:1;white-space:nowrap}.compact .poster .play{position:static;order:2;width:29px;height:29px;flex:none;font-size:11px;box-shadow:none}.compact .poster .fallback{font-size:12px;max-width:55%;margin-right:auto}.shorts .poster{aspect-ratio:9/16;width:min(100%,180px);max-height:none;margin:0 auto;border-radius:0 0 12px 12px}.info{padding:14px}.info h3{font-size:12px;line-height:1.6;margin:0 0 6px;overflow-wrap:anywhere}.meta{font-size:10px;color:#7894a9;line-height:1.7;overflow-wrap:anywhere}.tag{display:inline-block;background:#edf7fd;border-radius:7px;padding:4px 7px;font-size:9px;margin-top:9px}.manage{display:flex;gap:7px;margin-top:10px}.manage button{font-size:10px;padding:5px 9px}.empty{grid-column:1/-1;display:grid;place-items:center;min-height:130px;border:1px dashed #cbdfea;border-radius:16px;color:#9bb6c8;font-size:23px}.more{display:block;margin:18px auto}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}dialog{width:min(92vw,520px);max-height:90dvh;overflow:auto;border:1px solid #dcebf4;border-radius:20px;padding:24px;color:#405b70;box-shadow:0 20px 80px #10253344}dialog::backdrop{background:#10253388;backdrop-filter:blur(4px)}dialog label{margin-top:13px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}#status,[role=alert]{color:#a54455;font-size:12px;line-height:1.7}#bulkStatus{font-size:12px;line-height:1.7}#viewer{width:min(94vw,730px);height:min(90dvh,820px);padding:18px;overflow:hidden}.viewer-shell{height:100%;display:flex;flex-direction:column;gap:8px;min-height:0}.viewer-head{display:flex;align-items:center;justify-content:space-between;flex:none}.viewer-head button{padding:6px 10px}.viewer-shell h2{font-size:14px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:none}#viewMeta{flex:none;max-height:34px;overflow:hidden}#player{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}#player iframe{border:0;border-radius:12px;height:100%;width:min(100%,460px);background:#f0f7fb}#player iframe.youtube{aspect-ratio:9/16;width:auto;max-width:100%;height:min(100%,calc((100vw - 64px)*16 / 9))}.viewer-actions{flex:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:4px}.viewer-actions .button{margin-left:auto;font-size:12px}details{min-width:0;max-width:60%;font-size:11px}summary{cursor:pointer}#viewNotes{white-space:pre-wrap;max-height:60px;overflow:auto;line-height:1.6}.viewer-shell .empty{border:0;min-height:0;font-size:18px}footer{text-align:center;color:#8ca7bb;font-size:10px;letter-spacing:1px;line-height:2.5;padding:30px 0 10px}[hidden]{display:none!important}@media(max-width:720px){.calendar-layout{grid-template-columns:1fr;gap:18px}.performance-browser{border-left:0;border-top:1px solid #e6f0f6;padding:17px 0 0}.performance-results{min-height:0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:17px}.shorts .poster{width:min(100%,150px)}.admin-actions button{font-size:11px}.section-head{align-items:flex-start}#viewer{height:92dvh;width:96vw;padding:14px}.calendar-nav{margin-top:0}}@media(max-width:390px){h1{font-size:20px}.compact .poster{padding:10px;gap:5px}.compact .poster .fallback{font-size:10px}.day{min-height:45px}.info{padding:11px}}


#profileSwitch{width:auto;font-size:12px;padding:7px;margin:0}.filters{grid-template-columns:2fr 1fr 1fr 1fr 1fr}.likes{display:flex;gap:6px;margin-top:10px}.like{font-size:10px;padding:6px 9px;white-space:nowrap}.like:disabled{opacity:.7;cursor:default}.like.talker.active{background:#dceefc;border-color:#9bc5e3;color:#376985}.like.plum.active{background:#f8e4f0;border-color:#dfaecb;color:#915a7a}.viewer-nav{display:flex;align-items:center;gap:8px;flex:none}.viewer-nav>button{padding:5px 13px;font-size:21px}.viewer-nav .likes{margin:0 0 0 auto}.viewer-nav .likes .likes{margin:0}#viewPosition{font-size:10px;color:#8ca7bb}#schedulePicker{margin-top:12px;padding:12px;background:#f5faff;border-radius:12px}#schedulePicker>button{font-size:11px;margin-top:8px}@media(max-width:720px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-nav{gap:6px}.viewer-nav .like{padding:5px 7px}}

.like{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#fff;font-weight:650;min-height:29px}.like .heart{color:#e43c48;font-size:16px;line-height:1}.like.talker{border-color:#aac9df;color:#376985}.like.plum{border-color:#d9a9c3;color:#915a7a}.like.talker.active{background:#c7e3f7;border-color:#5c9bc4;color:#234c65;box-shadow:inset 0 0 0 1px #5c9bc4}.like.plum.active{background:#f4ccdf;border-color:#bf6794;color:#733657;box-shadow:inset 0 0 0 1px #bf6794}.like:disabled{opacity:1}.like-check{font-size:12px;font-weight:800}.like-saving{font-size:12px;letter-spacing:1px}.like[aria-busy="true"]{cursor:progress}

.swipe-zone{display:flex;align-items:center;justify-content:space-between;flex:none;min-height:38px;padding:0 18px;border:1px dashed #cbdfea;background:#f2f9fd;border-radius:10px;color:#7ba6bf;touch-action:pan-y;user-select:none;cursor:grab}.swipe-zone span{font-size:16px}.swipe-zone:active{background:#e1f1fb}.like-check,.like-saving{display:none}.like[aria-busy="true"]{cursor:pointer}.bulk-results{list-style:none;padding:0;margin:12px 0;max-height:220px;overflow:auto}.bulk-result{padding:8px;border-bottom:1px solid #dcebf4;display:grid;grid-template-columns:40px 1fr;gap:5px;font-size:11px;overflow-wrap:anywhere}.bulk-result small{grid-column:2}.bulk-result.added strong{color:#397f65}.bulk-result.duplicate strong{color:#7894a9}.bulk-result.failed strong{color:#b05464}.x-video-slot{width:min(100%,460px);height:100%;overflow:hidden;display:grid;place-items:center}.x-video-slot iframe{max-width:100%!important;max-height:100%!important}#xViewMode{width:auto;max-width:140px;margin:0;padding:8px;font-size:11px}#original{border-color:#82b5d4;background:#afd6ee;font-weight:700}.list-mode .list-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(120px,180px) 1fr;align-items:center}.list-mode .list-row .poster{height:100%;min-height:72px}.list-mode .list-row .info{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.list-mode .list-row .info h3{flex:1;min-width:140px;margin:0}.list-mode .list-row .meta,.list-mode .list-row .tag{display:none}.list-mode .list-row .likes,.list-mode .list-row .manage{margin:0}.toolbar{flex-wrap:wrap}.viewer-shell{gap:6px}@media(max-width:550px){.list-mode .list-row{grid-template-columns:100px 1fr}.list-mode .list-row .poster .platform{display:none}.list-mode .list-row .poster{padding:10px}.list-mode .list-row .info{gap:5px}.list-mode .list-row .info h3{min-width:100%;font-size:11px}.list-mode .list-row .like{font-size:9px;padding:4px 7px}.swipe-zone{min-height:40px}.viewer-actions{flex-wrap:wrap}#xViewMode{max-width:120px}}

.view-tabs{display:flex;gap:8px;margin-bottom:14px}.view-tabs .active{background:#b8dff4;border-color:#8fbbd7}#calendarToggle{font-size:11px;padding:6px 10px;margin-left:10px}#calendarSelection{display:block;font-size:12px;margin-top:8px}#globalSongForm{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}#globalSongForm label{flex:1;min-width:150px}#globalProgress{font-size:11px;color:#7894a9;margin-top:12px}.platform-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:none;margin-right:6px;vertical-align:middle;font-size:13px}.platform-icon.youtube{background:#e94343;color:white;border-radius:5px;font-size:10px}.platform-icon.instagram img{width:18px;height:18px;object-fit:contain;border-radius:4px}.platform-icon.instagram{font-size:10px;font-weight:700}.performance-title{display:flex;align-items:center}.info h3{display:flex;align-items:center;cursor:pointer}.manage-menu{position:relative;max-width:none;margin-left:auto;flex:none}.manage-menu summary{font-size:20px;list-style:none;padding:0 8px;border-radius:8px}.manage-options{position:absolute;right:0;top:100%;z-index:5;background:white;padding:8px;border:1px solid #cbdfea;border-radius:10px;box-shadow:0 4px 15px #405b7020;display:flex;gap:6px}.manage-options button{font-size:11px;white-space:nowrap}.list-mode{grid-template-columns:1fr}.list-mode .list-row{grid-template-columns:56px 1fr;overflow:visible}.list-mode .list-row .poster{width:56px;height:68px;min-height:0;aspect-ratio:auto;padding:6px;border-radius:12px 0 0 12px}.list-mode .list-row .poster img{border-radius:12px 0 0 12px}.list-mode .list-row .poster .fallback,.list-mode .list-row .poster .platform{display:none}.list-mode .list-row .poster .play{width:24px;height:24px}.list-mode .list-row .info{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;padding:10px}.list-mode .list-row .info h3{min-width:0;font-size:12px;grid-column:1;overflow-wrap:anywhere}.list-mode .list-row .likes{grid-column:2;grid-row:1}.list-mode .list-row .manage-menu{grid-column:3;grid-row:1}.list-mode .list-row .tag{display:none}.list-mode .list-row .meta{display:block;grid-column:1/-1;font-size:9px}#viewer .viewer-shell{gap:5px}#viewer .viewer-shell h2{font-size:12px;line-height:1.4;-webkit-line-clamp:1;display:flex;align-items:center}#viewMeta{font-size:9px;max-height:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.viewer-head .label{font-size:8px}.viewer-nav>button{padding:3px 11px;font-size:18px}.viewer-head button{padding:4px 8px}.viewer-actions .button{padding:8px 11px}#player iframe.youtube{height:100%;width:auto;max-width:100%}#player iframe:not(.youtube){height:100%;width:min(100%,460px)}@media(max-width:550px){.list-mode .list-row{grid-template-columns:42px 1fr}.list-mode .list-row .poster{width:42px;height:62px}.list-mode .list-row .info{grid-template-columns:1fr auto;gap:4px}.list-mode .list-row .info h3{font-size:11px;grid-column:1;min-width:0}.list-mode .list-row .likes{grid-column:1;grid-row:2}.list-mode .list-row .manage-menu{grid-column:2;grid-row:1/3}.list-mode .list-row .meta{grid-column:1/-1;grid-row:3}#viewer{height:94dvh;padding:10px}.viewer-nav .like{padding:4px 7px}.viewer-actions{flex-wrap:nowrap}}

.period-search{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.period-search label{flex:1;min-width:130px}.period-search>span{padding-bottom:12px}.period-search button{margin-bottom:1px}.platform-icon.youtube{background:none;border-radius:0}.platform-icon img{width:22px;height:18px;object-fit:contain}.platform-icon.instagram{background:#7294ab;border-radius:5px;overflow:hidden}.platform-icon.instagram img{width:18px;height:18px;object-fit:cover}.song-link{color:#35627f;border:1px solid #c9e1ef;cursor:pointer}.song-link:hover{background:#dceffb}.list-mode .list-row .tag{display:inline-block;grid-column:1;justify-self:start;margin:0}.list-mode .list-row .meta{grid-row:2}@media(max-width:550px){.list-mode .list-row .tag{grid-row:4}.period-search>span{display:none}}

.platform-icon.instagram{background:#66849a;padding:3px;width:22px;height:22px;border-radius:6px}.platform-icon.instagram img{width:16px;height:16px;object-fit:contain;border-radius:0}.platform-icon.youtube{width:24px}.platform-icon.youtube img{width:24px;height:18px;object-fit:contain}.poster .platform .platform-icon{margin:0}.poster img:not(.platform-icon img){object-fit:cover}.poster .platform-icon img{position:static;inset:auto;object-fit:contain}.poster .platform{padding:4px;background:#ffffffef}.compact .poster .platform{padding:0;background:none}

.platform-icon.instagram{background:transparent;padding:0;width:20px;height:20px;overflow:visible}.platform-icon.instagram img{width:18px;height:18px}

/* Platform marks sit beside titles only, with a consistent small footprint. */
.platform-icon,.platform-icon.youtube,.platform-icon.instagram{width:13px;height:13px;flex:0 0 13px;margin-right:6px;padding:0;background:transparent;border-radius:0;font-size:12px;line-height:1;overflow:visible}
.platform-icon.youtube img{width:13px;height:10px;object-fit:contain}
.platform-icon.instagram img{width:12px;height:12px;object-fit:contain;border-radius:0}
.poster .platform{display:none!important}
.info h3 .platform-icon,.performance-title .platform-icon,#viewTitle .platform-icon{align-self:center}
