*{margin:0;padding:0;box-sizing:border-box}body{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding:0;color:#1a1a1a;overflow-x:clip}.main-navbar{background:#fff;border-bottom:1px solid #e9ecef;padding:.95rem 1rem;box-shadow:0 1px 3px #0000000f}.main-navbar .navbar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.main-navbar .navbar-brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;color:inherit}.main-navbar .navbar-brand img{width:40px;height:40px;object-fit:contain;flex-shrink:0}.navbar-brand-text-wrap{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.4;gap:.05rem}.navbar-brand-title{font-size:1.1rem;font-weight:600;color:#1a1a1a}.navbar-brand-subtitle{font-size:.9rem;font-weight:400;color:#495057}.navbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.navbar-actions .btn,.admin-podcast-header-actions .btn{border-radius:999px;font-size:.875rem;padding:.35rem .9rem;white-space:nowrap;border-width:1px;border-style:solid;border-color:#dee2e6;background-color:#fff;color:#495057}.navbar-actions .btn:hover,.admin-podcast-header-actions .btn:hover{background-color:#f8f9fa;border-color:#adb5bd;color:#212529}.btn-nav-settings{padding:.4rem .5rem;display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem}.btn-nav-settings .nav-settings-icon{display:block;flex-shrink:0}@media (max-width: 576px){.main-navbar{padding:.65rem .75rem}.main-navbar .navbar-inner{gap:.5rem}.navbar-brand-title{font-size:1rem}.navbar-brand-subtitle{font-size:.75rem}.main-navbar .navbar-brand{gap:.5rem}.main-navbar .navbar-brand img{width:26px;height:26px}.navbar-actions{flex-shrink:0;gap:.35rem}.navbar-actions .btn,.admin-podcast-header-actions .btn{padding:.32rem .5rem;font-size:.75rem}}@media (max-width: 390px){.navbar-actions .btn,.admin-podcast-header-actions .btn{padding:.28rem .4rem;font-size:.7rem}}#app{max-width:1200px;margin:0 auto;padding:2rem 1rem}.auth-page{max-width:400px;margin:4rem auto}.auth-page h1{font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.auth-page .subtitle{color:#6c757d;font-size:.95rem;margin-bottom:2rem}.auth-form .form-control{border-radius:8px;padding:.75rem 1rem}.auth-form .btn{border-radius:8px;padding:.75rem;font-weight:500}.auth-toggle{text-align:center;margin-top:1.5rem;font-size:.9rem;color:#6c757d}.auth-toggle a{color:#667eea;text-decoration:none;font-weight:500}.auth-toggle a:hover{text-decoration:underline}.auth-admin-select-wrap{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:1rem;margin-bottom:1rem;text-align:left}.auth-admin-select-wrap .form-label{font-size:.875rem;font-weight:600;margin-bottom:.4rem;display:block}.auth-forgot-wrap{text-align:right}.auth-forgot-btn{font-size:.875rem;color:#667eea;text-decoration:none;font-weight:500}.auth-forgot-btn:hover{color:#5568d3;text-decoration:underline}.auth-forgot-btn:disabled{opacity:.65;pointer-events:none}.auth-error{font-size:.875rem;margin-top:.5rem}.auth-error.text-success{color:#198754!important}.podcast-header{max-width:800px;margin:0 auto 2rem}.podcast-progress{width:100%}.podcast-progress-hint{margin:.75rem auto 0;padding:0 .5rem;max-width:50rem;font-size:.875rem;line-height:1.55;font-weight:400;color:#5c6f6b;text-align:center;letter-spacing:.01em}.podcast-progress-hint-em{font-style:italic;color:#4a857a;font-weight:500}.podcast-progress-hint-icon{display:inline-flex;vertical-align:middle;margin-inline:.12em .06em;color:#b8860b}.podcast-progress-bar{width:100%;height:30px;border-radius:999px;background:#f1f3f5;overflow:hidden;position:relative}.podcast-progress-bar-fill{position:relative;z-index:1;height:100%;width:0%;background:linear-gradient(90deg,#2e9f90,#38d9a9);border-radius:999px;box-shadow:0 0 0 1px #2e9f901a;transition:width .35s ease-out}.podcast-progress-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;font-size:.9rem;font-weight:700;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;color:#0c2420;text-shadow:0 0 1px rgba(255,255,255,1),0 0 4px rgba(255,255,255,1),0 0 10px rgba(255,255,255,.85),1px 0 0 rgba(255,255,255,.95),-1px 0 0 rgba(255,255,255,.95),0 1px 0 rgba(255,255,255,.95),0 -1px 0 rgba(255,255,255,.95)}.podcast-progress-label.podcast-progress-label--on-fill{color:#fff;text-shadow:0 0 1px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.65),1px 0 1px rgba(0,0,0,.4),-1px 0 1px rgba(0,0,0,.4),0 -1px 1px rgba(0,0,0,.35)}@media (max-width: 576px){.podcast-header{padding:0 0rem;margin-bottom:1.5rem}.podcast-progress-bar{height:34px}.podcast-progress-label{font-size:.8125rem}.podcast-progress-hint{margin-top:.65rem;font-size:.8125rem;line-height:1.6;padding-inline:.75rem}}.video-card{background:#fff;border-radius:24px;overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease;display:block;height:100%;border:3px solid #e8e8ec}.video-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014;border-color:#e0e0e6;text-decoration:none;color:inherit}.video-card-watched,.video-card-watched:hover{border-color:#2e9f90!important}.video-card:hover .card-icon-wrap{color:#2c2c2e}.video-thumbnail{width:100%;height:160px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:filter .25s ease}.video-card:hover .video-thumbnail{filter:brightness(.98)}.video-thumbnail.gradient-1{background:linear-gradient(145deg,#e8f0fe,#dce7f8)}.video-thumbnail.gradient-2{background:linear-gradient(145deg,#fef3e8,#fceee0)}.video-thumbnail.gradient-3{background:linear-gradient(145deg,#e8f5f0,#dceee8)}.video-thumbnail.gradient-4{background:linear-gradient(145deg,#f3e8fc,#ede0f5)}.video-thumbnail.gradient-5{background:linear-gradient(145deg,#fce8f0,#f8e0eb)}.card-icon-wrap{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#5c5c5c;transition:color .2s ease}.card-icon-wrap .headphone-icon{width:28px;height:28px}.video-info{padding:1rem 1.1rem}.video-title{font-size:.9375rem;font-weight:500;color:#1a1a1a;margin-bottom:.2rem;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.video-date{font-size:.75rem;color:#8e8e93}.video-thumbnail-youtube{position:relative;background:#1a1a1a}.video-thumbnail-img{width:100%;height:100%;object-fit:cover;display:block}.video-thumbnail-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059;transition:background .2s ease}.video-card-youtube:hover .video-thumbnail-overlay{background:#00000073}.card-icon-wrap-play{width:56px;height:56px;border-radius:50%;background:#fffffff2;color:#1a1a1a;box-shadow:0 2px 12px #00000040}.card-icon-wrap-play .play-icon{width:24px;height:24px;margin-left:4px}.video-watched-badge{position:absolute;top:.6rem;right:.6rem;font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:24px;background:#0000004d;color:#fff}.video-watched-badge--watched{background:#0000002e}.video-card-youtube{cursor:pointer}.video-card-youtube>.video-tile-header>.video-info{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:.4rem;align-items:start}.video-card-youtube>.video-tile-header>.video-info>.video-title{grid-column:1;grid-row:1}.video-card-youtube>.video-tile-header>.video-info>.video-date{grid-column:1;grid-row:2}.video-card-youtube>.video-tile-header>.video-info>.video-tile-actions{grid-column:2;grid-row:1 / -1;align-self:start}.video-tile-player{display:none!important}.video-tile-header{display:block}.video-tile-chevron-wrap{display:none}.video-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.video-modal.video-modal-visible{opacity:1;visibility:visible}.video-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000bf;cursor:pointer}.video-modal-content{position:relative;width:100%;max-width:900px;aspect-ratio:16 / 9;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 12px 48px #0006}.video-modal-player-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.video-modal-player-wrap iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}@media (max-width: 768px){.video-tile-player{display:block!important;max-height:0;overflow:hidden;transition:max-height .3s ease;background:#000}.video-card-youtube.is-expanded .video-tile-player{max-height:70vh}.video-tile-player-wrap{width:100%;aspect-ratio:16 / 9;display:block}.video-tile-player-wrap iframe{width:100%!important;height:100%!important;display:block;border:none}.video-tile-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;min-height:72px}.video-tile-header .video-thumbnail-youtube{position:relative;width:80px;min-width:80px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0}.video-tile-header .video-watched-badge{top:.25rem;right:.25rem;font-size:.6rem;padding:.15rem .35rem}.video-tile-header .video-thumbnail-overlay{display:flex}.video-tile-header .card-icon-wrap-play{width:36px;height:36px}.video-tile-header .card-icon-wrap-play .play-icon{width:16px;height:16px;margin-left:2px}.video-tile-header .video-info{flex:1;min-width:0;padding:0}.video-tile-header .video-title{font-size:.9rem}.video-card-youtube>.video-tile-header>.video-info>.video-tile-actions{align-self:center}.video-tile-chevron-wrap{display:flex;align-items:center;flex-shrink:0;color:#8e8e93;transition:transform .25s ease}.video-card-youtube.is-expanded .video-tile-chevron-wrap{transform:rotate(180deg)}.video-tile-chevron{width:24px;height:24px}.video-thumbnail{height:110px}.video-info{padding:.75rem 1rem}.video-title{font-size:.9rem}}@media (max-width: 576px){.video-thumbnail{height:92px}.card-icon-wrap .headphone-icon{width:24px;height:24px}.video-info{padding:.65rem .9rem}.video-title{font-size:.875rem}.video-date{font-size:.7rem}}.loading-container{text-align:center;padding:4rem 0}.spinner-custom{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.spinner-custom--sm{width:28px;height:28px;border-width:2px}.podcast-load-more{display:flex;justify-content:center;padding:2rem 0 3rem}.podcast-load-more[hidden]{display:none}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem;color:#6c757d}.error-alert{border-radius:8px;border:none}.no-admin-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;font-size:.9rem;color:#495057}.no-admin-info code{background:#e9ecef;padding:.15rem .4rem;border-radius:4px}.admin-wrap{min-height:100vh;background:transparent}.admin-main{max-width:1200px;margin:0 auto;padding:1.5rem}.admin-main-single{max-width:720px}.admin-content{padding:0}.admin-back-link{margin:0 0 1rem;font-size:.9rem}.admin-back-link a{color:#6c757d;text-decoration:none}.admin-back-link a:hover{color:#1a1a1a;text-decoration:underline}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 900px){.admin-grid{grid-template-columns:1fr}}.admin-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.admin-card-title{font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.admin-card-desc{font-size:.85rem;color:#6c757d;margin:0 0 1rem}.admin-loading{text-align:center;padding:1.5rem}.admin-podcast-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.admin-podcast-form .form-control{border-radius:8px;padding:.6rem .75rem;border:1px solid #dee2e6}.admin-podcast-form-actions{display:flex;gap:.5rem}.admin-form-feedback{font-size:.85rem}.admin-podcast-list,.admin-users-list{list-style:none;margin:0;padding:0}.admin-podcast-item,.admin-user-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.admin-podcast-item:last-child,.admin-user-item:last-child{border-bottom:none}.admin-podcast-item-info{min-width:0}.admin-podcast-item-name{display:block;font-weight:500;color:#1a1a1a}.admin-podcast-item-url{display:block;font-size:.8rem;color:#6c757d;text-decoration:none;word-break:break-all}.admin-podcast-item-view-count{display:block;font-size:.75rem;color:#28a745;background:#e8f5e9;padding:.2rem .5rem;border-radius:4px;margin-top:.3rem;display:inline-block}.admin-podcast-item-url:hover{text-decoration:underline}.admin-podcast-item-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-icon{font-size:.8rem;padding:.35rem .6rem;border-radius:6px;border:1px solid #dee2e6;background:#fff;color:#495057;cursor:pointer}.btn-icon:hover{background:#f8f9fa}.btn-danger-outline{border-color:#dc3545;color:#dc3545}.btn-danger-outline:hover{background:#fff5f5}.admin-user-info{display:flex;align-items:center;gap:.5rem;min-width:0;flex-wrap:wrap}.admin-user-email{font-size:.9rem;color:#1a1a1a}.admin-user-display-name{word-break:break-word}.user-access-select{min-width:116px;font-weight:600;border-width:1px;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.user-access-select--active{background-color:#eaf8f0;border-color:#b9e6cb;color:#1f7a43}.user-access-select--pending{background-color:#fff3e6;border-color:#ffd8ad;color:#b35c00}.user-access-select--passive{background-color:#ffecef;border-color:#f5b8c0;color:#b42333}.admin-user-watched-count{font-size:.75rem;color:#6c757d;background:#f8f9fa;padding:.2rem .5rem;border-radius:4px}.admin-badge{font-size:.7rem;padding:.2rem .45rem;border-radius:4px}.admin-badge-admin{background:#e8eeff;color:#334d99}.admin-badge-user{background:#f0f0f0;color:#555}.admin-user-toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.85rem;color:#6c757d;margin:0}.admin-user-toggle input{cursor:pointer}.admin-empty{padding:1rem;color:#6c757d;font-size:.9rem}.card{border-radius:24px!important;overflow:hidden}.card .table-responsive{border-radius:24px}.card .table{margin-bottom:0}.card .table thead th:first-child{border-top-left-radius:24px}.card .table thead th:last-child{border-top-right-radius:24px}.card .table tbody td,.card .table thead th{padding:16px 20px!important}@media (max-width: 575.98px){.card .table tbody td .btn-sm{padding:6px 10px;min-width:36px;display:inline-flex;align-items:center;justify-content:center}.card .table tbody td .btn-sm svg{margin:0}}.video-info-header{display:flex;align-items:flex-start;gap:.4rem}.video-info-header .video-title{flex:1;min-width:0}.video-tile-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.video-tile-actions .btn-note{margin-top:0}.btn-note{flex-shrink:0;background:none;border:none;padding:3px 12px 3px 4px;border-radius:6px;cursor:pointer;color:#5f6368;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease;margin-top:1px;line-height:1}.btn-note:hover{color:#2e9f90;background:#2e9f9017}.btn-note.has-note{color:#2e9f90}.video-card:not(.video-card-watched) .btn-note{color:#b8860b}.video-card:not(.video-card-watched) .btn-note:hover{color:#9a7209;background:#b8860b1f}.video-card:not(.video-card-watched) .btn-note.has-note{color:#b8860b}.note-icon{display:block}.note-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1060;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.note-modal.note-modal-visible{opacity:1;visibility:visible}.note-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;cursor:pointer}.note-modal-content{position:relative;width:100%;max-width:500px;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000002e;overflow:hidden}.note-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid #f0f0f0}.note-modal-podcast-name{font-size:.95rem;font-weight:600;color:#1a1a1a;margin:0;line-height:1.4;flex:1;min-width:0}.note-modal-close{flex-shrink:0;background:none;border:none;font-size:1.5rem;line-height:1;color:#8e8e93;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .15s ease,background .15s ease}.note-modal-close:hover{color:#1a1a1a;background:#f0f0f0}.note-modal-body{padding:1.25rem 1.5rem}.note-modal-rating-block{margin-bottom:1rem}.note-modal-rating-title{font-size:.92rem;font-weight:600;color:#1a1a1a;margin-bottom:.6rem}.note-modal-rating-options{display:flex;flex-wrap:wrap;gap:.55rem}.note-modal-rating-option{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #e0e0e6;border-radius:999px;padding:.38rem .72rem;cursor:pointer;background:#fff;color:#2f2f33;font-size:.875rem;line-height:1;transition:border-color .15s ease,background .15s ease}.note-modal-rating-option input{margin:0}.note-modal-rating-option:has(input:checked){border-color:#2e9f90;background:#2e9f9014}.note-modal-note-title{font-size:.92rem;font-weight:600;color:#1a1a1a;margin:.1rem 0 .6rem;line-height:1.45}.note-modal-textarea{width:100%;border:1.5px solid #e0e0e6;border-radius:12px;padding:.875rem 1rem;font-size:.9375rem;color:#1a1a1a;line-height:1.5;resize:vertical;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease;min-height:120px;outline:none;display:block}.note-modal-textarea:focus{border-color:#2e9f90;box-shadow:0 0 0 3px #2e9f901a}.note-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.25rem;border-top:1px solid #f0f0f0}@media (min-width: 577px){.note-modal-content{max-width:660px}.note-modal-textarea{min-height:250px}}.my-notes-page{max-width:680px;margin:0 auto}.my-notes-list{display:flex;flex-direction:column;gap:.875rem}.note-item{background:#fff;border:2px solid #e8e8ec;border-radius:18px;padding:1.1rem 1.25rem;display:flex;gap:1rem;align-items:flex-start;transition:border-color .2s ease,box-shadow .2s ease}.note-item:hover{border-color:#d0d0d8;box-shadow:0 4px 16px #0000000d}.note-item-thumb{width:76px;min-width:76px;height:54px;border-radius:8px;overflow:hidden;background:#f1f3f5;flex-shrink:0}.note-item-thumb img{width:100%;height:100%;object-fit:cover;display:block}.note-item-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#adb5bd}.note-item-content{flex:1;min-width:0}.note-item-podcast-name{font-size:.9375rem;font-weight:600;color:#1a1a1a;margin-bottom:.35rem;line-height:1.35}.note-item-rating{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;color:#2e9f90;background:#2e9f901f;border-radius:999px;padding:.2rem .55rem;margin-bottom:.45rem}.note-item-text{font-size:.875rem;color:#495057;line-height:1.55;white-space:pre-wrap;word-break:break-word}.note-item-date{font-size:.75rem;color:#8e8e93;margin-top:.4rem}.btn-note-edit{flex-shrink:0;background:none;border:none;padding:4px;border-radius:6px;cursor:pointer;color:#5f6368;display:flex;align-items:flex-start;justify-content:center;transition:color .15s ease,background .15s ease;margin-top:2px}.btn-note-edit:hover{color:#2e9f90;background:#2e9f9017}.my-notes-empty{text-align:center;padding:4rem 2rem;color:#6c757d}.my-notes-empty-icon{display:flex;align-items:center;justify-content:center;color:#c8c8d0}.user-notes-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1070;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.user-notes-modal.visible{opacity:1;visibility:visible}.user-notes-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;cursor:pointer}.user-notes-modal-content{position:relative;width:100%;max-width:580px;max-height:80vh;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000002e;overflow:hidden;display:flex;flex-direction:column}.user-notes-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid #f0f0f0;flex-shrink:0}.user-notes-modal-title-wrap{flex:1;min-width:0}.user-notes-modal-title{font-size:.9375rem;font-weight:600;color:#1a1a1a;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-notes-modal-subtitle{font-size:.8rem;color:#8e8e93;margin:.1rem 0 0}.user-notes-modal-body{overflow-y:auto;padding:.5rem 1.5rem 1.5rem;flex:1}.user-notes-modal-note-item{padding:1rem 0;border-bottom:1px solid #f0f0f0}.user-notes-modal-note-item:last-child{border-bottom:none}.user-notes-modal-podcast-name{font-size:.875rem;font-weight:600;color:#1a1a1a;margin-bottom:.35rem}.user-notes-modal-note-text{font-size:.875rem;color:#495057;line-height:1.55;white-space:pre-wrap;word-break:break-word}.user-notes-modal-rating{display:inline-flex;align-items:center;font-size:.74rem;font-weight:600;color:#2e9f90;background:#2e9f901f;border-radius:999px;padding:.18rem .5rem;margin-bottom:.45rem}.admin-rating-summary{display:flex;flex-wrap:wrap;gap:.35rem}.admin-rating-chip{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;color:#3d3d42;background:#f1f3f5;border-radius:999px;padding:.2rem .5rem}.admin-podcast-summary-card{border:1px solid #eef0f2}.admin-podcast-summary{display:flex;flex-wrap:wrap;align-items:stretch}.admin-podcast-summary-stat{flex:1 1 0;min-width:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.9rem .75rem;border-right:1px solid #f0f0f0}.admin-podcast-summary-stat:last-child{border-right:none}.admin-podcast-summary-icon{display:flex;align-items:center;justify-content:center;color:#868e96;opacity:.65;line-height:1}.admin-podcast-summary-dash{font-size:1.1rem;font-weight:600;line-height:1}.admin-podcast-summary-value{font-size:1.05rem;font-weight:700;line-height:1;color:#212529}.admin-podcast-summary-value-view:after{content:"";display:block;width:1.75rem;height:2px;margin:5px auto 0;background:#4a90e2;border-radius:2px}.admin-podcast-summary-value-star{display:inline-flex;align-items:center;justify-content:center;background:#fff8e1;color:#8a6a00;border-radius:999px;padding:.22rem .65rem;font-size:.92rem}.admin-podcast-summary-value-thumb{display:inline-flex;align-items:center;justify-content:center;background:#e8edf8;color:#3a5fc8;border-radius:999px;padding:.22rem .65rem;font-size:.92rem}.admin-podcast-summary-label{font-size:.68rem;font-weight:500;color:#adb5bd;line-height:1.2;text-align:center}.admin-podcast-table{border-collapse:collapse}.admin-podcast-table thead tr{background:#f8f9fa;border-bottom:1px solid #e9ecef}.admin-podcast-table thead th{font-size:.72rem;font-weight:500;color:#868e96;text-transform:none;letter-spacing:0;padding:.75rem 1rem;vertical-align:middle;white-space:nowrap;border:none;position:sticky;top:0;z-index:2;background:#f8f9fa}.admin-podcast-table thead th .admin-col-stat,.admin-col-stat{font-size:.72rem}.admin-podcast-table thead th svg{display:block;margin:0 auto .2rem;opacity:.6}.admin-sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.admin-sortable-th:hover{color:#495057}.admin-sortable-th:after{content:"↕";display:inline-block;margin-left:.35rem;font-size:.65rem;line-height:1;opacity:.35;vertical-align:middle}.admin-sortable-th.admin-sort-active{color:#343a40}.admin-sortable-th.admin-sort-active:after{opacity:1}.admin-sortable-th.admin-sort-desc:after{content:"↓"}.admin-sortable-th.admin-sort-asc:after{content:"↑"}.admin-podcast-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .1s}.admin-podcast-table tbody tr:last-child{border-bottom:none}.admin-podcast-table tbody tr:hover{background:#fafafa}.admin-podcast-table tbody td{padding:1rem;border:none;font-size:.875rem;color:#212529}.admin-podcast-name-cell{font-weight:600;min-width:180px}.admin-podcast-order-label{color:#a1a1a1;font-weight:600}.admin-podcast-name-cell a:hover{color:#1a73e8!important;text-decoration:underline!important}.admin-view-cell{display:inline-flex;flex-direction:column;align-items:center;min-width:40px}.admin-view-num{font-size:.9rem;font-weight:600;line-height:1;display:inline-block}.admin-view-num:after{content:"";display:block;width:1.75rem;height:2px;margin:5px auto 0;background:#4a90e2;border-radius:2px}.admin-stat-cell{font-size:.85rem;color:#495057}.admin-col-dash{color:#adb5bd;font-size:.9rem}.admin-badge-star{display:inline-flex;align-items:center;gap:4px;background:#fff8e1;color:#8a6a00;border-radius:999px;padding:.22rem .6rem;font-size:.78rem;font-weight:600;white-space:nowrap}.admin-badge-thumb{display:inline-flex;align-items:center;gap:4px;background:#e8edf8;color:#3a5fc8;border-radius:999px;padding:.22rem .6rem;font-size:.78rem;font-weight:600;white-space:nowrap}.admin-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;padding:0;transition:background .15s,border-color .15s,color .15s}.admin-action-btn-edit{color:#6c757d;border-color:#dee2e6}.admin-action-btn-edit:hover{background:#e8edf8;border-color:#4a90e2;color:#1a73e8}.admin-action-btn-delete{color:#dc3545;border-color:#f5c6cb;margin-left:4px}.admin-action-btn-delete:hover{background:#fdecea;border-color:#dc3545}.admin-podcast-footer{padding:.75rem 1rem;font-size:.78rem;color:#adb5bd;text-align:right;border-top:1px solid #f0f0f0}.admin-users-search-wrap{min-width:200px;max-width:280px;flex:1 1 200px}.admin-users-search-input{border-radius:999px;border-color:#dee2e6;font-size:.875rem;padding-left:.9rem;padding-right:.9rem}.admin-users-search-input:focus{border-color:#4a90e2;box-shadow:0 0 0 .2rem #4a90e226}.admin-users-table{border-collapse:collapse}.admin-users-table thead tr{background:#f8f9fa;border-bottom:1px solid #e9ecef}.admin-users-table thead th{font-size:.72rem;font-weight:500;color:#868e96;text-transform:none;letter-spacing:0;padding:.75rem 1rem;vertical-align:middle;white-space:nowrap;border:none;position:sticky;top:0;z-index:2;background:#f8f9fa}.admin-users-table thead th svg{display:block;margin:0 auto .2rem;opacity:.6}.admin-users-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .1s}.admin-users-table tbody tr:last-child{border-bottom:none}.admin-users-table tbody tr:hover{background:#fafafa}@media (min-width: 801px){.card:has(.admin-podcast-table),.card:has(.admin-users-table){overflow:visible}.card:has(.admin-podcast-table) .table-responsive,.card:has(.admin-users-table) .table-responsive{overflow:visible}}.admin-users-table tbody td{padding:.9rem 1rem;border:none;font-size:.875rem;color:#212529}.admin-user-name-cell{min-width:160px}.admin-user-name-primary{font-weight:600;color:#212529;line-height:1.3}.admin-user-email-sub{font-size:.78rem;color:#868e96;margin-top:.18rem;line-height:1.2}.admin-user-role-badge{display:inline-block;margin-top:.3rem;font-size:.68rem;font-weight:600;background:#e8eeff;color:#334d99;border-radius:4px;padding:.15rem .45rem;letter-spacing:.01em}.admin-user-progress{font-size:.9rem;font-weight:600;color:#212529}.admin-user-rating-row{display:inline-flex;align-items:center;gap:5px;flex-wrap:nowrap}.admin-badge-normal{display:inline-flex;align-items:center;gap:4px;background:#f0f0f0;color:#555;border-radius:999px;padding:.22rem .6rem;font-size:.78rem;font-weight:600;white-space:nowrap}.admin-badge-zero{opacity:.38}.admin-user-notes-card{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:.35rem .5rem;border:1px solid #e9ecef;border-radius:10px;background:#fff;color:#495057;font:inherit;font-size:.85rem;font-weight:600;line-height:1;cursor:pointer;box-shadow:0 1px 2px #0000000a;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.admin-user-notes-card:hover{background:#f8f9fa;border-color:#dee2e6;color:#212529;box-shadow:0 2px 6px #0000000f}.admin-user-notes-card:focus-visible{outline:2px solid #4a90e2;outline-offset:2px}.admin-user-notes-card svg{flex-shrink:0;opacity:.65}.admin-users-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.admin-users-section-title{font-size:1rem;font-weight:700;color:#212529;letter-spacing:-.01em}.admin-users-section-badge{display:inline-flex;align-items:center;justify-content:center;background:#e9ecef;color:#495057;font-size:.72rem;font-weight:700;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;line-height:1}.admin-col-assign-header,.admin-col-assign-action{width:2.5rem;min-width:2.5rem}.btn-admin-assign{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;border:1.5px solid;background:transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s,opacity .15s;padding:0;flex-shrink:0}.btn-admin-assign svg{flex-shrink:0}.btn-admin-add-student{color:#2d8f4e;border-color:#b9e6cb;background:#eaf8f0}.btn-admin-add-student:hover:not([disabled]){background:#2d8f4e;color:#fff;border-color:#2d8f4e}.btn-admin-add-student:focus-visible{outline:2px solid #2d8f4e;outline-offset:2px}.btn-admin-unassign{color:#c0392b;border-color:#f5b8c0;background:#ffecef}.btn-admin-unassign:hover:not([disabled]){background:#c0392b;color:#fff;border-color:#c0392b}.btn-admin-unassign:focus-visible{outline:2px solid #c0392b;outline-offset:2px}.btn-admin-assign-disabled,.btn-admin-assign[disabled]{opacity:.35;cursor:not-allowed;pointer-events:none}.settings-page{max-width:480px;margin:0 auto;padding:.5rem 1rem 2.5rem}.settings-header{margin-bottom:1.75rem}.settings-page-title{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0;letter-spacing:-.02em}.settings-page-email{font-size:.875rem;color:#6c757d;margin:.35rem 0 0}.settings-page-lead{font-size:.9rem;line-height:1.55;color:#495057;margin:-.75rem 0 1.5rem}.settings-section{margin-bottom:1.5rem}.settings-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#868e96;margin:0 0 .6rem .15rem}.settings-card{background:#fff;border:1px solid #e9ecef;border-radius:16px;padding:1.25rem 1.25rem 1.15rem;box-shadow:0 2px 12px #0000000a}.settings-card--account{padding:.35rem 0;background:transparent;border:none;box-shadow:none}.settings-card--account .settings-feedback{padding:0 .15rem .35rem}.settings-field{margin-bottom:1rem}.settings-field--last{margin-bottom:0}.settings-label{font-weight:600;font-size:.875rem;color:#343a40;margin-bottom:.35rem}.settings-input{border-radius:10px;border:1px solid #dee2e6;padding:.6rem .8rem;font-size:.9375rem}.settings-input:focus{border-color:#2e9f90;box-shadow:0 0 0 .2rem #2e9f902e}.settings-feedback{min-height:1.25em;font-size:.8125rem;margin-top:.5rem}.settings-feedback--ok{color:#198754}.settings-feedback--err{color:#dc3545}.btn.settings-save-btn{width:100%;margin-top:1rem;border-radius:10px;padding:.55rem 1rem;font-weight:600;font-size:.9375rem;background:#2e9f90;border-color:#2e9f90}.btn.settings-save-btn:hover:not(:disabled){background:#268a7d;border-color:#268a7d}.btn.settings-save-btn:disabled{opacity:.45;cursor:not-allowed}.settings-action-btn{display:block;width:100%;text-align:left;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#343a40;background:#fff;border:1px solid #e9ecef;border-radius:12px;margin-bottom:.5rem;transition:background .15s ease,border-color .15s ease}.settings-action-btn:hover:not(:disabled){background:#f8f9fa;border-color:#dee2e6}.settings-action-btn:disabled{opacity:.65;cursor:not-allowed}.settings-action-btn--danger{color:#dc3545;margin-bottom:0}.settings-action-btn--danger:hover:not(:disabled){background:#fff5f5;border-color:#f1aeb5}@media (max-width: 576px){.note-item{padding:.875rem 1rem;gap:.75rem}.note-item-thumb{width:60px;min-width:60px;height:44px}.note-item-podcast-name{font-size:.875rem}.note-modal-footer{flex-direction:column-reverse}.note-modal-footer .btn{width:100%}.my-notes-page{padding:0}.settings-page{padding:.25rem .75rem 2rem}.settings-card{padding:1.1rem 1rem 1rem;border-radius:14px}.settings-page-title{font-size:1.25rem}.settings-page-lead{font-size:.875rem}.settings-action-btn{padding:.7rem 1rem}}@media (max-width: 800px){#app{padding:1.25rem .75rem}.container-fluid.py-4{padding-left:.25rem!important;padding-right:.25rem!important}.card:has(.admin-podcast-table),.card:has(.admin-users-table){overflow:hidden}.card:has(.admin-podcast-table) .table-responsive,.card:has(.admin-users-table) .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-podcast-table{min-width:700px}.admin-users-table{min-width:640px}.admin-podcast-table thead th,.admin-users-table thead th{position:static}.card:has(.admin-podcast-table) .table thead th,.card:has(.admin-users-table) .table thead th,.card:has(.admin-podcast-table) .table tbody td,.card:has(.admin-users-table) .table tbody td{padding:.65rem .55rem!important}.admin-podcast-name-cell,.admin-user-name-cell{min-width:0;max-width:11rem}.admin-podcast-name-cell a,.admin-user-name-primary{word-break:break-word}.admin-user-email-sub{word-break:break-all}.admin-badge-star,.admin-badge-thumb,.admin-badge-normal{padding:.16rem .4rem;font-size:.72rem}.admin-user-rating-row{flex-wrap:nowrap;justify-content:center;gap:4px;margin:0 auto}.user-access-select{min-width:0;width:5.25rem;font-size:.72rem}}@media (max-width: 576px){#app{padding:1rem .65rem}.container-fluid.py-4{padding-top:1rem!important;padding-bottom:1rem!important;padding-left:0!important;padding-right:0!important}.admin-podcast-header-actions{gap:.5rem}.admin-podcast-header-actions h2{font-size:1.35rem}.admin-podcast-summary-stat{min-width:calc(50% - 1px);padding:.75rem .5rem}.admin-podcast-summary-stat:nth-child(2n){border-right:none}.admin-podcast-summary-stat:nth-child(-n+4){border-bottom:1px solid #f0f0f0}.admin-podcast-summary-value{font-size:.95rem}.admin-podcast-summary-label{font-size:.62rem}.admin-podcast-table{min-width:580px}.admin-users-table{min-width:520px}.card:has(.admin-podcast-table) .table thead th,.card:has(.admin-users-table) .table thead th,.card:has(.admin-podcast-table) .table tbody td,.card:has(.admin-users-table) .table tbody td{padding:.55rem .45rem!important}.admin-podcast-table thead th,.admin-users-table thead th{padding:.5rem .4rem;font-size:.65rem}.admin-podcast-table tbody td,.admin-users-table tbody td{padding:.65rem .45rem;font-size:.8rem}.admin-podcast-name-cell,.admin-user-name-cell{max-width:9.5rem}.admin-podcast-name-cell a,.admin-user-name-primary{font-size:.8rem}.admin-user-email-sub{font-size:.68rem}.admin-podcast-table thead th svg,.admin-users-table thead th svg{width:13px;height:13px}.admin-view-cell{min-width:32px}.admin-view-num{font-size:.82rem}.admin-badge-star,.admin-badge-thumb,.admin-badge-normal{padding:.14rem .35rem;font-size:.68rem;gap:2px}.admin-user-rating-row{gap:3px}.admin-user-notes-card{padding:.22rem .4rem;font-size:.72rem}.admin-action-btn{width:28px;height:28px}.user-access-select{width:4.5rem;font-size:.68rem;padding:.2rem 1.35rem .2rem .3rem}.admin-podcast-footer{padding:.55rem .65rem;font-size:.72rem}}
