:root {
  --bg: #070910;
  --bg-soft: #0b0f19;
  --panel: rgba(15, 20, 32, .92);
  --panel-solid: #101624;
  --panel-2: #161e2f;
  --text: #f7f9ff;
  --muted: #9ca9bd;
  --line: rgba(255,255,255,.1);
  --line-strong: rgba(255,255,255,.18);
  --accent: #8b5cf6;
  --accent-2: #22d3ee;
  --accent-3: #4f7cff;
  --green: #31d68b;
  --danger: #ff6577;
  --shadow: 0 28px 90px rgba(0,0,0,.48);
  --radius: 20px;
}

* { box-sizing: border-box; }
html { background: var(--bg); scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; color: var(--text); background: var(--bg); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
[hidden] { display: none !important; }
::-webkit-scrollbar { width: 10px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #293247; border-radius: 999px; }

.app-shell {
  min-height: 100vh;
  background:
    radial-gradient(circle at 82% 6%, rgba(34,211,238,.07), transparent 28%),
    radial-gradient(circle at 15% 18%, rgba(139,92,246,.07), transparent 28%),
    var(--bg);
}

.topbar {
  position: fixed;
  z-index: 80;
  inset: 0 0 auto;
  height: 74px;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0 42px;
  background: linear-gradient(180deg, rgba(5,7,13,.98), rgba(5,7,13,.84) 72%, transparent);
  backdrop-filter: blur(18px);
}

.brand { display: inline-flex; align-items: center; gap: 11px; font-size: 24px; font-weight: 850; letter-spacing: -1.1px; }
.brand-name { background: linear-gradient(90deg, #fff 10%, #cfe9ff 96%); -webkit-background-clip: text; color: transparent; }
.brand-mark {
  width: 37px; height: 37px; border-radius: 12px; position: relative; overflow: hidden;
  background: linear-gradient(145deg, var(--accent), var(--accent-3) 52%, var(--accent-2));
  box-shadow: 0 13px 34px rgba(109,81,255,.35), inset 0 1px rgba(255,255,255,.3);
}
.brand-mark::before { content: ''; position: absolute; width: 12px; height: 20px; left: 10px; top: 8px; background: white; clip-path: polygon(0 0, 100% 50%, 0 100%); filter: drop-shadow(0 2px 5px rgba(0,0,0,.2)); }
.brand-mark::after { content: ''; position: absolute; width: 10px; height: 19px; right: 6px; bottom: -2px; border-radius: 10px; transform: rotate(35deg); background: rgba(255,255,255,.3); }

.nav { display: flex; align-items: center; gap: 23px; }
.nav-link { position: relative; padding: 10px 0; color: #c0c9d7; font-size: 14px; font-weight: 650; transition: .2s; }
.nav-link:hover, .nav-link.active { color: white; }
.nav-link.active::after { content: ''; position: absolute; left: 0; right: 0; bottom: 3px; height: 2px; border-radius: 3px; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }
.top-actions { margin-left: auto; display: flex; align-items: center; gap: 11px; }
.icon-btn { width: 41px; height: 41px; padding: 0; display: grid; place-items: center; border-radius: 13px; border: 1px solid var(--line); background: rgba(255,255,255,.045); color: white; transition: .2s; }
.icon-btn:hover { background: rgba(255,255,255,.095); border-color: var(--line-strong); transform: translateY(-1px); }
.avatar { width: 39px; height: 39px; border-radius: 13px; display: grid; place-items: center; font-size: 13px; font-weight: 850; background: linear-gradient(145deg, #5568ff, #8a52ff); border: 1px solid rgba(255,255,255,.22); }

.hero { min-height: 690px; position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: 150px 42px 92px; }
.hero-backdrop { position: absolute; inset: 0; background: var(--hero-image); background-size: cover; background-position: center; transform: scale(1.035); }
.hero-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,6,12,.99) 1%, rgba(4,6,12,.84) 32%, rgba(4,6,12,.22) 68%), linear-gradient(0deg, var(--bg) 0%, transparent 44%), linear-gradient(180deg, rgba(5,7,13,.25), transparent 30%); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(8px); opacity: .5; mix-blend-mode: screen; }
.hero-orb.one { width: 290px; height: 290px; top: 120px; right: 15%; background: radial-gradient(circle, rgba(139,92,246,.5), transparent 68%); }
.hero-orb.two { width: 250px; height: 250px; bottom: 10%; right: 31%; background: radial-gradient(circle, rgba(34,211,238,.35), transparent 70%); }
.hero-content { position: relative; z-index: 2; max-width: 635px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 999px; border: 1px solid rgba(139,92,246,.35); background: rgba(139,92,246,.14); color: #e1d8ff; font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--accent-2); box-shadow: 0 0 12px var(--accent-2); }
.hero-title { margin: 20px 0 18px; font-size: clamp(49px, 7.4vw, 91px); line-height: .91; letter-spacing: -5px; font-weight: 900; text-wrap: balance; text-shadow: 0 16px 55px rgba(0,0,0,.45); }
.hero-description { color: #d2d9e5; font-size: 17px; line-height: 1.68; margin: 0; max-width: 585px; }
.meta { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; color: #c7cfdb; font-size: 13px; margin: 19px 0 29px; }
.meta strong { color: #7ff0b7; }
.meta .dot { width: 4px; height: 4px; border-radius: 50%; background: #69758a; }
.age { padding: 3px 7px; border: 1px solid rgba(255,255,255,.24); border-radius: 6px; font-size: 11px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; }
.btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 13px; padding: 12px 18px; font-weight: 800; transition: .2s; }
.btn-primary { color: #070a10; background: white; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(255,255,255,.18); }
.btn-secondary { color: white; background: rgba(255,255,255,.105); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(12px); }
.btn-secondary:hover { background: rgba(255,255,255,.17); }
.btn-accent { color: white; background: linear-gradient(135deg, var(--accent), var(--accent-3)); box-shadow: 0 14px 35px rgba(110,80,255,.3); }
.btn-accent:hover { transform: translateY(-2px); box-shadow: 0 18px 43px rgba(110,80,255,.42); }
.btn-danger { color: white; background: rgba(255,101,119,.12); border: 1px solid rgba(255,101,119,.24); }

.content { position: relative; z-index: 3; margin-top: -32px; padding: 0 42px 76px; }
.section { margin: 13px 0 41px; }
.section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 15px; gap: 18px; }
.section-title { font-size: 22px; line-height: 1.2; letter-spacing: -.6px; margin: 0; font-weight: 850; }
.section-sub { color: var(--muted); font-size: 13px; margin-top: 5px; }
.row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(180px, 14.6vw); gap: 16px; overflow-x: auto; padding: 4px 0 16px; scroll-snap-type: x proximity; }
.card { position: relative; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 17px; background: var(--panel-solid); border: 1px solid rgba(255,255,255,.075); box-shadow: 0 15px 32px rgba(0,0,0,.2); scroll-snap-align: start; transition: .26s; }
.card:hover { transform: translateY(-8px) scale(1.018); z-index: 4; border-color: rgba(255,255,255,.22); box-shadow: 0 25px 55px rgba(0,0,0,.46); }
.card::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(0deg, rgba(5,7,13,.98), rgba(5,7,13,.1)); }
.card img { width: 100%; height: 100%; object-fit: cover; }
.card-body { position: absolute; z-index: 3; inset: auto 13px 13px; }
.card-title { font-size: 14px; font-weight: 850; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 7px; }
.card-meta { display: flex; align-items: center; gap: 7px; color: #b6c0ce; font-size: 11px; }
.card-play { position: absolute; z-index: 3; inset: 0; display: grid; place-items: center; opacity: 0; transition: .2s; background: rgba(7,9,16,.18); }
.card:hover .card-play { opacity: 1; }
.play-circle { width: 49px; height: 49px; border-radius: 50%; display: grid; place-items: center; color: #080b12; background: white; box-shadow: 0 12px 35px rgba(0,0,0,.38); }
.badge { position: absolute; z-index: 4; top: 11px; left: 11px; padding: 5px 8px; border-radius: 8px; background: rgba(6,9,15,.76); backdrop-filter: blur(10px); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.progress { height: 3px; margin-top: 9px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.18); }
.progress > span { display: block; height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }

.page { min-height: 100vh; padding: 115px 42px 76px; }
.page-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 29px; }
.page-title { margin: 0 0 7px; font-size: clamp(34px, 5vw, 48px); line-height: 1.02; letter-spacing: -2px; font-weight: 900; }
.page-description { color: var(--muted); margin: 0; line-height: 1.65; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 18px; }
.grid .card { width: 100%; }
.empty { padding: 62px 25px; text-align: center; border: 1px dashed rgba(255,255,255,.14); border-radius: 20px; background: rgba(255,255,255,.025); color: var(--muted); }
.empty h3 { color: white; margin: 0 0 8px; }
.search-box { width: min(430px, 100%); display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-solid); padding: 0 14px; }
.search-box input { width: 100%; padding: 13px 0; border: 0; outline: 0; color: white; background: transparent; }

.login { min-height: 100vh; position: relative; overflow: hidden; display: grid; place-items: center; padding: 30px; background: radial-gradient(circle at 15% 12%, rgba(139,92,246,.28), transparent 31%), radial-gradient(circle at 86% 82%, rgba(34,211,238,.18), transparent 33%), #070910; }
.login::before { content: ''; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent 92%); }
.login::after { content: ''; position: absolute; width: 650px; height: 650px; border-radius: 50%; border: 1px solid rgba(255,255,255,.08); box-shadow: 0 0 0 80px rgba(255,255,255,.012), 0 0 0 170px rgba(255,255,255,.008); }
.login-card { position: relative; z-index: 2; width: min(445px, 100%); padding: 35px; border: 1px solid rgba(255,255,255,.11); border-radius: 25px; background: rgba(13,17,27,.88); backdrop-filter: blur(22px); box-shadow: var(--shadow); }
.login-brand { justify-content: center; font-size: 30px; margin-bottom: 29px; }
.login-card h1 { text-align: center; font-size: 31px; letter-spacing: -1.2px; margin: 0 0 8px; }
.login-card > p { text-align: center; color: var(--muted); line-height: 1.55; margin: 0 0 27px; }
.field { margin-bottom: 16px; }
.field label { display: block; color: #cdd5e0; font-size: 12px; font-weight: 750; margin: 0 0 7px; }
.field input, .field select, .field textarea { width: 100%; color: white; background: #090e17; border: 1px solid var(--line); border-radius: 13px; outline: 0; padding: 13px 14px; }
.field textarea { min-height: 105px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: rgba(139,92,246,.78); box-shadow: 0 0 0 3px rgba(139,92,246,.12); }
.login-card form .btn { width: 100%; margin-top: 4px; }
.login-note { margin: 19px 0 0 !important; font-size: 11px; }

.details { min-height: 100vh; position: relative; padding-top: 74px; }
.details-backdrop { min-height: 590px; position: relative; display: flex; align-items: flex-end; padding: 90px 42px 68px; background: var(--details-image); background-size: cover; background-position: center; }
.details-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,7,13,.97), rgba(5,7,13,.62) 48%, rgba(5,7,13,.22)), linear-gradient(0deg, var(--bg), transparent 55%); }
.details-copy { position: relative; z-index: 2; max-width: 680px; }
.details-copy h1 { font-size: clamp(48px, 8vw, 88px); letter-spacing: -4px; line-height: .94; margin: 18px 0 18px; }
.details-body { max-width: 1100px; margin: -10px auto 0; padding: 0 42px 80px; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .7fr); gap: 52px; }
.details-body p { color: #d1d8e3; font-size: 17px; line-height: 1.78; margin: 0; }
.fact-list { display: grid; gap: 13px; color: #b7c0cf; font-size: 14px; }
.fact-list b { color: white; }

.account-layout, .admin-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 23px; align-items: start; }
.side-card, .panel-card, .stat { border: 1px solid var(--line); border-radius: 20px; background: rgba(15,20,32,.78); backdrop-filter: blur(15px); }
.side-card { position: sticky; top: 95px; padding: 16px; }
.side-user { display: flex; gap: 12px; align-items: center; padding: 6px 5px 18px; border-bottom: 1px solid var(--line); margin-bottom: 10px; }
.side-nav { display: grid; gap: 5px; }
.side-nav button { width: 100%; border: 0; border-radius: 11px; padding: 11px 12px; text-align: left; color: #bdc6d3; background: transparent; }
.side-nav button:hover, .side-nav button.active { color: white; background: rgba(255,255,255,.07); }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-bottom: 18px; }
.stat { padding: 20px; }
.stat span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 8px; }
.stat strong { display: block; font-size: 29px; letter-spacing: -1px; }
.panel-card { padding: 22px; overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; margin-top: 16px; }
.table th, .table td { padding: 14px 12px; border-bottom: 1px solid var(--line); text-align: left; font-size: 13px; }
.table th { color: var(--muted); font-weight: 650; }
.status { display: inline-flex; padding: 5px 8px; border-radius: 999px; color: #8bf0bd; background: rgba(49,214,139,.11); border: 1px solid rgba(49,214,139,.2); font-size: 9px; font-weight: 850; letter-spacing: .06em; }

.player-layer { position: fixed; z-index: 200; inset: 0; background: black; display: grid; place-items: center; }
.player-shell { width: 100%; height: 100%; position: relative; background: #000; }
.player-shell video { width: 100%; height: 100%; object-fit: contain; background: #000; }
.player-top { position: absolute; z-index: 3; inset: 0 0 auto; display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 25px 28px 75px; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.82), transparent); }
.player-top > * { pointer-events: auto; }
.player-title { font-size: 19px; font-weight: 850; }
.player-badge { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border-radius: 999px; margin-top: 8px; font-size: 10px; color: #d7f7ff; background: rgba(34,211,238,.12); border: 1px solid rgba(34,211,238,.24); }
.player-message { position: absolute; z-index: 4; left: 50%; top: 50%; transform: translate(-50%,-50%); padding: 12px 15px; border-radius: 12px; color: white; background: rgba(7,10,16,.8); border: 1px solid rgba(255,255,255,.13); opacity: 0; pointer-events: none; transition: .2s; }
.player-message.show { opacity: 1; }

.drawer-layer { position: fixed; z-index: 150; inset: 0; display: flex; justify-content: flex-end; background: rgba(0,0,0,.62); backdrop-filter: blur(7px); }
.drawer { width: min(560px, 100%); height: 100%; overflow-y: auto; padding: 26px; background: #0d1320; border-left: 1px solid var(--line); box-shadow: -30px 0 80px rgba(0,0,0,.45); }
.drawer-head { display: flex; justify-content: space-between; gap: 20px; align-items: start; margin-bottom: 25px; }
.drawer-head h2 { margin: 0 0 6px; font-size: 27px; letter-spacing: -1px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.form-grid .span-2 { grid-column: span 2; }
.file-drop { display: block; padding: 22px; border-radius: 16px; border: 1px dashed rgba(139,92,246,.45); background: rgba(139,92,246,.07); text-align: center; color: #d8d0ff; }
.file-drop input { display: block; width: 100%; margin-top: 13px; }
.form-help { color: var(--muted); font-size: 11px; line-height: 1.5; }

.toast { min-width: 280px; max-width: 380px; padding: 14px 16px; display: grid; gap: 4px; border-radius: 14px; border: 1px solid rgba(255,255,255,.13); color: white; background: rgba(16,22,36,.94); box-shadow: 0 18px 55px rgba(0,0,0,.42); backdrop-filter: blur(16px); animation: toast-in .25s ease-out; }
.toast span { color: var(--muted); font-size: 12px; line-height: 1.45; }
#toast-root { position: fixed; z-index: 300; right: 22px; bottom: 22px; display: grid; gap: 10px; }
@keyframes toast-in { from { opacity: 0; transform: translateY(12px); } }

.mobile-menu { display: none; }

@media (max-width: 900px) {
  .topbar { padding: 0 20px; gap: 15px; }
  .nav { display: none; }
  .mobile-menu { display: grid; }
  .hero { min-height: 630px; padding: 140px 22px 70px; }
  .hero-title { letter-spacing: -3px; }
  .content, .page { padding-left: 22px; padding-right: 22px; }
  .row { grid-auto-columns: minmax(165px, 42vw); }
  .details-backdrop { padding-left: 22px; padding-right: 22px; }
  .details-body { grid-template-columns: 1fr; padding-left: 22px; padding-right: 22px; gap: 28px; }
  .account-layout, .admin-layout { grid-template-columns: 1fr; }
  .side-card { position: static; }
  .stats { grid-template-columns: 1fr; }
  .page-head { align-items: stretch; flex-direction: column; }
}

@media (max-width: 560px) {
  .topbar { height: 67px; }
  .brand { font-size: 20px; }
  .brand-mark { width: 34px; height: 34px; }
  .top-actions .icon-btn:nth-child(2) { display: none; }
  .hero { min-height: 580px; padding-top: 118px; }
  .hero-title { font-size: 52px; }
  .hero-description { font-size: 15px; }
  .row { grid-auto-columns: minmax(150px, 44vw); }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .page { padding-top: 94px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: auto; }
  .drawer { padding: 20px; }
  .login-card { padding: 27px 22px; }
  .player-top { padding: 18px 18px 65px; }
}

/* Valy TV V0.1.2 — player completo */
.player-shell { cursor: default; }
.player-shell video::cue { color: #fff; background: rgba(0,0,0,.82); font-size: 1.05rem; }
.player-top, .player-controls, .player-center-play { opacity: 0; transition: opacity .2s ease, transform .2s ease; }
.player-shell.controls-visible .player-top,
.player-shell.controls-visible .player-controls,
.player-shell.controls-visible .player-center-play,
.player-shell:not(.is-playing) .player-top,
.player-shell:not(.is-playing) .player-controls,
.player-shell:not(.is-playing) .player-center-play { opacity: 1; }
.player-center-play {
  position: absolute; z-index: 5; left: 50%; top: 50%; transform: translate(-50%, -50%) scale(.96);
  width: 78px; height: 78px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%;
  display: grid; place-items: center; color: white; background: rgba(7,10,16,.66); backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.player-shell.controls-visible .player-center-play,
.player-shell:not(.is-playing) .player-center-play { transform: translate(-50%, -50%) scale(1); }
.player-shell.is-playing .player-center-play { pointer-events: none; }
.player-controls {
  position: absolute; z-index: 6; inset: auto 0 0; padding: 70px 28px 23px;
  background: linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,.52) 55%, transparent);
}
.player-progress { width: 100%; height: 5px; margin: 0 0 15px; accent-color: #8b5cf6; cursor: pointer; }
.player-controls-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.player-controls-group { display: flex; align-items: center; gap: 9px; min-width: 0; }
.player-control-button {
  position: relative; min-width: 42px; height: 42px; padding: 0 9px; border: 0; border-radius: 11px;
  display: inline-flex; align-items: center; justify-content: center; gap: 1px; color: white; background: transparent;
}
.player-control-button:hover, .player-control-button:focus-visible { background: rgba(255,255,255,.12); outline: none; }
.player-control-button.primary { background: rgba(255,255,255,.13); }
.player-control-button span { font-size: 9px; font-weight: 850; position: absolute; bottom: 4px; right: 5px; }
.player-volume { width: 88px; accent-color: #fff; }
.player-time { display: inline-flex; gap: 5px; white-space: nowrap; font-size: 12px; color: rgba(255,255,255,.82); }
.player-settings { justify-content: flex-end; }
.player-select-wrap { display: grid; gap: 3px; min-width: 126px; }
.player-select-wrap > span { display: flex; align-items: center; gap: 5px; color: rgba(255,255,255,.68); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.player-select-wrap select {
  height: 35px; min-width: 126px; padding: 0 28px 0 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px;
  color: white; background: rgba(8,11,18,.78); outline: none;
}
.player-select-wrap.compact { min-width: 93px; }
.player-select-wrap.compact select { min-width: 93px; }
.player-select-wrap select:focus { border-color: rgba(139,92,246,.9); }

@media (max-width: 900px) {
  .player-controls { padding: 60px 16px 14px; }
  .player-controls-row { align-items: flex-end; }
  .player-settings { gap: 6px; }
  .player-select-wrap { min-width: 100px; }
  .player-select-wrap select { min-width: 100px; max-width: 120px; }
  .player-select-wrap.compact, .player-select-wrap.compact select { min-width: 82px; }
  .player-volume { width: 58px; }
}

@media (max-width: 680px) {
  .player-controls-row { display: grid; gap: 9px; }
  .player-controls-group { justify-content: center; }
  .player-settings { overflow-x: auto; justify-content: flex-start; padding-bottom: 2px; }
  .player-volume { display: none; }
  .player-time { margin-left: auto; }
  .player-center-play { width: 66px; height: 66px; }
  .player-select-wrap > span { display: none; }
  .player-select-wrap select { height: 34px; }
}


/* Valy TV V0.1.2-R7 — controles visíveis fora da tela cheia e painel de opções */
.player-shell:not(:fullscreen) .player-top,
.player-shell:not(:fullscreen) .player-controls { opacity: 1 !important; pointer-events: auto; }
.player-shell:not(:fullscreen).is-playing .player-center-play:not(:focus-visible) { opacity: 0; }
.player-shell:not(:fullscreen) .player-controls { transform: none !important; }
.player-shell:not(:fullscreen) { padding-bottom: env(safe-area-inset-bottom); }
.player-options-button { width: auto; padding-inline: 12px; gap: 7px; background: rgba(255,255,255,.09); }
.player-options-button strong { font-size: 11px; }
.player-settings-panel {
  position: absolute; z-index: 8; right: 28px; bottom: 92px; width: min(360px, calc(100vw - 32px));
  display: grid; gap: 14px; padding: 18px; border: 1px solid rgba(255,255,255,.15); border-radius: 16px;
  background: rgba(7,10,16,.96); box-shadow: 0 24px 80px rgba(0,0,0,.52); backdrop-filter: blur(18px);
  opacity: 0; visibility: hidden; transform: translateY(10px) scale(.98); pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.player-settings-panel.open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); pointer-events: auto; }
.player-settings-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.player-settings-panel-head > div { display: grid; gap: 3px; }
.player-settings-panel-head strong { font-size: 15px; }
.player-settings-panel-head span { color: rgba(255,255,255,.58); font-size: 11px; }
.player-settings-panel .player-select-wrap,
.player-settings-panel .player-select-wrap select,
.player-settings-panel .player-select-wrap.compact,
.player-settings-panel .player-select-wrap.compact select { width: 100%; min-width: 0; max-width: none; }
.player-settings-panel .player-select-wrap > span { display: flex; }
.player-settings-panel select { color-scheme: dark; }
.player-shell.settings-open .player-controls,
.player-shell.settings-open .player-top { opacity: 1 !important; }
@media (max-width: 680px) {
  .player-settings-panel { right: 12px; bottom: 126px; width: calc(100vw - 24px); }
  .player-options-button strong { display: none; }
}

/* Valy TV V0.1.3 — Biblioteca do PC */
.admin-library-page { max-width: 1500px; margin: 0 auto; }
.agent-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-bottom: 18px; }
.agent-summary .stat { min-height: 126px; }
.agent-summary .stat strong.status { font-size: 13px; letter-spacing: .08em; width: max-content; }
.status-error { color: #ff9aa6 !important; background: rgba(255,101,119,.11) !important; border-color: rgba(255,101,119,.24) !important; }
.status-warn { color: #ffd489 !important; background: rgba(255,185,74,.11) !important; border-color: rgba(255,185,74,.24) !important; }
.agent-offline { margin-bottom: 20px; padding: 24px; border: 1px solid rgba(255,101,119,.28); border-radius: 18px; background: rgba(255,101,119,.07); }
.agent-offline strong { font-size: 18px; }
.agent-offline p { color: #d7aab0; line-height: 1.6; }
.agent-offline code { display: inline-block; padding: 8px 10px; border-radius: 9px; background: rgba(0,0,0,.32); color: white; }
.library-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) 210px auto; align-items: center; gap: 13px; margin: 21px 0 15px; }
.agent-search { width: 100%; }
.library-filter { min-height: 47px; padding: 0 13px; color: white; border: 1px solid var(--line); border-radius: 13px; background: var(--panel-solid); }
.library-count { color: var(--muted); font-size: 12px; white-space: nowrap; }
.library-panel { padding: 0; }
.library-table-wrap { width: 100%; overflow-x: auto; }
.library-table { margin-top: 0; min-width: 820px; }
.library-table th:first-child, .library-table td:first-child { padding-left: 21px; }
.library-table th:last-child, .library-table td:last-child { padding-right: 21px; text-align: right; }
.file-primary { display: grid; gap: 5px; min-width: 260px; }
.file-primary strong { max-width: 470px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-primary span { max-width: 470px; color: var(--muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.format-pill { display: inline-flex; padding: 5px 8px; border-radius: 8px; color: #d7f7ff; background: rgba(34,211,238,.09); border: 1px solid rgba(34,211,238,.18); font-size: 10px; font-weight: 850; }
.library-unpublished { color: #aeb8c8; font-size: 9px; font-weight: 850; letter-spacing: .05em; }
.btn-small { min-height: 35px; padding: 7px 11px; border-radius: 10px; font-size: 11px; }
.btn-ghost { color: #c5cfdd; background: transparent; border: 1px solid var(--line); }
.btn-ghost:hover { color: white; background: rgba(255,255,255,.065); }
.table-note { margin: 12px 20px 18px; color: var(--muted); font-size: 11px; }
.empty.compact { padding: 28px 18px; }
.job-list { display: grid; gap: 12px; margin-top: 18px; }
.job-row { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(180px, 360px) 48px; align-items: center; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.job-row > div:first-child { display: grid; gap: 4px; }
.job-row span { color: var(--muted); font-size: 11px; }
.job-progress { height: 7px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.09); }
.job-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }
.wide-drawer { width: min(760px, 100%); }
.agent-loading { min-height: 280px; display: grid; place-items: center; align-content: center; gap: 18px; color: var(--muted); }
.spinner { width: 42px; height: 42px; border-radius: 50%; border: 3px solid rgba(255,255,255,.12); border-top-color: var(--accent-2); animation: valy-spin .8s linear infinite; }
@keyframes valy-spin { to { transform: rotate(360deg); } }
.probe-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.probe-summary > div { min-height: 91px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.025); }
.probe-summary span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.probe-summary strong { display: block; font-size: 13px; line-height: 1.45; word-break: break-word; }
.probe-warnings { margin-bottom: 18px; padding: 13px 15px; border-radius: 14px; border: 1px solid rgba(255,185,74,.24); background: rgba(255,185,74,.07); }
.probe-warnings p { margin: 4px 0; color: #e7c48d; font-size: 12px; line-height: 1.5; }
.track-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 8px; }
.track-grid section { padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.025); }
.track-grid h3 { margin: 0 0 12px; font-size: 15px; }
.track-subhead { margin-top: 20px !important; }
.track-option { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.track-option:last-child { border-bottom: 0; }
.track-option input { margin-top: 4px; accent-color: var(--accent); }
.track-option span { display: grid; gap: 3px; }
.track-option strong { font-size: 12px; }
.track-option small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.track-option.static { padding-left: 2px; }
.publish-result { display: grid; gap: 5px; margin-top: 17px; padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(49,214,139,.2); background: rgba(49,214,139,.06); }
.publish-result strong { font-size: 12px; }
.publish-result span { color: var(--muted); font-size: 11px; }

@media (max-width: 1000px) {
  .agent-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .probe-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .agent-summary { grid-template-columns: 1fr; }
  .library-toolbar { grid-template-columns: 1fr; }
  .track-grid { grid-template-columns: 1fr; }
  .probe-summary { grid-template-columns: 1fr 1fr; }
  .job-row { grid-template-columns: 1fr; }
  .job-row b { justify-self: end; }
}
