@charset "UTF-8";body{background-color:#f8f9fa;font-family:Segoe UI,sans-serif}.navbar-brand{font-weight:700;letter-spacing:-.5px}.card{border:none;box-shadow:0 1px 4px #00000014}.drop-zone{border:2px dashed #dee2e6;border-radius:.5rem;cursor:pointer;transition:border-color .15s,background-color .15s;padding:1.5rem;text-align:center}@media(min-width:768px){.drop-zone{padding:2.5rem}}.upload-page{background-color:#f8f9fa;padding-bottom:env(safe-area-inset-bottom)}.upload-header{background:#fff;border-bottom:1px solid #eee;padding-top:max(.75rem,env(safe-area-inset-top))}.upload-card{width:100%;max-width:480px}.upload-main{display:flex;flex-direction:column;justify-content:flex-start}.touch-target{min-height:3rem;display:flex;align-items:center;justify-content:center}.upload-row{border:1px solid #eee;border-radius:.375rem;padding:.625rem .75rem;margin-bottom:.5rem;font-size:.875rem;background:#fff}.upload-file-name{font-weight:500;line-height:1.3}.upload-progress{height:6px;background-color:#e9ecef}.upload-progress .progress-bar{background-color:#0d6efd;transition:width .15s ease}.upload-check{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#198754;margin-top:.125rem}.qr-block{text-align:center}.qr-block app-qr-code{display:flex;justify-content:center}.qr-block p{margin-bottom:.75rem}.drop-zone.active{border-color:#0d6efd;background-color:#f0f5ff}.slideshow-body{background:#000;color:#fff;margin:0;overflow:hidden;height:100vh;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.slide-wrap{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;position:relative}.slide-img-shield{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100vh}.slide-img-shield:after{content:"";position:absolute;inset:0;z-index:1}.slide-img{max-width:100%;max-height:100vh;object-fit:contain;transition:opacity .6s ease;-webkit-user-drag:none;user-drag:none;pointer-events:none;-webkit-touch-callout:none}.slide-img.fade-out{opacity:0}.slide-overlay{position:absolute;bottom:0;left:0;right:0;z-index:2;background:linear-gradient(transparent,#000000a6);padding:40px 32px 20px;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}@media print{.slideshow-body .slide-img-shield{display:none!important}}.slide-meta{min-width:0;flex:1 1 auto}.slide-meta-filename{word-break:break-word}@media(max-width:767px)and (orientation:portrait){.slide-overlay{justify-content:center;align-items:center;padding:12px 12px max(16px,env(safe-area-inset-bottom));background:linear-gradient(transparent 55%,#000000bf)}.slide-meta{position:fixed;top:max(2.75rem,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));left:auto;bottom:auto;z-index:2;flex:none;max-width:min(72vw,16rem);text-align:right;padding:6px 10px;border-radius:6px;background:#00000073;pointer-events:none}.slide-meta-filename{font-size:.7rem;line-height:1.25;word-break:break-all}.slide-meta-taken,.slide-meta-count{font-size:.65rem}}.slide-event-name{position:absolute;top:16px;left:24px;font-size:.8rem;opacity:.5}.empty-msg{color:#aaa;text-align:center}.slideshow-spinner{width:3rem;height:3rem;border-width:.2em}.badge-token{font-family:monospace;font-size:.75rem;background:#f1f3f5;color:#495057;padding:2px 8px;border-radius:4px}
