:root{--bg:#0b1220;--bg-elevated:#111827;--card:#1e293b;--card-hover:#243044;--border:#334155;--border-subtle:#1f2937;--text:#f1f5f9;--text-muted:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--success:#22c55e;--success-bg:rgba(34,197,94,0.12);--error:#ef4444;--error-bg:rgba(239,68,68,0.12);--info:#38bdf8;--info-bg:rgba(56,189,248,0.12);--warning:#f59e0b;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow:0 4px 24px rgba(0,0,0,0.25)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:radial-gradient(ellipse at top,#1e3a5f 0,transparent 55%),var(--bg);color:var(--text);min-height:100vh;line-height:1.5}.main{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.header{background:rgba(30,41,59,.85);backdrop-filter:blur(8px);padding:.85rem 1.25rem;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.header__nav{display:flex;gap:.25rem 1rem;flex-wrap:wrap;align-items:center;max-width:1200px;margin:0 auto}.header__link{color:var(--text-muted);text-decoration:none;font-size:.925rem;padding:.35rem .5rem;border-radius:var(--radius-sm);transition:color .15s,background .15s}.header__link:hover{color:var(--text);background:rgba(255,255,255,.05)}.header__logout{margin-left:auto;background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.45rem .85rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:border-color .15s,color .15s}.header__logout:hover{border-color:var(--text-muted);color:var(--text)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}.page-header__title{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.page-header__description{margin:.35rem 0 0;color:var(--text-muted);font-size:.95rem;max-width:42rem}.page-header__actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.page-title{margin-top:0}.card{background:var(--card);padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow)}.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.section{margin-bottom:1.5rem}.section__title{margin:0 0 .35rem;font-size:1.1rem;font-weight:600}.section__subtitle{margin:0 0 1rem;color:var(--text-muted);font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--md{padding:.6rem 1rem;font-size:.9rem}.btn--sm{padding:.35rem .65rem;font-size:.8rem}.btn--primary{background:var(--accent);color:white}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background:var(--card-hover)}.btn--ghost{background:transparent;color:var(--text-muted);border:1px solid transparent}.btn--ghost:hover:not(:disabled){background:rgba(255,255,255,.05);color:var(--text)}.btn--danger{background:transparent;color:var(--error);border:1px solid rgba(239,68,68,.35)}.btn--danger:hover:not(:disabled){background:var(--error-bg)}.form-stack{gap:1rem}.form-group,.form-stack{display:flex;flex-direction:column}.form-group{gap:.4rem}.form-label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.form-input{padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:.95rem;transition:border-color .15s,box-shadow .15s}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.2)}.form-hint{font-size:.8rem;color:var(--text-muted)}.login{display:flex;justify-content:center;align-items:center;min-height:80vh}.login__card{background:var(--card);padding:2rem;border-radius:var(--radius-lg);width:100%;max-width:420px;border:1px solid var(--border-subtle);box-shadow:var(--shadow)}.login__title{margin-top:0;text-align:center;font-size:1.5rem}.login__form{display:flex;flex-direction:column;gap:.75rem}.login__label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.login__input{padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text)}.login__submit{margin-top:.5rem;padding:.75rem;background:var(--accent);color:white;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500}.login__submit:hover:not(:disabled){background:var(--accent-hover)}.login__error{color:var(--error);font-size:.9rem}.login__success{color:var(--success);font-size:.9rem}.login__register{text-align:center;margin-top:1rem}.login__register a{color:var(--accent)}.alert{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.9rem;margin-bottom:1rem}.alert--success{background:var(--success-bg);color:var(--success);border:1px solid rgba(34,197,94,.25)}.alert--error{background:var(--error-bg);color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.alert--info{background:var(--info-bg);color:var(--info);border:1px solid rgba(56,189,248,.25)}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:lowercase}.badge--neutral{background:rgba(148,163,184,.15);color:var(--text-muted)}.badge--info{background:var(--info-bg);color:var(--info)}.badge--success{background:var(--success-bg);color:var(--success)}.badge--danger{background:var(--error-bg);color:#fca5a5}.table-wrap{overflow-x:auto;margin:0 -.25rem}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{text-align:left;padding:.65rem .75rem;color:var(--text-muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.data-table td{padding:.85rem .75rem;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:rgba(255,255,255,.02)}.data-table tbody tr.is-selected{background:rgba(59,130,246,.08)}.data-table__actions{display:flex;gap:.35rem;flex-wrap:wrap}.progress{height:6px;background:var(--bg-elevated);border-radius:999px;overflow:hidden}.progress__bar{height:100%;background:linear-gradient(90deg,var(--accent),#60a5fa);border-radius:999px;transition:width .3s ease}.progress__label{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-md);padding:2rem 1.5rem;text-align:center;background:var(--bg-elevated);transition:border-color .15s,background .15s;cursor:pointer}.upload-zone.is-dragover,.upload-zone:hover{border-color:var(--accent);background:rgba(59,130,246,.06)}.upload-zone__input{display:none}.upload-zone__title{margin:0 0 .35rem;font-weight:600}.upload-zone__hint{margin:0;color:var(--text-muted);font-size:.875rem}.upload-zone__file{margin-top:.75rem;font-size:.875rem;color:var(--accent)}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--text-muted)}.empty-state__icon{font-size:2rem;margin-bottom:.5rem;opacity:.6}.loading-state{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--text-muted)}.spinner{width:1.25rem;height:1.25rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.layout-split{display:grid;gap:1.25rem;grid-template-columns:1fr}@media (min-width:900px){.layout-split--2-1{grid-template-columns:2fr 1fr}.layout-split--1-1{grid-template-columns:1fr 1fr}}.dashboard__stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.85rem;margin-bottom:1.5rem}.stat-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.stat-card__label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-card__value{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.stat-card__meta{font-size:.75rem;color:var(--text-muted)}.dashboard__queue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.queue-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.85rem 1rem}.queue-card__name{margin:0 0 .5rem;font-size:.9rem;font-weight:600}.queue-card__counts{margin:0 0 .75rem;font-size:.8rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:.35rem .65rem}.dashboard__iframe{width:100%;min-height:480px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.chip{background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:.35rem .7rem;border-radius:999px;font-size:.8rem;color:var(--text-muted)}.chip strong{color:var(--text);margin-left:.25rem}.profile-grid{display:grid;gap:1.25rem}@media (min-width:768px){.profile-grid{grid-template-columns:280px 1fr}}.profile-card{text-align:center;padding:1.5rem 1rem}.profile-card__avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#6366f1);display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;margin:0 auto 1rem;color:white}.profile-card__name{margin:0 0 .25rem;font-size:1.15rem}.profile-card__email{margin:0 0 .75rem;color:var(--text-muted);font-size:.9rem;word-break:break-all}.permission-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}.permission-list li{background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:.25rem .55rem;border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-muted)}.transcript-box{white-space:pre-wrap;background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:1rem 1.1rem;border-radius:var(--radius-md);max-height:420px;overflow:auto;font-size:.925rem;line-height:1.65;margin:0}.toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted);cursor:pointer;user-select:none}.toggle input{accent-color:var(--accent)}.qr-status{text-align:center;padding:1rem 0}.qr-status__icon{font-size:2.5rem;margin-bottom:.75rem}.link-accent{color:var(--accent);text-decoration:none}.link-accent:hover{text-decoration:underline}.catalog-nav{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.catalog-nav__link{color:var(--text-muted);text-decoration:none;padding:.4rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.9rem;transition:background .15s,color .15s}.catalog-nav__link--active,.catalog-nav__link:hover{color:var(--text);background:rgba(59,130,246,.15);border-color:var(--accent)}.catalog-filters{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:flex-end;margin-bottom:1.25rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md)}.tmdb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.tmdb-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.5rem}.tmdb-card__poster{position:relative;aspect-ratio:2/3;border-radius:var(--radius-md);overflow:hidden;background:var(--card)}.tmdb-card__poster img{width:100%;height:100%;object-fit:cover}.tmdb-card__placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:2rem}.tmdb-card__badge{position:absolute;top:.5rem;right:.5rem;font-size:.7rem;padding:.15rem .45rem;border-radius:999px}.tmdb-card__badge--ready{background:var(--success-bg);color:var(--success)}.tmdb-card__title{font-size:.9rem;line-height:1.3}.tmdb-card__rating{font-size:.8rem;color:var(--text-muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.text-muted{color:var(--text-muted)}.tmdb-detail__back{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;margin-bottom:1rem;font-size:.95rem}.tmdb-detail__header{position:relative;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1.5rem;background:var(--card)}.tmdb-detail__backdrop{position:absolute;inset:0;background-size:cover;background-position:50%;filter:blur(2px);transform:scale(1.05)}.tmdb-detail__header-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,18,32,.95),rgba(11,18,32,.4))}.tmdb-detail__header-content{position:relative;display:flex;gap:1.25rem;padding:1.5rem;flex-wrap:wrap}.tmdb-detail__poster-wrap{flex-shrink:0}.tmdb-detail__poster{width:180px;border-radius:var(--radius-md);box-shadow:var(--shadow)}.tmdb-detail__poster-placeholder{width:180px;aspect-ratio:2/3;display:grid;place-items:center;font-size:3rem;background:var(--bg-elevated);border-radius:var(--radius-md)}.tmdb-detail__title{margin:0 0 .5rem;font-size:1.75rem}.tmdb-detail__meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--text-muted);margin-bottom:.75rem;font-size:.9rem}.tmdb-detail__actions{margin:1rem 0}.tmdb-detail__overview{max-width:60ch;color:var(--text-muted)}.tmdb-detail__genres{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tmdb-detail__genre{padding:.25rem .65rem;border-radius:999px;background:var(--card);border:1px solid var(--border);font-size:.85rem}.tmdb-detail__seasons h2{margin-bottom:.75rem}.tmdb-detail__season-list{display:flex;flex-wrap:wrap;gap:.5rem}.tmdb-detail__season-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.65rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer}.tmdb-detail__season-btn:hover{border-color:var(--accent)}.episode-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.episode-card{display:flex;gap:1rem;padding:1rem;background:var(--card);border-radius:var(--radius-md);border:1px solid var(--border)}.episode-card__thumb{width:160px;flex-shrink:0;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-elevated)}.episode-card__thumb img{width:100%;height:100%;object-fit:cover}.episode-card__placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:2rem}.episode-card__body h2{margin:0 0 .5rem;font-size:1.05rem}.episode-card__overview{color:var(--text-muted);font-size:.9rem;margin-bottom:.75rem}.video-player__title{margin-bottom:1rem}.video-player__container{position:relative;background:#000;border-radius:var(--radius-md);overflow:hidden}.video-player__video{width:100%;max-height:70vh;display:block}.video-player__skip{position:absolute;bottom:4rem;right:1rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);background:rgba(255,255,255,.9);color:#111;cursor:pointer;font-weight:600}.video-player__controls{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.video-player__control{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--text-muted)}.video-player__control select{padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text)}.media-page{max-width:960px;margin:0 auto}.footer{margin-top:auto;border-top:1px solid var(--border);background:rgba(17,24,39,.6);padding:2rem 1.25rem}.footer__content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.footer__title{margin:0 0 .35rem;font-size:1.1rem}.footer__subtitle{margin:0 0 .5rem}.footer__subtitle,.footer__text{font-size:.9rem;color:var(--text-muted)}.footer__text{margin:0}.footer__link{color:var(--accent);text-decoration:none;font-size:.9rem}.footer__link:hover{text-decoration:underline}.maintenance-popup{position:fixed;inset:0;z-index:200;display:grid;place-items:center}.maintenance-popup__overlay{position:absolute;inset:0;background:rgba(0,0,0,.75)}.maintenance-popup__content{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;max-width:420px;text-align:center;box-shadow:var(--shadow)}.maintenance-popup__icon{font-size:2.5rem;margin-bottom:.75rem}.maintenance-popup__title{margin:0 0 .75rem}.maintenance-popup__message{color:var(--text-muted);margin-bottom:1rem}.maintenance-popup__spinner{width:32px;height:32px;margin:0 auto;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.toast-container{position:fixed;bottom:1.25rem;right:1.25rem;z-index:300;display:flex;flex-direction:column;gap:.5rem;max-width:min(420px,calc(100vw - 2rem))}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}}.toast--error{border-color:var(--error);background:var(--error-bg)}.toast--success{border-color:var(--success);background:var(--success-bg)}.toast--info{border-color:var(--info);background:var(--info-bg)}.toast__message{flex:1;font-size:.9rem}.toast__close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.25rem;line-height:1;padding:0}.skeleton{background:linear-gradient(90deg,var(--card) 0,var(--card-hover) 50%,var(--card) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--text{height:1rem;width:80%;margin-top:.5rem}.skeleton--text-sm{height:.75rem;width:40%;margin-top:.35rem}.tmdb-card--skeleton .tmdb-card__poster{aspect-ratio:2/3}.catalog-filters__group{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.catalog-filters__label{font-size:.85rem;color:var(--text-muted);margin-right:.25rem}.catalog-filters__select{padding:.4rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);min-width:160px}.catalog-filters__checkbox{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-muted);cursor:pointer}.catalog-empty{text-align:center;padding:2rem 0}.pagination__jump{display:flex;align-items:center;gap:.35rem}.pagination__input{width:4rem;padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text);text-align:center}.forbidden-page__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}