/* First Cut Stitch UX v2 - targeted safe integration layer
   Scope: visual polish only. Keeps backend routes, CSRF names and HLS untouched.
   ──────────────────────────────────────────────────────────────────────────────
   TOKENS GLOBALES MIGRADOS A public/css/input.css.
   Este archivo conserva únicamente las clases de componentes legacy.
   No redefinir variables :root aquí.
   ────────────────────────────────────────────────────────────────────────────── */
/* :root tokens - migrados a input.css (Fase 6A)
:root,
:root[data-theme="dark"]{
  --fc-black:#050505;
  --fc-bg:#120504;
  --fc-bg-2:#210d0d;
  --fc-panel:#2a1412;
  --fc-panel-2:#371b18;
  --fc-line:rgba(255,218,213,.16);
  --fc-line-strong:rgba(255,218,213,.28);
  --fc-text:#fff7f6;
  --fc-text-strong:#fff7f6;
  --fc-heading:#fff7f6;
  --fc-muted:#e9bcb6;
  --fc-dim:rgba(255,218,213,.64);
  --fc-subtle:rgba(233,188,182,.58);
  --fc-label:#ffb4aa;
  --fc-placeholder:rgba(233,188,182,.48);
  --fc-card:rgba(32,14,12,.92);
  --fc-red:#e50914;
  --fc-red-2:#ff1e2d;
  --fc-yellow:#ffe16d;
  --fc-glass:rgba(32,14,12,.72);
  --fc-glass-strong:rgba(28,8,7,.94);
  --fc-shadow:0 28px 90px rgba(0,0,0,.45);
  --fc-radius-xs:10px;
  --fc-radius-sm:14px;
  --fc-radius-md:20px;
  --fc-radius-lg:28px;
  --fc-radius-xl:36px;
  --fc-radius-pill:999px;
}
:root[data-theme="light"]{
  --fc-black:#f7f2ec;
  --fc-bg:#f7f2ec;
  --fc-bg-2:#efe7dd;
  --fc-panel:#fffaf4;
  --fc-panel-2:#f1e7dd;
  --fc-line:rgba(31,21,20,.26);
  --fc-line-strong:rgba(31,21,20,.44);
  --fc-text:#1f1514;
  --fc-text-strong:#140b0a;
  --fc-heading:#140b0a;
  --fc-muted:#46302b;
  --fc-dim:rgba(70,48,43,.82);
  --fc-subtle:rgba(70,48,43,.68);
  --fc-label:#35231f;
  --fc-placeholder:rgba(70,48,43,.66);
  --fc-card:rgba(255,250,244,.96);
  --fc-red:#c61324;
  --fc-red-2:#e03545;
  --fc-yellow:#b8860b;
  --fc-glass:rgba(255,250,244,.78);
  --fc-glass-strong:rgba(255,250,244,.96);
  --fc-glass-soft:rgba(255,255,255,.78);
  --fc-shadow:0 28px 90px rgba(64,39,31,.14);
}
*/
html{background:var(--fc-black)}
body{background:var(--fc-body-bg)!important;color:var(--fc-text)}
a{text-underline-offset:4px}
main{min-width:0}.max-w-container-max{max-width:1440px}.px-margin-mobile{padding-left:clamp(20px,4vw,64px);padding-right:clamp(20px,4vw,64px)}
/* Global nav: Stitch-like but safe */
.glass-nav{background:var(--fc-glass-strong)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--fc-line)!important;min-height:64px}.glass-nav a{white-space:nowrap}.glass-nav .text-primary-container,.glass-nav .text-primary{color:var(--fc-red)!important}.glass-nav .bg-primary-container{background:var(--fc-red)!important;color:#fff!important}.glass-nav .border-primary{border-color:#ffd6d6!important}.glass-nav .hover\:text-primary:hover{color:var(--fc-red)!important}
/* Buttons and components */
.fc-primary-action,.fc-landing-btn-primary,.fc-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:46px;padding:.75rem 1.25rem;background:var(--fc-red)!important;border:1px solid var(--fc-red)!important;color:#fff!important;font-family:Inter,system-ui,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.14em;text-decoration:none!important;box-shadow:0 0 34px rgba(229,9,20,.28);cursor:pointer}.fc-primary-action:hover,.fc-landing-btn-primary:hover,.fc-btn-primary:hover{background:var(--fc-red-2)!important;transform:translateY(-1px)}.fc-ghost-action,.fc-landing-btn-ghost,.fc-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:46px;padding:.75rem 1.25rem;background:rgba(255,255,255,.02)!important;border:1px solid var(--fc-line-strong)!important;color:var(--fc-text)!important;font-family:Inter,system-ui,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.12em;text-decoration:none!important;cursor:pointer}.fc-ghost-action:hover,.fc-landing-btn-ghost:hover,.fc-btn-ghost:hover{border-color:var(--fc-red)!important;color:#fff!important;background:rgba(229,9,20,.08)!important}.fc-action-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.fc-chip,.fc-chip-hot,.fc-badge,.fc-mod-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:28px;padding:6px 10px;border:1px solid var(--fc-line-strong);color:var(--fc-text);background:rgba(255,255,255,.03);font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;line-height:1.1}.fc-chip-hot{background:var(--fc-red);border-color:var(--fc-red);color:#fff}.fc-kicker{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--fc-red);font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.22em}.fc-kicker:before{content:"";width:22px;height:2px;background:var(--fc-red);display:inline-block;flex-shrink:0}
/* LEGACY GLASS GROUP - expanded for safe migration. Do not change values in this phase. */
/* .fc-step-card - migrado a input.css (Fase 6B-step-stat) */
/* .fc-stat-card - migrado a input.css (Fase 6B-step-stat) */
.fc-quote-panel,
.fc-university-card,
.fc-info-tile,
/* .fc-users-admin-card, .fc-users-create-card, .fc-users-table-card
   - no usadas en users.ejs; la vista ya usa .fc-card / .fc-panel. Comentadas en Fase 6C-1. */
/* .fc-empty-state - migrado a input.css (Fase 6B-empty-state) */
/* .fc-step-card { padding: 24px; } - migrado a input.css (Fase 6B-step-stat) */
/* .fc-stat-card { padding: 22px; min-height: 96px; } - migrado a input.css (Fase 6B-step-stat) */
/* .fc-stat-card span { display: block; color: var(--fc-text); font-size: clamp(28px,3vw,44px); font-weight: 900; line-height: 1; } - migrado a input.css (Fase 6B-step-stat) */
/* .fc-stat-card p { margin-top: 8px; color: var(--fc-muted); font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; } - migrado a input.css (Fase 6B-step-stat) */
.fc-input,input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=date],select,textarea{background:rgba(8,3,3,.78)!important;border:1px solid var(--fc-line-strong)!important;color:var(--fc-text)!important;outline:none}.fc-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--fc-red)!important;box-shadow:0 0 0 3px rgba(229,9,20,.16)!important}.fc-label{display:block;margin-bottom:8px;color:var(--fc-muted);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
/* Home: no overlaps, no unsafe absolute dynamic text */
.fc-landing-hero{position:relative;min-height:min(760px,calc(100vh - 64px));display:flex;align-items:center;overflow:hidden;background:var(--fc-black);border-bottom:1px solid var(--fc-line)}.fc-landing-title span{color:var(--fc-red)}.fc-landing-rail a{white-space:nowrap;color:var(--fc-muted);font-size:11px;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:.24em}.fc-landing-value-card h2,.fc-landing-value-card strong,.fc-landing-value-card p{position:relative;z-index:1}.fc-landing-stats div{padding:42px 20px;text-align:center;background:#050505}.fc-landing-stats strong{display:block;color:var(--fc-red);font-family:Montserrat,system-ui,sans-serif;font-size:clamp(32px,5vw,68px);font-weight:900}.fc-landing-stats span{display:block;margin-top:10px;color:var(--fc-muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.2em}
/* Footer */
footer{background:var(--fc-glass-strong)!important;border-color:var(--fc-line)!important;color:var(--fc-text)!important}.fc-footer-grid{display:grid!important;grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(150px,1fr));gap:36px!important;align-items:start}.fc-footer-title{margin:0 0 16px;color:var(--fc-muted);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.fc-footer-links{display:flex!important;flex-direction:column!important;gap:10px!important}.fc-footer-links a{color:var(--fc-text)!important;text-decoration:none!important;font-size:14px;line-height:1.35}.fc-footer-links a:hover{color:var(--fc-red)!important}.fc-social-row{display:flex;gap:10px;margin-top:18px}.fc-social-row span{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--fc-line-strong);color:var(--fc-muted);font-size:11px}.fc-footer-cert{color:var(--fc-red);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
/* Work detail */
.fc-work-hero{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.95fr);gap:24px;align-items:stretch}.fc-work-player{position:relative;min-height:360px;background:#000;border:1px solid var(--fc-line);overflow:hidden;box-shadow:var(--fc-shadow)}.fc-work-player video,.fc-work-player .fc-hls-player{display:block;width:100%!important;height:100%!important;min-height:360px;object-fit:contain!important;background:#000}.fc-work-side{min-width:0;background:linear-gradient(145deg,rgba(55,27,24,.76),rgba(18,5,5,.92));border:1px solid var(--fc-line);padding:32px}.fc-work-side h1{font-size:clamp(36px,4.5vw,70px)!important;line-height:1!important;letter-spacing:-.045em!important;word-break:break-word}.fc-work-side p{overflow-wrap:anywhere}.fc-university-card{display:flex;gap:18px;align-items:center;padding:24px;color:inherit!important;overflow:hidden}.fc-credit-pill{display:grid;grid-template-columns:minmax(92px,.45fr) minmax(0,1fr);gap:14px;padding:14px 16px;border:1px solid var(--fc-line);background:rgba(255,255,255,.03)}.fc-credit-pill span{color:var(--fc-muted);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.fc-credit-pill strong{overflow-wrap:anywhere}.fc-info-tile{padding:18px}.fc-info-tile span{display:block;color:var(--fc-muted);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.fc-info-tile strong{display:block;margin-top:6px;color:var(--fc-text);font-size:18px;overflow-wrap:anywhere}.fc-spec-row{display:flex;align-items:center;gap:10px;color:var(--fc-muted)}
/* Sidebars and app shell */
.fc-app-shell{display:flex;min-height:calc(100vh - 64px);align-items:stretch}.fc-sidenav{width:268px!important;flex:0 0 268px!important;background:linear-gradient(180deg,#2b1210,#180706)!important;border-right:1px solid var(--fc-line)!important;display:flex;flex-direction:column;z-index:40}.fc-sidenav h1{color:var(--fc-red)!important}.fc-sidenav nav a{display:flex!important;align-items:center!important;gap:12px!important;min-height:44px!important;padding:10px 14px!important;border-radius:var(--fc-radius-md)!important;white-space:normal!important;line-height:1.2!important}.fc-sidenav nav a span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.fc-sidenav .bg-primary-container{background:var(--fc-red)!important;color:#fff!important}.fc-main{flex:1 1 auto;min-width:0;margin-left:0!important}.fc-table-row>div{min-width:0}.fc-table-row strong,.fc-table-row p{overflow:hidden;text-overflow:ellipsis}.fc-table-wrapper,.fc-users-table-wrap{overflow-x:auto}.fc-table{min-width:720px;width:100%}
/* University channel/dashboard */
.fc-university-hero,.fc-creator-hero{position:relative;min-height:260px;border:1px solid var(--fc-line);background:linear-gradient(135deg,#2b1210,#070303);overflow:hidden}.fc-university-cover,.fc-creator-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.4);opacity:.9}.fc-university-shade,.fc-creator-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.2))}.fc-university-content,.fc-creator-content{position:relative;z-index:1;min-height:260px;padding:32px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;min-width:0}.fc-university-content h1,.fc-creator-content h1{word-break:break-word;max-width:100%}
/* Admin moderation: clear grid, no overlaps */
.fc-mod-main{padding:40px clamp(20px,4vw,56px)!important;background:#070303;min-height:calc(100vh - 64px)}.fc-mod-video video,.fc-mod-video .fc-hls-player{width:100%!important;height:100%!important;object-fit:contain!important;background:#000!important}
/* Explore/cards */
.fc-featured-work,.fc-preview-card{border:1px solid var(--fc-line);background:linear-gradient(145deg,rgba(55,27,24,.74),rgba(7,3,3,.94));overflow:hidden;display:flex;flex-direction:column}.fc-featured-work>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;flex-shrink:0}.fc-featured-work>div{padding:24px 28px 28px}.fc-mini-specs{display:flex;gap:8px;flex-wrap:wrap;color:var(--fc-muted);font-size:12px}.fc-tag-cloud{display:flex;gap:8px;flex-wrap:wrap}.fc-mobile-filters{background:rgba(18,5,5,.96);border:1px solid var(--fc-line)}
/* responsive */
@media (min-width:768px){.fc-sidenav{position:sticky!important;top:64px!important;height:calc(100vh - 64px)!important;transform:none!important}.fc-main{margin-left:0!important}}@media (max-width:1100px){.fc-work-hero,.fc-mod-grid{grid-template-columns:1fr!important}.fc-work-side{padding:24px}.fc-footer-grid{grid-template-columns:1fr 1fr!important}.fc-university-content,.fc-creator-content{flex-direction:column;align-items:flex-start}}@media (max-width:767px){body{padding-bottom:62px}.fc-app-shell{display:block}.fc-sidenav{position:fixed!important;top:64px!important;left:0!important;height:calc(100vh - 64px)!important;transform:translateX(-100%);box-shadow:18px 0 60px rgba(0,0,0,.45)}.fc-sidenav.open{transform:translateX(0)!important}.fc-main{width:100%!important;margin-left:0!important;padding-left:20px!important;padding-right:20px!important}.fc-landing-value-grid,.fc-landing-stats,.fc-footer-grid{grid-template-columns:1fr!important}.fc-landing-actions,.fc-action-row{flex-direction:column;align-items:stretch}.fc-primary-action,.fc-ghost-action,.fc-landing-btn{width:100%}.fc-work-player,.fc-work-player video,.fc-work-player .fc-hls-player{min-height:220px}.fc-credit-pill{grid-template-columns:1fr}.fc-university-content,.fc-creator-content{padding:22px;min-height:240px}.fc-footer-grid{gap:28px!important}}

/* Home v3: closer to Stitch reference, scoped and safe. */
.fc-home3-container{width:min(100% - 40px,1320px);margin-inline:auto}.fc-home3-hero{position:relative;min-height:clamp(620px,92vh,900px);display:flex;align-items:center;overflow:hidden;background:#050505;border-bottom:1px solid var(--fc-line)}.fc-home3-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;filter:brightness(.58) saturate(.92);transform:scale(1.03)}.fc-home3-hero-beam{position:absolute;inset:-18% -20% 0 -20%;background:radial-gradient(circle at 58% 18%,rgba(229,9,20,.25),rgba(229,9,20,.05) 28%,transparent 58%);pointer-events:none}.fc-home3-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.52) 45%,rgba(0,0,0,.1)),linear-gradient(180deg,rgba(0,0,0,.1),#160706 96%)}.fc-home3-hero-inner{position:relative;z-index:1;padding-top:92px;padding-bottom:80px}.fc-home3-kicker{display:inline-flex;align-items:center;min-height:32px;padding:7px 13px;margin-bottom:34px;background:var(--fc-red);color:#fff;font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.fc-home3-title{max-width:760px;margin:0;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(48px,7vw,112px);line-height:.95;font-weight:900;letter-spacing:-.06em;text-transform:none;text-shadow:0 24px 70px rgba(0,0,0,.6)}.fc-home3-title span{display:inline-block;color:var(--fc-red);text-shadow:0 0 34px rgba(229,9,20,.38)}.fc-home3-lead{max-width:610px;margin:28px 0 0;color:var(--fc-muted);font-size:clamp(16px,1.4vw,21px);line-height:1.55}.fc-home3-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.fc-home3-actions-center{justify-content:center}.fc-home3-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:1px solid var(--fc-line-strong);font-weight:900;font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none!important;transition:transform .18s ease,background .18s ease,border-color .18s ease}.fc-home3-btn:hover{transform:translateY(-1px)}.fc-home3-btn-primary{background:var(--fc-red);border-color:var(--fc-red);color:#fff!important;box-shadow:0 0 34px rgba(229,9,20,.32)}.fc-home3-btn-ghost{background:rgba(255,255,255,.02);color:#fff7f6!important}.fc-home3-btn-ghost:hover{border-color:var(--fc-red);background:rgba(229,9,20,.08)}
.fc-home3-rail{border-top:1px solid var(--fc-line);border-bottom:1px solid var(--fc-line);background:#050505}.fc-home3-rail-inner{display:flex;justify-content:space-between;gap:18px;overflow-x:auto;padding:18px 0}.fc-home3-rail a{flex:0 0 auto;color:var(--fc-muted);font-size:10px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;text-decoration:none}.fc-home3-rail a:hover{color:var(--fc-red)}
.fc-home3-roles{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-top:84px;padding-bottom:84px}.fc-home3-role{position:relative;overflow:hidden;border:1px solid var(--fc-line);background:#2e1714;min-height:360px}.fc-home3-role-large{grid-column:span 8}.fc-home3-role-side{grid-column:span 4}.fc-home3-role-wide{grid-column:span 12;min-height:280px;background:linear-gradient(135deg,rgba(70,47,44,.92),rgba(46,20,18,.96))}.fc-home3-role img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;filter:grayscale(.8) brightness(.72);transition:transform .7s ease,filter .7s ease,opacity .7s ease}.fc-home3-role:hover img{transform:scale(1.06);filter:grayscale(.15) brightness(.82);opacity:.66}.fc-home3-role-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,6,5,.92),rgba(20,6,5,.08) 62%)}.fc-home3-role-copy{position:absolute;left:clamp(24px,3.3vw,48px);right:clamp(24px,3.3vw,48px);bottom:clamp(24px,3.3vw,48px);z-index:2;max-width:620px}.fc-home3-role-copy-static{position:relative;left:auto;right:auto;bottom:auto;padding:48px;max-width:820px}.fc-home3-role h2{margin:16px 0 12px;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(28px,3.1vw,46px);line-height:1.08;font-weight:900;letter-spacing:-.035em}.fc-home3-role p{margin:0 0 24px;max-width:560px;color:var(--fc-muted);font-size:16px;line-height:1.55}.fc-home3-role a{color:#fff7f6;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.16em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.fc-home3-pill{display:inline-flex;align-items:center;min-height:25px;width:max-content;max-width:100%;padding:5px 10px;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;line-height:1;color:#fff;border:1px solid transparent}.fc-home3-pill-red{background:var(--fc-red);border-color:var(--fc-red)}.fc-home3-pill-yellow{background:var(--fc-yellow);border-color:var(--fc-yellow);color:#26110d}.fc-home3-pill-blue{background:rgba(167,200,255,.16);border-color:rgba(167,200,255,.34);color:#d5e3ff}.fc-home3-role-icon{position:absolute;right:56px;top:50%;transform:translateY(-50%);opacity:.18}.fc-home3-role-icon span{font-size:180px;color:var(--fc-text)}
.fc-home3-premieres{padding:84px 0 96px;background:#160706;border-top:1px solid var(--fc-line);border-bottom:1px solid var(--fc-line)}.fc-home3-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:42px}.fc-home3-section-head h2{margin:0;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(30px,3.2vw,48px);line-height:1.1;font-weight:900;letter-spacing:-.04em}.fc-home3-section-head span{display:block;width:92px;height:3px;margin-top:16px;background:var(--fc-red)}.fc-home3-link{color:var(--fc-text);text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:12px;text-decoration:none}.fc-home3-premiere-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.fc-home3-premiere-card{display:block;color:inherit;text-decoration:none!important;min-width:0}.fc-home3-premiere-poster{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--fc-line);background:#050505}.fc-home3-premiere-poster img:not(.fc-award-seal-img){width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .55s ease;filter:saturate(.95) contrast(1.04)}.fc-home3-premiere-card:hover img:not(.fc-award-seal-img){transform:scale(1.045)}.fc-home3-premiere-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.42))}.fc-home3-premiere-badges{position:absolute;left:14px;top:14px;z-index:2;display:flex;gap:8px;flex-wrap:wrap}.fc-home3-premiere-card h3{margin:20px 0 6px;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(21px,2vw,30px);line-height:1.08;font-weight:900;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-home3-premiere-card p{margin:0;color:var(--fc-muted);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-home3-premiere-card:only-child{grid-column:1/-1}.fc-home3-premiere-card:only-child .fc-home3-premiere-poster{aspect-ratio:21/9}
.fc-home3-final{padding:112px 0 116px;background:radial-gradient(circle at 50% 0,rgba(229,9,20,.12),transparent 45%),var(--fc-surface);border-bottom:1px solid var(--fc-line)}.fc-home3-final-inner{text-align:center}.fc-home3-final h2{max-width:820px;margin:0 auto;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(36px,5vw,70px);line-height:1.05;font-weight:900;letter-spacing:-.045em}.fc-home3-final p{max-width:760px;margin:28px auto 0;color:var(--fc-muted);font-size:18px;line-height:1.55}.fc-home3-final-stats{display:flex;justify-content:center;gap:48px;margin:56px auto 36px;flex-wrap:wrap}.fc-home3-final-stats div{min-width:160px;padding:0 28px}.fc-home3-final-stats div+div{border-left:1px solid var(--fc-line-strong)}.fc-home3-final-stats strong{display:block;color:var(--fc-red);font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(42px,5vw,76px);font-weight:900;line-height:1}.fc-home3-final-stats span{display:block;margin-top:9px;color:var(--fc-muted);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
@media(max-width:1100px){.fc-home3-role-large,.fc-home3-role-side,.fc-home3-role-wide{grid-column:span 12}.fc-home3-premiere-grid{grid-template-columns:1fr 1fr}.fc-home3-section-head{align-items:flex-start;flex-direction:column}.fc-home3-role-icon{display:none}}@media(max-width:760px){.fc-home3-container{width:min(100% - 32px,1320px)}.fc-home3-hero{min-height:720px}.fc-home3-hero-inner{padding-top:112px}.fc-home3-title{font-size:clamp(40px,12vw,64px)}.fc-home3-actions{flex-direction:column;align-items:stretch}.fc-home3-btn{width:100%}.fc-home3-roles{padding-top:56px;padding-bottom:56px}.fc-home3-role{min-height:360px}.fc-home3-role-wide{min-height:auto}.fc-home3-role-copy-static{padding:32px 24px}.fc-home3-premiere-grid{grid-template-columns:1fr}.fc-home3-final-stats{gap:22px}.fc-home3-final-stats div{border-left:0!important}.fc-home3-rail-inner{padding:15px 0}}

/* Upload work wizard v1 - scoped to /subir-obra only, no global form overrides. */
.fc-upload-wizard-shell .fc-main{background:radial-gradient(circle at 74% 0,rgba(229,9,20,.13),transparent 36%),linear-gradient(180deg,#160605 0,#050505 58%,#0f0404 100%)}
.fc-upload-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 0 28px;padding:22px 0 8px}.fc-upload-hero h1{margin:0;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(38px,5.5vw,68px);line-height:.96;font-weight:800;letter-spacing:-.05em;text-transform:uppercase}.fc-upload-hero p:not(.fc-kicker){max-width:800px;margin:14px 0 0;color:var(--fc-muted);font-size:clamp(15px,1.25vw,19px);line-height:1.55}.fc-upload-hero-mark{color:var(--fc-muted);font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(78px,10vw,150px);font-weight:900;line-height:.8;letter-spacing:-.08em}.fc-work-wizard{display:block}.fc-work-stepper{position:sticky;top:64px;z-index:10;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0 0 30px;background:rgba(8,3,3,.86);backdrop-filter:blur(18px);border:1px solid var(--fc-line);box-shadow:0 18px 60px rgba(0,0,0,.25);overflow:hidden}.fc-work-stepper-item{position:relative;display:flex;align-items:center;gap:12px;min-height:72px;padding:16px 18px;background:transparent;border:0;border-right:1px solid var(--fc-line);color:var(--fc-muted);text-align:left;cursor:pointer}.fc-work-stepper-item:last-child{border-right:0}.fc-work-stepper-item:before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent}.fc-work-stepper-item span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1px solid var(--fc-line-strong);color:var(--fc-muted);font-size:10px;font-weight:900;letter-spacing:.12em}.fc-work-stepper-item strong{display:block;font-size:11px;font-weight:900;line-height:1.15;letter-spacing:.16em;text-transform:uppercase}.fc-work-stepper-item.is-active{background:linear-gradient(180deg,rgba(229,9,20,.14),rgba(255,255,255,.015));color:#fff7f6}.fc-work-stepper-item.is-active:before{background:var(--fc-red)}.fc-work-stepper-item.is-active span{background:var(--fc-red);border-color:var(--fc-red);color:#fff}.fc-work-stepper-item.is-complete span{border-color:rgba(229,9,20,.7);color:#fff7f6;background:rgba(229,9,20,.22)}.fc-work-wizard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr);gap:34px;align-items:start}.fc-work-wizard-panels{min-width:0}.fc-work-step-panel{min-height:620px;padding:clamp(26px,3.2vw,46px);border:1px solid var(--fc-line);background:linear-gradient(145deg,rgba(48,20,17,.94),rgba(10,4,4,.96));box-shadow:0 26px 90px rgba(0,0,0,.34);overflow:hidden}.fc-work-step-panel[hidden]{display:none!important}.fc-work-panel-head{display:flex;gap:20px;align-items:flex-start;margin-bottom:34px}.fc-work-panel-head>span{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;background:var(--fc-red);color:#fff;font-size:12px;font-weight:900;letter-spacing:.16em}.fc-work-panel-head p{margin:0 0 9px;color:var(--fc-red);font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.fc-work-panel-head h2{margin:0;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(34px,3.8vw,58px);line-height:1;font-weight:900;letter-spacing:-.045em;text-transform:uppercase}.fc-work-panel-head small{display:block;margin-top:12px;max-width:720px;color:var(--fc-muted);font-size:15px;line-height:1.5}.fc-work-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.fc-work-field-grid.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.fc-field-wide{grid-column:1/-1}.fc-upload-wizard-shell .fc-input{width:100%;min-height:48px;padding:13px 14px;background:rgba(5,2,2,.72)!important;border:1px solid var(--fc-line)!important;color:#fff7f6!important;font-size:15px;line-height:1.25}.fc-upload-wizard-shell textarea.fc-input{min-height:136px}.fc-upload-wizard-shell .fc-input::placeholder{color:var(--fc-muted)}.fc-upload-wizard-shell .fc-input:focus{border-color:var(--fc-red)!important;box-shadow:0 0 0 4px rgba(229,9,20,.16)!important}.fc-field-error{animation:fcWiggle .25s ease 0s 2;border-color:var(--fc-red)!important}@keyframes fcWiggle{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}.fc-locked-input{display:flex;align-items:center;gap:10px;opacity:.8}.fc-locked-input .material-symbols-outlined{font-size:17px;color:var(--fc-red)}.fc-upload-media-drop{display:flex;gap:20px;align-items:center;margin-bottom:26px;padding:30px;border:1px dashed var(--fc-muted-2);background:linear-gradient(135deg,rgba(229,9,20,.11),rgba(255,255,255,.025))}.fc-upload-media-drop .material-symbols-outlined{font-size:44px;color:var(--fc-red)}.fc-upload-media-drop h3{margin:0;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:28px;line-height:1.05;font-weight:900;letter-spacing:-.03em}.fc-upload-media-drop p{margin:8px 0 0;color:var(--fc-muted);line-height:1.55}.fc-team-editor-card{padding:24px;border:1px solid var(--fc-line);background:rgba(255,255,255,.025)}.fc-wizard-soft-button{display:inline-flex;align-items:center;gap:10px;margin-top:22px;min-height:46px;padding:0 18px;background:rgba(255,255,255,.03);border:1px solid var(--fc-line-strong);color:#fff7f6;font-weight:900;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.fc-wizard-soft-button:hover{border-color:var(--fc-red);background:rgba(229,9,20,.08)}.fc-wizard-note{margin:14px 0 0;color:var(--fc-muted);font-size:13px;line-height:1.45}.fc-review-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.fc-review-summary-grid article{min-height:132px;padding:20px;border:1px solid var(--fc-line);background:rgba(255,255,255,.025)}.fc-review-summary-grid span{display:block;color:var(--fc-red);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.fc-review-summary-grid strong{display:block;margin-top:10px;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:20px;line-height:1.1;font-weight:900;overflow-wrap:anywhere}.fc-review-summary-grid p{margin:10px 0 0;color:var(--fc-muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fc-rights-review-block{padding:24px;border:1px solid var(--fc-line);background:linear-gradient(135deg,rgba(55,27,24,.84),rgba(18,5,5,.9))}.fc-rights-review-block h3{margin:0;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:28px;font-weight:900;letter-spacing:-.03em}.fc-rights-review-block p{margin:8px 0 0;color:var(--fc-muted);line-height:1.45}.fc-rights-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.fc-rights-check-grid .wide{grid-column:1/-1}.fc-upload-wizard-shell .fc-check{display:flex;align-items:flex-start;gap:10px;min-height:48px;padding:14px;background:rgba(255,255,255,.025);border:1px solid var(--fc-line);color:rgba(255,247,246,.9);line-height:1.3}.fc-work-wizard-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:34px}.fc-work-wizard-actions.split{justify-content:space-between}.fc-work-wizard-actions.final{align-items:center}.fc-wizard-next,.fc-wizard-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;background:var(--fc-red);border:1px solid var(--fc-red);color:#fff;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 0 34px rgba(229,9,20,.3);cursor:pointer}.fc-wizard-prev{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 22px;background:rgba(255,255,255,.02);border:1px solid var(--fc-line-strong);color:#fff7f6;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.fc-wizard-next:hover,.fc-wizard-submit:hover,.fc-wizard-prev:hover{transform:translateY(-1px)}.fc-wizard-submit-note{margin:14px 0 0;color:var(--fc-muted);font-size:13px;text-align:right}.fc-work-preview-rail{position:sticky;top:166px;display:flex;flex-direction:column;gap:20px;min-width:0}.fc-work-preview-card{padding:24px;border:1px solid var(--fc-line);background:linear-gradient(145deg,rgba(55,27,24,.88),rgba(12,4,4,.96));box-shadow:0 22px 70px rgba(0,0,0,.24);overflow:hidden}.fc-work-preview-card.compact{padding:22px}.fc-work-preview-poster{display:grid;place-items:center;aspect-ratio:16/10;width:100%;border:1px solid var(--fc-line);background-color:#050505;background-size:cover;background-position:center;overflow:hidden}.fc-work-preview-poster.has-image span{display:none}.fc-work-preview-poster span{font-size:46px;color:var(--fc-muted)}.fc-work-preview-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.fc-work-preview-meta span{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border:1px solid var(--fc-line-strong);color:var(--fc-muted);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.fc-work-preview-card h3{margin:18px 0 0;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(26px,2.8vw,42px);line-height:1.02;font-weight:900;letter-spacing:-.045em;text-transform:uppercase;overflow-wrap:anywhere}.fc-work-preview-card p{margin:14px 0 0;color:var(--fc-muted);font-size:14px;line-height:1.48;overflow-wrap:anywhere}.fc-work-preview-card .fc-mini-specs{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.fc-quality-list{display:grid;gap:12px;margin:16px 0 0;padding:0;list-style:none}.fc-quality-list li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,247,246,.86);font-size:14px;line-height:1.35}.fc-quality-list .material-symbols-outlined{font-size:18px;color:var(--fc-red);flex:0 0 auto}@media(max-width:1200px){.fc-work-wizard-grid{grid-template-columns:1fr}.fc-work-preview-rail{position:relative;top:auto;display:grid;grid-template-columns:1fr 1fr}.fc-work-stepper{top:0}}@media(max-width:860px){.fc-upload-hero{align-items:flex-start;flex-direction:column}.fc-upload-hero-mark{display:none}.fc-work-stepper{display:flex;overflow-x:auto;scrollbar-width:none}.fc-work-stepper::-webkit-scrollbar{display:none}.fc-work-stepper-item{min-width:172px}.fc-work-field-grid,.fc-work-field-grid.three-cols,.fc-review-summary-grid,.fc-rights-check-grid,.fc-work-preview-rail{grid-template-columns:1fr}.fc-work-step-panel{min-height:auto;padding:24px}.fc-work-panel-head{gap:14px}.fc-work-panel-head h2{font-size:34px}.fc-work-wizard-actions,.fc-work-wizard-actions.split,.fc-work-wizard-actions.final{flex-direction:column;align-items:stretch}.fc-wizard-next,.fc-wizard-prev,.fc-wizard-submit{width:100%}.fc-wizard-submit-note{text-align:left}.fc-upload-media-drop{align-items:flex-start;flex-direction:column}.fc-rights-check-grid .wide{grid-column:auto}}

/* --------------------------------------------------------------------------
   Work editor cinematic detail repair
   Scope: /obra-editor/:id only via .fc-work-editor-screen.
   Fixes previous broken form markup and applies the ficha Stitch language
   without touching routes, CSRF, HLS, permissions or state transitions.
---------------------------------------------------------------------------- */
.fc-work-editor-screen{
  --fc-editor-max:1280px;
  background:radial-gradient(circle at 74% 0%,rgba(229,9,20,.16),transparent 32%),linear-gradient(180deg,#150504 0%,#050505 45%,#120504 100%);
  min-height:100vh;
}.fc-editor-hero h1{max-width:820px;margin:0;color:var(--fc-text);font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(46px,6vw,86px);line-height:1.02;font-weight:900;letter-spacing:-.055em;text-transform:none;text-wrap:balance}.fc-editor-hero p{max-width:760px;margin:18px 0 0;color:var(--fc-muted);font-size:18px;line-height:1.6}.fc-editor-warning strong{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.18em}.fc-editor-warning p{margin:6px 0 0;color:var(--fc-muted);line-height:1.5}.fc-editor-aside{position:sticky;top:92px;display:grid;gap:24px;min-width:0}.fc-editor-section,.fc-editor-creator-card{background:linear-gradient(145deg,rgba(55,27,24,.9),rgba(9,4,4,.96));border:1px solid var(--fc-line);box-shadow:0 22px 70px rgba(0,0,0,.22);padding:clamp(24px,3vw,38px);overflow:hidden}.fc-editor-intro-section h2,.fc-editor-section h2,.fc-editor-rights h2,.fc-editor-submit-card h2{margin:0;color:var(--fc-text);font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(28px,3.4vw,44px);line-height:1.08;font-weight:900;letter-spacing:-.04em}.fc-editor-credit-strip div{padding:22px 18px 20px 0;min-width:0}.fc-editor-credit-strip span,.fc-editor-credit-list span{display:block;color:var(--fc-muted);font-size:12px;line-height:1.2}.fc-editor-credit-strip strong,.fc-editor-credit-list strong{display:block;margin-top:8px;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:21px;line-height:1.15;font-weight:800;overflow-wrap:anywhere}.fc-editor-section-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:28px}.fc-editor-section-head.compact{margin-top:34px;padding-top:30px;border-top:1px solid var(--fc-line)}.fc-editor-section-head>span{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;background:var(--fc-red);color:#fff;font-size:12px;font-weight:900;letter-spacing:.16em}.fc-editor-section-head small{display:block;margin-top:8px;color:var(--fc-muted);line-height:1.5}.fc-editor-grid{display:grid;gap:20px}.fc-editor-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-editor-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.fc-editor-grid .wide{grid-column:1/-1}.fc-work-editor-screen .fc-input{width:100%;min-height:46px;padding:12px 13px;background:rgba(5,2,2,.72)!important;border:1px solid var(--fc-line)!important;color:#fff7f6!important}.fc-work-editor-screen textarea.fc-input{min-height:130px}.fc-work-editor-screen .fc-input:focus{border-color:var(--fc-red)!important;box-shadow:0 0 0 4px rgba(229,9,20,.16)!important}.fc-editor-actions{display:flex;justify-content:flex-end;margin-top:30px}.fc-editor-credit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.fc-editor-credit-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--fc-line);background:rgba(255,255,255,.025);min-width:0}.fc-editor-credit-list a{display:inline-flex;margin-top:8px;color:var(--fc-red);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;text-decoration:none}.fc-editor-credit-list button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--fc-line-strong);background:rgba(255,255,255,.02);color:var(--fc-muted);cursor:pointer}.fc-editor-credit-list button:hover{border-color:var(--fc-red);color:#fff;background:rgba(229,9,20,.12)}.fc-editor-creator-card h3{margin:0;color:#fff7f6;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:24px;font-weight:900;line-height:1.1}.fc-editor-creator-card p{margin:6px 0 0;color:var(--fc-text)}.fc-editor-creator-card small{display:block;margin-top:22px;color:var(--fc-muted);line-height:1.5}.fc-editor-progress{height:4px;margin-top:24px;background:rgba(255,255,255,.08);overflow:hidden}.fc-editor-progress span{display:block;height:100%;background:var(--fc-red)}.fc-editor-rights>p:not(.fc-kicker),.fc-editor-submit-card>p:not(.fc-kicker){color:var(--fc-muted);line-height:1.5}.fc-editor-checks{display:grid;gap:12px;margin:22px 0}.fc-editor-checks label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--fc-line);background:rgba(255,255,255,.025);color:rgba(255,247,246,.92);line-height:1.35}.fc-editor-checks input{margin-top:2px;flex:0 0 auto}.fc-editor-rights .fc-label{margin-top:10px}@media(max-width:1180px){.fc-editor-aside{position:relative;top:auto;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.fc-editor-hero{min-height:520px}.fc-editor-hero h1{font-size:44px}.fc-editor-grid.two,.fc-editor-grid.three,.fc-editor-credit-strip,.fc-editor-credit-list,.fc-editor-aside{grid-template-columns:1fr}.fc-editor-section,.fc-editor-creator-card{padding:22px}.fc-editor-section-head{gap:14px}.fc-editor-section-head>span{width:38px;height:38px;flex-basis:38px}.fc-editor-actions{justify-content:stretch}.fc-editor-credit-strip div{padding-right:0}}

/* --------------------------------------------------------------------------
   First Cut player responsive controls - hotfix 2026-06-10
   Objetivo: que audio, subtítulos y pantalla completa sean siempre visibles,
   sin alterar HLS, sesiones, permisos ni lógica de negocio.
   -------------------------------------------------------------------------- */
.fc-cinema-player,
.fc-cinema-player * { box-sizing: border-box; }

.fc-cinema-player { overflow: hidden; }
.fc-cinema-player:fullscreen { overflow: hidden; }

.fc-cinema-controls {
  transition:opacity .32s ease!important;
}
.fc-cinema-player--idle .fc-cinema-controls,
.fc-cinema-player--idle .fc-cinema-topbar{
  opacity:0!important;
  pointer-events:none!important;
}

.fc-cinema-controls {
  left: clamp(10px, 4vw, 56px) !important;
  right: clamp(10px, 4vw, 56px) !important;
  bottom: clamp(10px, 3vw, 34px) !important;
  width: auto !important;
  max-width: min(1180px, calc(100% - 20px)) !important;
  margin-inline: auto !important;
  padding: clamp(10px, 1.45vw, 16px) !important;
  overflow: visible !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background:
    radial-gradient(circle at 24% 50%, rgba(229,9,20,.14), transparent 34%),
    linear-gradient(135deg, rgba(16,8,13,.72), rgba(8,6,8,.78)) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
}

.fc-cinema-progress-wrap {
  width: 100% !important;
  padding: 6px 6px 14px !important;
}

.fc-cinema-control-row {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 40px 40px 40px 40px max-content minmax(16px, 1fr) minmax(150px, 230px) minmax(128px, 180px) 40px !important;
  grid-template-areas: "play back fwd volume time spacer audio subs full" !important;
  align-items: center !important;
  gap: clamp(7px, 1vw, 14px) !important;
  overflow: visible !important;
}

.fc-cinema-play-toggle { grid-area: play !important; }
.fc-cinema-skip-btn:first-of-type { grid-area: back !important; }
.fc-cinema-skip-btn:last-of-type { grid-area: fwd !important; }
.fc-cinema-volume { grid-area: volume !important; }
.fc-cinema-time { grid-area: time !important; }
.fc-cinema-spacer { grid-area: spacer !important; }
.fc-cinema-audio-select { grid-area: audio !important; }
.fc-cinema-subtitle-select { grid-area: subs !important; }
.fc-cinema-full-btn { grid-area: full !important; }

.fc-cinema-control-btn,
.fc-cinema-icon-btn {
  flex: 0 0 auto !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,.78) !important;
  border-radius: 999px !important;
}

.fc-cinema-control-btn:hover,
.fc-cinema-control-btn:focus-visible,
.fc-cinema-icon-btn:hover,
.fc-cinema-icon-btn:focus-visible {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  outline: none !important;
}

.fc-cinema-full-btn {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  justify-self: end !important;
}

.fc-cinema-volume {
  position: relative !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.fc-cinema-volume-range {
  position: absolute !important;
  left: 50% !important;
  bottom: calc(100% + 14px) !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  transform: translateX(-50%) rotate(-90deg) !important;
  transform-origin: center !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 45 !important;
}

.fc-cinema-volume:hover .fc-cinema-volume-range,
.fc-cinema-volume:focus-within .fc-cinema-volume-range {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.fc-cinema-time {
  min-width: 126px !important;
  width: auto !important;
  justify-self: start !important;
  text-align: left !important;
  white-space: nowrap !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
}

.fc-cinema-spacer {
  min-width: 0 !important;
  display: block !important;
}

.fc-cinema-select {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  display: block !important;
  visibility: visible !important;
}

.fc-cinema-select.is-disabled {
  opacity: .58 !important;
  pointer-events: none !important;
}

.fc-cinema-select-btn {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  padding: 0 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.055) !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
}

.fc-cinema-select-btn:hover,
.fc-cinema-select-btn:focus-visible,
.fc-cinema-select.is-open .fc-cinema-select-btn {
  color: #fff !important;
  border-color: rgba(229,9,20,.72) !important;
  background: rgba(229,9,20,.13) !important;
  outline: none !important;
}

.fc-cinema-select-btn .material-symbols-outlined {
  flex: 0 0 auto !important;
  font-size: 21px !important;
}

.fc-cinema-select-btn span:not(.material-symbols-outlined) {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.fc-cinema-select-menu {
  z-index: 80 !important;
  right: 0 !important;
  left: auto !important;
  bottom: calc(100% + 10px) !important;
  min-width: min(320px, 86vw) !important;
  max-width: min(420px, 90vw) !important;
  max-height: min(320px, 52vh) !important;
  overflow: auto !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(11,7,8,.94) !important;
  box-shadow: 0 20px 58px rgba(0,0,0,.58) !important;
}

.fc-cinema-select-item {
  border-radius: 12px !important;
  white-space: normal !important;
  line-height: 1.25 !important;
}

.fc-cinema-subtitles {
  bottom: clamp(124px, 18vw, 178px) !important;
}

@media (max-width: 1180px) {
  .fc-cinema-control-row {
    grid-template-columns: 38px 38px 38px 38px max-content minmax(8px, 1fr) minmax(132px, 188px) minmax(108px, 148px) 38px !important;
    gap: 8px !important;
  }
  .fc-cinema-control-btn,
  .fc-cinema-icon-btn,
  .fc-cinema-volume {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }
  .fc-cinema-time { min-width: 108px !important; font-size: 11px !important; }
}

@media (max-width: 920px) {
  .fc-cinema-controls {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    max-width: calc(100% - 20px) !important;
  }
  .fc-cinema-control-row {
    grid-template-columns: 40px 40px 40px 40px minmax(92px, 1fr) 40px !important;
    grid-template-areas:
      "play back fwd volume time full"
      "audio audio audio subs subs subs" !important;
    gap: 8px 10px !important;
  }
  .fc-cinema-spacer { display: none !important; }
  .fc-cinema-time {
    min-width: 0 !important;
    justify-self: stretch !important;
    text-align: center !important;
  }
  .fc-cinema-audio-select,
  .fc-cinema-subtitle-select {
    width: 100% !important;
    max-width: none !important;
  }
  .fc-cinema-volume-range { display: none !important; }
  .fc-cinema-select-menu {
    left: 0 !important;
    right: auto !important;
  }
  .fc-cinema-subtitle-select .fc-cinema-select-menu {
    left: auto !important;
    right: 0 !important;
  }
}

@media (max-width: 560px) {
  .fc-cinema-player { min-height: 72vh !important; }
  .fc-cinema-controls {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    max-width: calc(100% - 16px) !important;
    padding: 9px !important;
  }
  .fc-cinema-progress-wrap { padding: 5px 4px 10px !important; }
  .fc-cinema-control-row {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-template-areas:
      "play back fwd volume full"
      "time time time time time"
      "audio audio audio subs subs" !important;
    justify-content: stretch !important;
    gap: 7px !important;
  }
  .fc-cinema-control-btn,
  .fc-cinema-icon-btn,
  .fc-cinema-volume {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    justify-self: center !important;
  }
  .fc-cinema-time {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 11px !important;
    text-align: center !important;
  }
  .fc-cinema-select-btn {
    height: 36px !important;
    justify-content: center !important;
    padding: 0 7px !important;
    font-size: 0 !important;
  }
  .fc-cinema-select-btn span:not(.material-symbols-outlined) {
    display: none !important;
  }
  .fc-cinema-select-btn .material-symbols-outlined:last-child {
    display: none !important;
  }
  .fc-cinema-select-menu {
    min-width: min(260px, 88vw) !important;
  }
  .fc-cinema-subtitles {
    bottom: 142px !important;
    left: 5% !important;
    right: 5% !important;
    font-size: 18px !important;
  }
}

@media (max-width: 420px) {
  .fc-cinema-control-row {
    grid-template-areas:
      "play back fwd volume full"
      "time time time time time"
      "audio audio subs subs subs" !important;
  }
  .fc-cinema-skip-btn {
    display: inline-flex !important;
  }
}

/* --------------------------------------------------------------------------
   First Cut text system normalization - admin users + compact private nav
   Safe visual layer only: typography, color, spacing and nav criteria.
   Tokens migrados a input.css (Fase 6A).
   -------------------------------------------------------------------------- */
/* :root type-system aliases - migrados a input.css
:root {
  --fc-font-ui: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fc-font-display: Montserrat, Inter, system-ui, sans-serif;
  --fc-text-main: var(--fc-text-strong);
  --fc-text-soft: var(--fc-text);
  --fc-text-muted: var(--fc-muted);
  --fc-text-faint: var(--fc-subtle);
  --fc-accent-red: #f20716;
  --fc-accent-yellow: #ffe16d;
  --fc-line-soft: var(--fc-line);
  --fc-line-strong: var(--fc-border-strong, var(--fc-line));
}
*/

/* .fc-page-title / .fc-section-title / .fc-card-title - migrados a input.css (Fase 6B)
.fc-page-title {
  font-family: var(--fc-font-display) !important;
  font-size: clamp(32px, 4.2vw, 56px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  font-weight: 850 !important;
  color: var(--fc-text-main) !important;
}
.fc-section-title {
  font-family: var(--fc-font-display) !important;
  font-size: clamp(24px, 2.8vw, 36px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  font-weight: 800 !important;
  color: var(--fc-text-main) !important;
}
.fc-card-title {
  font-family: var(--fc-font-display) !important;
  font-size: clamp(18px, 1.8vw, 23px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.015em !important;
  font-weight: 750 !important;
  color: var(--fc-text-main) !important;
}
*/
/* .fc-body - migrado a input.css (Fase 6B). .fc-body p PENDIENTE: regla descendente de stitch-v2 */
.fc-body p {
  font-family: var(--fc-font-ui) !important;
  font-size: 15.5px !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;
  color: var(--fc-text-muted) !important;
}
/* .fc-caption - migrado a input.css (Fase 6B) */
.fc-muted {
  font-family: var(--fc-font-ui) !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
  color: var(--fc-text-muted) !important;
}
/* .fc-eyebrow - migrado a input.css (Fase 6B) */
.fc-label {
  font-family: var(--fc-font-ui) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--fc-text-muted) !important;
}
/* .fc-menu-link / .fc-menu-link-active tipografía - migrado a input.css (Fase 6B)
.fc-menu-link,
.fc-menu-link-active {
  font-family: var(--fc-font-ui) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}
*/

.fc-global-nav-compact .fc-public-nav-links { display: none !important; }
.fc-nav-icon-link,
.fc-nav-icon-link-mobile {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--fc-line);
  border-radius: 999px;
  color: var(--fc-muted);
  text-decoration: none;
  background: var(--fc-glass-soft);
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}
.fc-nav-icon-link:hover,
.fc-nav-icon-link-mobile:hover {
  color: var(--fc-red);
  border-color: var(--fc-line-strong);
  background: var(--fc-glass);
}
.fc-nav-icon-link .material-symbols-outlined { font-size: 21px; }
.fc-global-nav-compact .fc-brand-link {
  letter-spacing: -.055em !important;
}

/* Gestión de usuarios: forzar la misma gramática textual que el resto del producto. */
.fc-admin-users-page {
  color: var(--fc-text-soft) !important;
  font-family: var(--fc-font-ui) !important;
}
.fc-admin-users-page h1,
.fc-admin-users-page h2,
.fc-admin-users-page h3,
.fc-admin-users-page strong {
  text-transform: none !important;
}
.fc-admin-users-hero p strong {
  color: var(--fc-accent-red) !important;
  font-weight: 750 !important;
}
.fc-admin-users-topbar {
  border-bottom-color: var(--fc-line-soft) !important;
}
.fc-admin-users-search {
  height: 48px !important;
  border-color: var(--fc-line-strong) !important;
  background: rgba(255,255,255,.035) !important;
  border-radius: 16px !important;
}
.fc-admin-users-search input {
  font-family: var(--fc-font-ui) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  color: var(--fc-text-main) !important;
}
.fc-admin-users-search input::placeholder {
  color: var(--fc-text-faint) !important;
  font-weight: 400 !important;
}
.fc-admin-users-admin-card strong {
  font-family: var(--fc-font-ui) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
  font-weight: 700 !important;
  color: var(--fc-text-main) !important;
}
.fc-admin-users-admin-card small {
  font-family: var(--fc-font-ui) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: var(--fc-text-muted) !important;
}
.fc-admin-users-avatar-small,
.fc-admin-user-avatar {
  border-radius: 999px !important;
  font-family: var(--fc-font-ui) !important;
  letter-spacing: .02em !important;
}
.fc-admin-users-invite {
  min-width: 0 !important;
  height: 48px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  font-family: var(--fc-font-ui) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  font-weight: 750 !important;
  text-transform: uppercase !important;
  gap: 10px !important;
}
.fc-admin-users-invite br { display: none !important; }
.fc-admin-users-invite .material-symbols-outlined { font-size: 20px !important; }
.fc-admin-users-tabs {
  gap: 10px !important;
  padding: 0 0 28px !important;
  border-bottom-color: var(--fc-line-soft) !important;
}
.fc-admin-users-tabs a {
  min-height: 38px !important;
  padding: 0 15px !important;
  border: 1px solid var(--fc-muted-2) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--fc-text-muted) !important;
  font-family: var(--fc-font-ui) !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.fc-admin-users-tabs a.active,
.fc-admin-users-tabs a[aria-selected="true"] {
  background: rgba(242,7,22,.18) !important;
  border-color: rgba(242,7,22,.48) !important;
  color: var(--fc-text-main) !important;
}
.fc-admin-users-filter-form select {
  min-height: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  font-family: var(--fc-font-ui) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: .045em !important;
  color: var(--fc-text-soft) !important;
  background: rgba(255,255,255,.035) !important;
}
.fc-admin-users-tool {
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  color: var(--fc-text-muted) !important;
}
.fc-admin-users-table-card,
.fc-admin-users-create {
  border-color: var(--fc-line-strong) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.035) !important;
}
.fc-admin-users-table th {
  font-family: var(--fc-font-ui) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: .11em !important;
  font-weight: 750 !important;
  color: var(--fc-text-muted) !important;
  background: rgba(255,255,255,.045) !important;
}
.fc-admin-users-table td {
  font-family: var(--fc-font-ui) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: var(--fc-text-soft) !important;
}
.fc-admin-user-identity strong,
.fc-admin-activity strong {
  font-family: var(--fc-font-ui) !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  font-weight: 700 !important;
  color: var(--fc-text-main) !important;
}
.fc-admin-user-identity small,
.fc-admin-users-table small,
.fc-admin-activity small {
  font-family: var(--fc-font-ui) !important;
  font-size: 12.5px !important;
  line-height: 1.42 !important;
  color: var(--fc-text-muted) !important;
}
.fc-admin-role-badge,
.fc-admin-state {
  border-radius: 999px !important;
  font-family: var(--fc-font-ui) !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  letter-spacing: .09em !important;
  font-weight: 750 !important;
  text-transform: uppercase !important;
}
.fc-admin-users-pagination {
  background: rgba(255,255,255,.035) !important;
  color: var(--fc-text-muted) !important;
  font-family: var(--fc-font-ui) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.fc-admin-users-create h2 {
  font-family: var(--fc-font-display) !important;
  font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  font-weight: 800 !important;
  text-transform: none !important;
}
.fc-admin-users-kicker,
.fc-admin-users-create label {
  font-family: var(--fc-font-ui) !important;
  font-size: 11px !important;
  letter-spacing: .11em !important;
  font-weight: 700 !important;
  color: var(--fc-text-muted) !important;
}
.fc-admin-users-create p {
  font-family: var(--fc-font-ui) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--fc-text-muted) !important;
}
.fc-admin-users-create input,
.fc-admin-users-create select {
  border-radius: 12px !important;
  font-family: var(--fc-font-ui) !important;
  font-size: 14px !important;
  color: var(--fc-text-main) !important;
}
.fc-admin-users-create input::placeholder {
  color: var(--fc-text-faint) !important;
}
.fc-admin-users-create button {
  border-radius: 999px !important;
  font-family: var(--fc-font-ui) !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  font-weight: 750 !important;
}
@media (max-width: 760px) {
  
.fc-admin-users-content { padding-inline: 18px !important; }
  .fc-admin-users-tabs a { padding-inline: 13px !important; }
}


/* Fix: Gestión de usuarios debe seguir el criterio de Catálogos */
.fc-admin-users-hero h1,
.fc-admin-users-title {
  text-transform: uppercase !important;
  font-family: var(--fc-font-display, inherit) !important;
}


/* Users: buscador integrado en zona de filtros */
.fc-users-filter-row,
.fc-admin-users-filters,
.fc-users-filters {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.fc-users-filter-search {
  flex: 1 1 320px;
  min-width: min(100%, 280px);
}

.fc-users-filter-search form,
.fc-users-filter-search > div {
  width: 100%;
}

.fc-users-filter-search input[type="search"],
.fc-users-filter-search input[name="q"],
.fc-users-filter-search input[type="text"] {
  width: 100%;
}

@media (max-width: 720px) {

  .fc-users-filter-search {
    flex-basis: 100%;
  }
}

/* Users: buscador en la misma fila que filtros, a la izquierda */
.fc-admin-users-filters,
.fc-users-filters,
.fc-users-filter-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.fc-users-filter-search {
  flex: 1 1 420px !important;
  min-width: 320px !important;
  max-width: none !important;
  margin-right: auto !important;
}

.fc-users-filter-search form,
.fc-users-filter-search > div {
  width: 100% !important;
}

.fc-users-filter-search input[type="search"],
.fc-users-filter-search input[name="q"],
.fc-users-filter-search input[type="text"] {
  width: 100% !important;
  min-height: 58px;
}

@media (max-width: 980px) {

  .fc-users-filter-search {
    flex-basis: 100% !important;
    min-width: 100% !important;
    margin-right: 0 !important;
  }
}

/* Fix: buscador de Gestión de usuarios integrado en la fila de filtros */
.fc-admin-users-filter-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
  flex: 1 1 auto !important;
  min-width: 360px !important;
  max-width: none !important;
  width: auto !important;
  height: 58px !important;
  margin: 0 !important;
  border: 1px solid rgba(255, 218, 213, .34) !important;
  background: rgba(58, 37, 34, .76) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 18px !important;
  border-radius: var(--fc-radius-md) !important;
  box-shadow: none !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search .material-symbols-outlined {
  flex: 0 0 auto !important;
  color: var(--fc-text, var(--fc-text)) !important;
  font-size: 26px !important;
  line-height: 1 !important;
  position: static !important;
  margin: 0 !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input,
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="search"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="text"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[name="q"] {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  color: var(--fc-text, var(--fc-text)) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input::placeholder {
  color: rgba(255, 218, 213, .72) !important;
  opacity: 1 !important;
}

.fc-admin-users-filter-form select {
  flex: 0 0 auto !important;
}

@media (max-width: 1100px) {
  .fc-admin-users-filter-form {
    flex-wrap: wrap !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }
}

/* =========================================================
   Gestión de usuarios - buscador final en línea de filtros
   Debe mantener el estilo oscuro/redondeado de referencia.
   ========================================================= */

.fc-admin-users-filter-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
  flex: 1 1 auto !important;
  min-width: 420px !important;
  max-width: 820px !important;
  width: auto !important;
  height: 58px !important;
  margin: 0 auto 0 0 !important;

  display: flex !important;
  align-items: center !important;
  gap: 14px !important;

  padding: 0 22px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 218, 213, .28) !important;
  background:
    linear-gradient(180deg, rgba(41, 19, 17, .92), rgba(25, 11, 10, .92)) !important;

  box-shadow:
    inset 0 1px 0 rgba(255, 218, 213, .05),
    0 18px 42px rgba(0, 0, 0, .18) !important;

  overflow: hidden !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search:focus-within {
  border-color: rgba(255, 218, 213, .46) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 218, 213, .08),
    0 0 0 3px rgba(242, 7, 22, .16),
    0 18px 42px rgba(0, 0, 0, .22) !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search .material-symbols-outlined {
  flex: 0 0 auto !important;
  color: rgba(255, 218, 213, .92) !important;
  font-size: 27px !important;
  line-height: 1 !important;
  position: static !important;
  margin: 0 !important;
  transform: none !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input,
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="search"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="text"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[name="q"] {
  appearance: none !important;
  -webkit-appearance: none !important;

  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;

  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;

  padding: 0 !important;
  margin: 0 !important;

  color: rgba(255, 218, 213, .96) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -.015em !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input::placeholder {
  color: rgba(255, 218, 213, .58) !important;
  opacity: 1 !important;
}

.fc-admin-users-filter-form select {
  flex: 0 0 auto !important;
}

@media (max-width: 1220px) {
  .fc-admin-users-filter-form {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
    flex: 1 1 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 720px) {
  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
    height: 54px !important;
    border-radius: 16px !important;
    padding: 0 18px !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input {
    font-size: 15px !important;
  }
}

/* =========================================================
   Gestión de usuarios - filtros alineados en una única altura
   ========================================================= */

.fc-admin-users-filter-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

/* Altura común de todos los controles */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search,
.fc-admin-users-filter-form select,
.fc-admin-users-tool {
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  box-sizing: border-box !important;
  align-self: center !important;
}

/* Buscador */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
  flex: 1 1 auto !important;
  min-width: 420px !important;
  max-width: none !important;
  margin: 0 auto 0 0 !important;

  display: flex !important;
  align-items: center !important;
  gap: 18px !important;

  padding: 0 28px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255, 218, 213, .30) !important;
  background:
    linear-gradient(180deg, rgba(41, 19, 17, .92), rgba(25, 11, 10, .92)) !important;
}

/* Icono lupa dentro del buscador */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search .material-symbols-outlined {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  font-size: 34px !important;
  line-height: 1 !important;
  color: rgba(255, 218, 213, .92) !important;
  position: static !important;
  margin: 0 !important;
  transform: none !important;
}

/* Input */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input,
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="search"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="text"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[name="q"] {
  height: 100% !important;
  line-height: 72px !important;
  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;

  color: rgba(255, 218, 213, .96) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -.018em !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input::placeholder {
  color: rgba(255, 218, 213, .58) !important;
  opacity: 1 !important;
}

/* Selects */
.fc-admin-users-filter-form select {
  flex: 0 0 auto !important;
  min-width: 220px !important;

  display: inline-flex !important;
  align-items: center !important;

  padding: 0 56px 0 28px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 218, 213, .30) !important;
  background-color: rgba(41, 19, 17, .74) !important;

  color: rgba(255, 218, 213, .94) !important;
  font-family: Montserrat, Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Botones icono filtro/descarga */
.fc-admin-users-tool {
  flex: 0 0 72px !important;
  width: 72px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  border-radius: 18px !important;
  border: 1px solid rgba(255, 218, 213, .30) !important;
  background: rgba(41, 19, 17, .62) !important;

  color: rgba(255, 218, 213, .90) !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

/* Responsive: en pantallas estrechas el buscador baja, pero mantiene altura */
@media (max-width: 1220px) {
  .fc-admin-users-filter-form {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
    flex: 1 1 100% !important;
    min-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .fc-admin-users-filter-form {
    gap: 12px !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search,
  .fc-admin-users-filter-form select,
  .fc-admin-users-tool {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
    border-radius: 16px !important;
    padding: 0 18px !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input {
    font-size: 16px !important;
    line-height: 58px !important;
  }

  .fc-admin-users-filter-form select {
    min-width: calc(50% - 6px) !important;
    padding: 0 40px 0 18px !important;
    font-size: 13px !important;
  }

  .fc-admin-users-tool {
    width: 58px !important;
    flex-basis: 58px !important;
    border-radius: 14px !important;
    font-size: 26px !important;
  }
}

/* =========================================================
   Gestión de usuarios - corrección final:
   tamaño compacto original + alineación horizontal común
   ========================================================= */

.fc-admin-users-filter-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

/* Altura compacta común */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search,
.fc-admin-users-filter-form select,
.fc-admin-users-tool {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  box-sizing: border-box !important;
  align-self: center !important;
}

/* Buscador compacto */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
  flex: 1 1 auto !important;
  min-width: 360px !important;
  max-width: none !important;
  width: auto !important;
  margin: 0 auto 0 0 !important;

  display: flex !important;
  align-items: center !important;
  gap: 12px !important;

  padding: 0 20px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 218, 213, .30) !important;
  background:
    linear-gradient(180deg, rgba(41, 19, 17, .92), rgba(25, 11, 10, .92)) !important;

  overflow: hidden !important;
}

/* Icono lupa compacto */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search .material-symbols-outlined {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 26px !important;
  height: 26px !important;
  flex: 0 0 26px !important;

  font-size: 26px !important;
  line-height: 1 !important;
  color: rgba(255, 218, 213, .92) !important;

  position: static !important;
  margin: 0 !important;
  transform: none !important;
}

/* Input compacto */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input,
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="search"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="text"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[name="q"] {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.2 !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;

  color: rgba(255, 218, 213, .96) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input::placeholder {
  color: rgba(255, 218, 213, .58) !important;
  opacity: 1 !important;
}

/* Selects compactos */
.fc-admin-users-filter-form select {
  flex: 0 0 auto !important;
  min-width: 220px !important;

  display: inline-flex !important;
  align-items: center !important;

  padding: 0 44px 0 24px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255, 218, 213, .30) !important;
  background-color: rgba(41, 19, 17, .74) !important;

  color: rgba(255, 218, 213, .94) !important;
  font-family: Montserrat, Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

/* Botones icono compactos */
.fc-admin-users-tool {
  flex: 0 0 58px !important;
  width: 58px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  border-radius: 16px !important;
  border: 1px solid rgba(255, 218, 213, .30) !important;
  background: rgba(41, 19, 17, .62) !important;

  color: rgba(255, 218, 213, .90) !important;
  font-size: 25px !important;
  line-height: 1 !important;
}

/* Evitar que el texto del buscador se corte raro */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input {
  text-overflow: ellipsis !important;
}

/* Responsive */
@media (max-width: 1220px) {
  .fc-admin-users-filter-form {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
    flex: 1 1 100% !important;
    min-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .fc-admin-users-filter-form {
    gap: 12px !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search,
  .fc-admin-users-filter-form select,
  .fc-admin-users-tool {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
    border-radius: 15px !important;
    padding: 0 16px !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input {
    font-size: 15px !important;
  }

  .fc-admin-users-filter-form select {
    min-width: calc(50% - 6px) !important;
    padding: 0 38px 0 16px !important;
    font-size: 12px !important;
  }

  .fc-admin-users-tool {
    width: 52px !important;
    flex-basis: 52px !important;
    border-radius: 14px !important;
    font-size: 23px !important;
  }
}

/* =========================================================
   Gestión de usuarios - filtros compactos alineados con tabs
   Altura de referencia: min-height 42px
   ========================================================= */

.fc-admin-users-filter-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

/* Altura común igual que tabs */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search,
.fc-admin-users-filter-form select,
.fc-admin-users-tool {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  box-sizing: border-box !important;
  align-self: center !important;
}

/* Buscador */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
  flex: 1 1 auto !important;
  min-width: 320px !important;
  max-width: none !important;
  width: auto !important;
  margin: 0 auto 0 0 !important;

  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  padding: 0 16px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255, 218, 213, .30) !important;
  background:
    linear-gradient(180deg, rgba(41, 19, 17, .92), rgba(25, 11, 10, .92)) !important;

  overflow: hidden !important;
}

/* Icono lupa */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search .material-symbols-outlined {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;

  font-size: 22px !important;
  line-height: 1 !important;
  color: rgba(255, 218, 213, .92) !important;

  position: static !important;
  margin: 0 !important;
  transform: none !important;
}

/* Input */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input,
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="search"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="text"],
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[name="q"] {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.2 !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;

  color: rgba(255, 218, 213, .96) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}

.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input::placeholder {
  color: rgba(255, 218, 213, .58) !important;
  opacity: 1 !important;
}

/* Selects */
.fc-admin-users-filter-form select {
  flex: 0 0 auto !important;
  min-width: 190px !important;

  display: inline-flex !important;
  align-items: center !important;

  padding: 0 38px 0 20px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 218, 213, .30) !important;
  background-color: rgba(41, 19, 17, .74) !important;

  color: rgba(255, 218, 213, .94) !important;
  font-family: Montserrat, Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

/* Botones icono */
.fc-admin-users-tool {
  flex: 0 0 42px !important;
  width: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  border-radius: 14px !important;
  border: 1px solid rgba(255, 218, 213, .30) !important;
  background: rgba(41, 19, 17, .62) !important;

  color: rgba(255, 218, 213, .90) !important;
  font-size: 21px !important;
  line-height: 1 !important;
}

/* Foco sin agrandar visualmente el control */
.fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search:focus-within,
.fc-admin-users-filter-form select:focus,
.fc-admin-users-tool:focus {
  outline: none !important;
  border-color: rgba(255, 170, 164, .72) !important;
  box-shadow: 0 0 0 2px rgba(242, 7, 22, .18) !important;
}

/* Responsive */
@media (max-width: 1220px) {
  .fc-admin-users-filter-form {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search {
    flex: 1 1 100% !important;
    min-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .fc-admin-users-filter-form {
    gap: 10px !important;
  }

  .fc-admin-users-filter-form select {
    min-width: calc(50% - 5px) !important;
    padding: 0 32px 0 14px !important;
    font-size: 11px !important;
  }
}

/* =========================================================
   Nav - identidad de usuario junto al logout
   ========================================================= */


@media (min-width: 768px) {

}

/* Al pasar la identidad al nav, se oculta la tarjeta antigua dentro de Gestión de usuarios */
.fc-admin-users-page .fc-admin-users-admin-card {
  display: none !important;
}

/* La topbar de usuarios ya no necesita segunda columna para esa tarjeta */
.fc-admin-users-page .fc-admin-users-topbar {
  grid-template-columns: minmax(280px, 1fr) !important;
}

/* Nav - logout situado a la derecha del bloque de usuario */


/* =========================================================
   Admin / Moderar obra - corregir espacio vacío superior
   ========================================================= */

/*
  La vista de moderación no debe reservar una altura de hero/pantalla
  si el contenido principal aparece abajo. Se compacta el área superior
  manteniendo sidebar, nav y panel de revisión.
*/

.fc-admin-layout .fc-moderate-page,
.fc-admin-layout .fc-moderation-page,
.fc-admin-layout .fc-admin-moderate,
.fc-admin-layout .fc-admin-work-moderation {
  min-height: auto !important;
}

/* Contenedor principal de moderación */
.fc-admin-main:has(.fc-moderation-shell),
.fc-admin-main:has(.fc-moderate-shell),
.fc-admin-main:has(.fc-work-moderation),
.fc-admin-main:has(.fc-moderation-detail) {
  padding-top: 36px !important;
}

/* Shell / hero de moderación */
.fc-moderation-shell,
.fc-moderate-shell,
.fc-work-moderation,
.fc-moderation-detail,
.fc-admin-work-hero,
.fc-moderate-hero,
.fc-review-hero {
  min-height: auto !important;
  height: auto !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Si existe un bloque visual superior reservado para poster/player */
.fc-moderation-hero,
.fc-work-review-hero,
.fc-admin-work-preview,
.fc-moderate-preview,
.fc-review-preview {
  min-height: 0 !important;
  height: auto !important;
  margin-bottom: 28px !important;
}

/* Grid de moderación: contenido + checklist */
.fc-moderation-grid,
.fc-moderate-grid,
.fc-review-grid,
.fc-admin-work-grid {
  align-items: start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Evitar empujar la ficha hacia abajo */
.fc-moderation-content,
.fc-moderate-content,
.fc-review-content,
.fc-admin-work-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Si el título/ficha de la obra está anclado abajo, devolverlo al flujo normal */
.fc-moderation-title,
.fc-moderate-title,
.fc-admin-work-title,
.fc-review-title {
  margin-top: 0 !important;
}

/* Panel lateral de lista/checklist */
.fc-moderation-aside,
.fc-moderate-aside,
.fc-review-aside,
.fc-admin-work-aside {
  margin-top: 0 !important;
  align-self: start !important;
}

/* Fallback para cualquier bloque con altura viewport dentro de moderate-work */
body:has(.fc-admin-layout) .fc-admin-main [class*="moderate"],
body:has(.fc-admin-layout) .fc-admin-main [class*="Moderate"],
body:has(.fc-admin-layout) .fc-admin-main [class*="review"],
body:has(.fc-admin-layout) .fc-admin-main [class*="Review"] {
  scroll-margin-top: 90px;
}

/* No usar alturas tipo pantalla completa en la primera sección de moderación */
.fc-admin-main > section:first-child,
.fc-admin-main > div:first-child {
  min-height: auto;
}

/* Responsive */
@media (max-width: 980px) {
  .fc-admin-main:has(.fc-moderation-shell),
  .fc-admin-main:has(.fc-moderate-shell),
  .fc-admin-main:has(.fc-work-moderation),
  .fc-admin-main:has(.fc-moderation-detail) {
    padding-top: 24px !important;
  }
}


/* ════ FIRST CUT PANEL STYLE - FASE 1: suavizado global ════
   Radios redondeados + botones estilizados + badges pill con colores de estado.
   (Va al final a propósito: este archivo carga el último y fija la cascada.) */

/* Botones compartidos: radio pill, Montserrat, métricas contenidas */
.fc-primary-action, .fc-landing-btn-primary, .fc-btn-primary,
.fc-ghost-action, .fc-landing-btn-ghost, .fc-btn-ghost {
  border-radius: var(--fc-radius-pill, 999px);
  font-family: var(--fc-font-display, Montserrat, Inter, sans-serif);
  min-height: 44px;
  padding: 0 22px;
  font-size: 12px;
  letter-spacing: .1em;
}

/* Badges: pill único con color por estado (no depende solo del color: texto siempre visible) */
.fc-chip, .fc-chip-hot, .fc-badge, .fc-mod-status {
  border-radius: var(--fc-radius-pill, 999px);
  font-family: var(--fc-font-display, Montserrat, Inter, sans-serif);
  letter-spacing: .1em;
  min-height: 24px;
  padding: 4px 11px;
  font-size: 11px;
}
.fc-badge-status-draft      { background: var(--fc-muted-2); border-color: var(--fc-border-strong); color: var(--fc-muted); }
[data-theme="light"] .fc-badge-status-draft{ background:rgba(0,0,0,.06); border-color:rgba(0,0,0,.18); color:var(--fc-text); }
.fc-badge-status-submitted  { background: rgba(94,160,255,.12);  border-color: rgba(94,160,255,.45);  color: #aecdff; }
.fc-badge-status-in-review  { background: rgba(255,225,109,.10); border-color: rgba(255,225,109,.45); color: var(--fc-yellow); }
.fc-badge-status-changes-requested { background: rgba(255,225,109,.16); border-color: var(--fc-yellow); color: var(--fc-yellow); }
.fc-badge-status-approved   { background: rgba(38,211,109,.10);  border-color: rgba(38,211,109,.45);  color: var(--fc-green); }
.fc-badge-status-published  { background: var(--fc-red); border-color: var(--fc-red); color: #fff7f6; box-shadow: 0 0 16px rgba(242,7,22,.3); }
.fc-badge-status-rejected   { background: rgba(255,77,90,.12);   border-color: rgba(255,77,90,.5);    color: #ffb4ab; }
.fc-badge-status-archived   { background: var(--fc-muted-2); border-color: var(--fc-border);      color: var(--fc-muted-2, rgba(233,188,182,.72)); }
.fc-badge-status-open       { background: var(--fc-red); border-color: var(--fc-red); color: #fff7f6; box-shadow: 0 0 16px rgba(242,7,22,.3); }
.fc-badge-status-closed     { background: var(--fc-muted-2); border-color: var(--fc-border-strong); color: var(--fc-muted); }
.fc-badge-status-upcoming   { background: rgba(94,160,255,.12);  border-color: rgba(94,160,255,.45);  color: #aecdff; }
.fc-badge-status-finished   { background: var(--fc-muted-2); border-color: var(--fc-border);      color: var(--fc-muted-2, rgba(233,188,182,.72)); }

/* Cards/inputs legacy: radios del sistema */
.fc-step-card, .fc-quote-panel, .fc-university-card, .fc-info-tile, .fc-stat-card,
.fc-users-admin-card, .fc-users-create-card, .fc-users-table-card, .fc-empty-state {
  border-radius: var(--fc-radius-lg, 20px);
}
.fc-input, input[type=text], input[type=email], input[type=password],
input[type=url], input[type=number], input[type=date], select, textarea {
  border-radius: var(--fc-radius-md, 14px);
}

/* Wizard de subir obra: pasos y botones suavizados */
.fc-work-stepper { border-radius: var(--fc-radius-lg, 20px); }
.fc-work-step-panel, .fc-work-preview-card, .fc-team-editor-card,
.fc-rights-review-block, .fc-review-summary-grid article, .fc-upload-media-drop { border-radius: var(--fc-radius-lg, 20px); }
.fc-wizard-next, .fc-wizard-submit, .fc-wizard-prev, .fc-wizard-soft-button {
  border-radius: var(--fc-radius-pill, 999px);
  min-height: 46px;
  font-family: var(--fc-font-display, Montserrat, Inter, sans-serif);
}
.fc-work-preview-meta span, .fc-work-preview-poster { border-radius: var(--fc-radius-sm, 10px); }
.fc-work-preview-poster { overflow: hidden; }

/* FASE 2 - tabla de presentaciones y restos admin */
.fc-table-wrapper, .fc-table { border-radius: var(--fc-radius-md, 14px); overflow: hidden; }
/* .fc-empty-state { border-radius: var(--fc-radius-lg, 20px); } - migrado a input.css (Fase 6B-empty-state) */
.fc-btn-ghost, .fc-btn-primary { border-radius: var(--fc-radius-pill, 999px); }

/* ════ FASE 3 - capa pública al estilo único ════ */
/* Landing / home */
.fc-home3-card, .fc-home3-role, .fc-home3-spotlight, .fc-home3-premiere-card,
.fc-landing-spotlight, .fc-landing-spotlight-media { border-radius: var(--fc-radius-lg, 20px); overflow: hidden; }
.fc-home3-btn, .fc-landing-btn { border-radius: var(--fc-radius-pill, 999px); font-family: var(--fc-font-display, Montserrat, Inter, sans-serif); }
.fc-landing-hero-img { border-radius: var(--fc-radius-lg, 20px); }

/* Ficha de obra + player */
.fcwd-player-shell, .fc-work-player { border-radius: var(--fc-radius-lg, 20px); overflow: hidden; }
.fc-cinema-controls { border-radius: var(--fc-radius-md, 14px); }
.fc-cinema-overlay-card, .fc-cinema-info-panel { border-radius: var(--fc-radius-lg, 20px); }
.fcwd-meta-grid > *, .fcwd-credit-strip > *, .fc-spec-row, .fc-info-tile, .fc-credit-pill, .fc-award-row { border-radius: var(--fc-radius-md, 14px); }
.fc-film-strip-card, .film-card-gradient { border-radius: var(--fc-radius-lg, 20px); overflow: hidden; }

/* Perfil creador / canal universidad */
.fc-creator-hero, .fc-featured-work, .fc-creator-cover { border-radius: var(--fc-radius-lg, 20px); overflow: hidden; }
.fc-university-card, .fc-quote-panel { border-radius: var(--fc-radius-lg, 20px); }

/* Tarjeta genérica pública (swaps fc-card ya redondeada por input.css) y media interna */
.fc-card > .aspect-video, .fc-card > a > .aspect-video { border-radius: var(--fc-radius-lg, 22px); overflow: hidden; }


/* --------------------------------------------------------------------------
   First Cut global radius normalization - 2026-06-11
   Visual polish only: unifies hard 90-degree corners without changing markup,
   routes, forms, CSRF, HLS or business logic. Loaded after app.css so it can
   safely harmonize legacy Tailwind/EJS/Stitch-specific classes.
---------------------------------------------------------------------------- */
:where(.fc-primary-action,.fc-landing-btn-primary,.fc-btn-primary,.fc-ghost-action,.fc-landing-btn-ghost,.fc-btn-ghost,.fc-wizard-next,.fc-wizard-prev,.fc-wizard-submit,.fc-wizard-soft-button,.fc-mod-stitch-btn,button[class*="fc-btn"],a[class*="fc-btn"]){
  border-radius:var(--fc-radius-pill)!important;
}

:where(.fc-chip,.fc-chip-hot,.fc-badge,.fc-mod-status,.fc-mod-stitch-badge,.fc-work-preview-meta span,.fc-mini-specs span,.fc-panel-tabs a,.fc-panel-tabs span[aria-current],.fc-credit-pill,.fc-award-row,.fc-status-badge){
  border-radius:var(--fc-radius-pill)!important;
}

:where(.fc-input,input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="number"],input[type="date"],select,textarea){
  border-radius:var(--fc-radius-md)!important;
}

:where(.fc-card,.fc-film-strip-card,.film-card-gradient,.fc-work-card,.fc-step-card,.fc-stat-card,.fc-info-tile,.fc-university-card,.fc-quote-panel,.fc-users-admin-card,.fc-users-create-card,.fc-users-table-card,.fc-users-table-wrap,.fc-panel-card,.fc-panel-metric,.fc-panel-table-wrap,.fc-table-wrapper,.fc-table,.fc-empty-state,.fc-work-preview-card,.fc-team-editor-card,.fc-review-summary-grid article,.fc-rights-review-block,.fc-upload-media-drop,.fc-editor-section,.fc-editor-creator-card,.fc-editor-credit-list article,.fc-editor-checks label,.fc-mod-stitch-card,.fc-mod-stitch-feedback,.fc-mod-stitch-specs,.fcwd-meta-grid > *, .fcwd-credit-strip > *, .fc-spec-row){
  border-radius:var(--fc-radius-lg)!important;
}

:where(.fc-landing-spotlight,.fc-landing-spotlight-media,.fc-landing-hero-img,.fc-home3-rail,.fc-work-player,.fcwd-player-shell,.fc-cinema-overlay-card,.fc-cinema-info-panel,.fc-creator-hero,.fc-featured-work,.fc-creator-cover,.fc-university-hero,.fc-university-cover,.fc-work-step-panel,.fc-work-stepper,.fc-rights-check-grid .fc-check,.fc-upload-hero,.fc-editor-hero){
  border-radius:var(--fc-radius-xl)!important;
}

:where(.fc-work-preview-poster,.fc-work-preview-poster.has-image,.fc-card img,.fc-film-strip-card img,.film-card-gradient img,.fc-university-card img,.fc-creator-cover img){
  border-radius:var(--fc-radius-md)!important;
  overflow:hidden;
}

:where(.glass-nav,.fc-sidenav,.fc-bottom-nav){
  overflow:hidden;
}

.glass-nav{
  border-bottom-left-radius:var(--fc-radius-lg)!important;
  border-bottom-right-radius:var(--fc-radius-lg)!important;
}
/* Island nav overrides (all corners) */
.fc-island-nav.glass-nav{
  border-bottom-left-radius:999px!important;
  border-bottom-right-radius:999px!important;
}

.fc-global-nav.glass-nav,
.fc-global-nav .fc-nav-actions,
.fc-global-nav .fc-user-menu{
  overflow:visible!important;
}

.fc-global-nav{
  z-index:1200!important;
}

.fc-global-nav .fc-user-menu-panel{
  z-index:1300!important;
}

.fc-sidenav{
  border-top-right-radius:var(--fc-radius-xl)!important;
  border-bottom-right-radius:var(--fc-radius-xl)!important;
}

.fc-bottom-nav{
  border-top-left-radius:var(--fc-radius-xl)!important;
  border-top-right-radius:var(--fc-radius-xl)!important;
}

.fc-sidenav nav a{
  border-radius:var(--fc-radius-md)!important;
  margin-inline:6px;
}

.fc-sidenav nav a.bg-primary-container,
.fc-sidenav nav a[aria-current="page"]{
  border-radius:var(--fc-radius-pill)!important;
}

.fc-mod-stitch-check input[type="checkbox"],
input[type="checkbox"]{
  border-radius:var(--fc-radius-xs)!important;
}

.fc-table-wrapper,
.fc-users-table-wrap,
.fc-panel-table-wrap{
  overflow:hidden;
}

@media(max-width:760px){
  :where(.fc-step-card,.fc-stat-card,.fc-info-tile,.fc-university-card,.fc-users-admin-card,.fc-users-create-card,.fc-users-table-card,.fc-empty-state,.fc-editor-section,.fc-editor-creator-card,.fc-mod-stitch-card){
    border-radius:var(--fc-radius-md)!important;
  }
}

/* --------------------------------------------------------------------------
   Phase 1 theme bridge
   Scope: global chrome only. Keeps views, player and business flows untouched.
---------------------------------------------------------------------------- */
:where(.glass-nav,.fc-bottom-nav){
  background:var(--fc-glass-strong)!important;
  border-color:var(--fc-line)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.14);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.fc-sidenav{
  background:var(--fc-sidebar-bg)!important;
  border-color:var(--fc-line)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.fc-menu-link,
.fc-bottom-nav-item,
.glass-nav .text-on-surface-variant{
  color:var(--fc-muted)!important;
}

.fc-menu-link:hover,
.fc-bottom-nav-item:hover,
.fc-bottom-nav-item.active,
.glass-nav .hover\:text-primary:hover,
.glass-nav .text-primary,
.glass-nav .text-primary-container{
  color:var(--fc-red)!important;
}

.fc-sidenav nav a[aria-current="page"],
.fc-sidenav nav a.bg-primary-container,
.glass-nav .bg-primary-container{
  background:var(--fc-red)!important;
  color:#fff!important;
}

.fc-flash{
  background:var(--fc-glass-strong)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.fc-flash--error{border-color:var(--fc-danger)!important;color:var(--fc-danger)!important}
.fc-flash--success{border-color:var(--fc-green)!important}
.fc-flash--warning{border-color:var(--fc-yellow)!important;color:var(--fc-yellow)!important}

/* --------------------------------------------------------------------------
   Phase 2 public/auth Liquid Glass
   Scope: public pages, auth views and shared work cards only.
   No HLS, routes, form actions, CSRF or private dashboard behavior.
---------------------------------------------------------------------------- */
.fc-public-shell,
.fc-auth-screen{
  background:var(--fc-body-bg);
  color:var(--fc-text);
}

.fc-auth-screen{
  position:relative;
  isolation:isolate;
}

.fc-auth-screen::before,
.fc-auth-screen::after,
.fc-public-section::before{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:-1;
}

.fc-auth-screen::before{
  inset:0;
  background:
    linear-gradient(115deg, transparent 0 44%, rgba(255,255,255,.055) 44% 45%, transparent 45% 100%),
    radial-gradient(circle at 50% 0%, rgba(242,7,22,.14), transparent 42%);
  opacity:.9;
}

[data-theme="light"] .fc-auth-screen::before{
  background:
    linear-gradient(115deg, transparent 0 44%, rgba(255,255,255,.56) 44% 45%, transparent 45% 100%),
    radial-gradient(circle at 50% 0%, rgba(198,19,36,.11), transparent 42%);
}

/* .fc-card - migrado a input.css (Fase 6B-card) */
/* .fc-step-card - migrado a input.css (Fase 6B-step-stat) */
/* .fc-stat-card - migrado a input.css (Fase 6B-step-stat) */
.fc-auth-card,
.fc-featured-work,
.fc-public-sidebar,
.fc-public-empty{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.fc-auth-card input,
.fc-auth-card select,
.fc-public-shell input,
.fc-public-shell select,
.fc-public-shell textarea{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

.fc-auth-card input:focus,
.fc-auth-card select:focus,
.fc-public-shell input:focus,
.fc-public-shell select:focus,
.fc-public-shell textarea:focus{
  border-color:var(--fc-red)!important;
  box-shadow:0 0 0 3px rgba(242,7,22,.16)!important;
}

.fc-explore-shell{
  display:block;
}

.fc-explore-search{
  border:1px solid var(--fc-line)!important;
  background:var(--fc-glass-soft)!important;
  box-shadow:var(--fc-shadow-card)!important;
}

.fc-public-shell .fc-explore-search-input,
.fc-public-shell .fc-explore-search-input:focus,
.fc-public-shell .fc-explore-search-input:focus-visible{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  color:var(--fc-text)!important;
}

.fc-public-shell .fc-explore-search-input::placeholder{
  color:var(--fc-muted)!important;
  opacity:1;
}

.fc-explore-filters{
  padding:16px;
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
}

.fc-explore-filter-form{
  display:grid;
  grid-template-columns:auto minmax(180px,260px) minmax(220px,320px) auto;
  gap:14px;
  align-items:end;
}

.fc-explore-filter-heading,
.fc-explore-clear{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}

.fc-explore-filter-heading{
  color:var(--fc-muted);
}

.fc-explore-clear{
  justify-content:center;
  color:var(--fc-muted)!important;
}

.fc-explore-clear:hover{
  color:var(--fc-red)!important;
}

.fc-explore-filter-field{
  display:grid;
  gap:7px;
  min-width:0;
}

.fc-explore-filter-field span{
  color:var(--fc-muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.fc-public-shell .fc-explore-filter-field select{
  width:100%;
  min-height:46px;
  padding:0 36px 0 13px;
  appearance:none!important;
  -webkit-appearance:none!important;
  background:var(--fc-glass-soft)!important;
  border:1px solid var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:var(--fc-radius-md)!important;
}

.fc-public-shell .fc-explore-filter-field select:focus,
.fc-public-shell .fc-explore-filter-field select:focus-visible{
  border-color:var(--fc-red)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(242,7,22,.16)!important;
}

@media(max-width:900px){
  .fc-explore-filter-form{
    grid-template-columns:1fr 1fr;
  }

  .fc-explore-filter-heading,
  .fc-explore-clear{
    grid-column:1/-1;
    justify-content:flex-start;
  }
}

@media(max-width:640px){
  .fc-explore-search-form{
    width:100%;
    flex-direction:column;
  }

  .fc-explore-search{
    width:100%!important;
  }

  .fc-explore-filter-form{
    grid-template-columns:1fr;
  }
}

.fc-explore-bar{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  flex-wrap:nowrap;
  border-radius:var(--fc-radius-sm)!important;
}

.fc-explore-bar .fc-btn-primary{
  min-height:38px;
  padding:0 18px;
  font-size:11px;
}

.fc-explore-bar .fc-explore-search{
  flex:1 1 160px;
  border:none!important;
  background:none!important;
  box-shadow:none!important;
  padding:0;
  min-width:0;
}

.fc-explore-select{
  flex:0 1 160px;
  min-width:110px;
  height:36px;
  padding:0 28px 0 10px;
  appearance:none!important;
  -webkit-appearance:none!important;
  background:var(--fc-glass-soft)!important;
  border:1px solid var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
  border-radius:var(--fc-radius-sm)!important;
  font-size:13px;
  outline:0;
  cursor:pointer;
}

.fc-explore-select:focus,
.fc-explore-select:focus-visible{
  border-color:var(--fc-red)!important;
  box-shadow:0 0 0 3px rgba(242,7,22,.16)!important;
  outline:0!important;
}

@media(max-width:640px){
  .fc-explore-bar{
    flex-wrap:wrap;
    gap:8px;
  }

  .fc-explore-bar .fc-explore-search{
    flex:1 1 100%;
    order:-1;
    padding-bottom:8px;
    border-bottom:1px solid var(--fc-line)!important;
  }

  .fc-explore-select{
    flex:1 1 calc(50% - 4px);
    min-width:0;
  }
}

.fc-glass-button{
  background:var(--fc-glass-soft)!important;
  border:1px solid var(--fc-line-strong)!important;
  color:var(--fc-muted)!important;
  cursor:pointer;
  border-radius:var(--fc-radius-pill);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.fc-glass-button:hover,
.fc-glass-button:focus-visible{
  border-color:var(--fc-red)!important;
  color:var(--fc-red)!important;
  outline:none;
}

.fc-token-gradient{
  background:
    linear-gradient(135deg,var(--fc-surface-3),var(--fc-bg-soft)),
    radial-gradient(circle at 68% 18%, rgba(242,7,22,.14), transparent 36%);
}

.fc-tone-overlay{
  background:linear-gradient(to top,var(--fc-bg) 0%, rgba(0,0,0,.08) 58%, transparent 100%);
}

[data-theme="light"] .fc-tone-overlay{
  background:linear-gradient(to top,var(--fc-bg) 0%, rgba(255,250,244,.24) 58%, transparent 100%);
}

.fc-logo-tile{
  background:var(--fc-surface-lowest)!important;
  border:1px solid var(--fc-line);
  border-radius:var(--fc-radius-md);
  box-shadow:0 14px 42px rgba(0,0,0,.14);
}

.fc-public-hero,
.fc-home3-hero{
  background:var(--fc-bg)!important;
  border-color:var(--fc-line)!important;
}

.fc-home3-hero{
  margin-top:-80px;
}

.fc-home3-hero-shade{
  background:
    linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.52) 45%,rgba(0,0,0,.1)),
    linear-gradient(180deg,rgba(0,0,0,.1),var(--fc-bg) 96%)!important;
}

[data-theme="light"] .fc-home3-hero-shade{
  background:
    linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.42) 48%,rgba(0,0,0,.08)),
    linear-gradient(180deg,rgba(0,0,0,.08),var(--fc-bg) 96%)!important;
}

.fc-glass-band,
.fc-home3-premieres,
.fc-home3-final{
  background:var(--fc-glass-strong)!important;
  border-color:var(--fc-line)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.fc-home3-rail{
  background:rgba(255,255,255,.04)!important;
  border-color:rgba(255,255,255,.08)!important;
  border-radius:var(--fc-radius-xl)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.fc-home3-role,
.fc-home3-role-wide,
.fc-home3-premiere-poster,
.fc-work-card{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.fc-home3-title,
.fc-home3-role h2,
.fc-home3-section-head h2,
.fc-home3-final h2,
.fc-home3-premiere-card h3,
.fc-creator-content h1,
.fcwd-title,
.fcwd-related-head h2{
  color:var(--fc-text-strong)!important;
}

.fc-home3-lead,
.fc-home3-role p,
.fc-home3-final p,
.fc-home3-premiere-card p,
.fc-creator-content p,
.fcwd-synopsis,
.fcwd-note-body,
.fcwd-related-head p{
  color:var(--fc-muted)!important;
}

.fc-home3-btn-ghost,
.fc-ghost-action,
.fcwd-secondary-link{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

.fc-home3-pill-yellow{
  background:var(--fc-yellow)!important;
  border-color:var(--fc-yellow)!important;
  color:var(--fc-on-yellow)!important;
}

.fc-home3-pill-blue{
  background:rgba(94,160,255,.14)!important;
  border-color:rgba(94,160,255,.38)!important;
  color:var(--fc-blue-soft)!important;
}

.film-card-gradient{
  background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.12) 58%,transparent 100%)!important;
}

[data-theme="light"] .film-card-gradient{
  background:linear-gradient(0deg,rgba(24,11,8,.72) 0%,rgba(24,11,8,.16) 62%,transparent 100%)!important;
}

.fcwd-main,
.fcwd-related{
  background:transparent!important;
  color:var(--fc-text)!important;
}

.fcwd-credit-strip,
.fcwd-note,
.fcwd-creator-card,
.fcwd-meta-grid > div,
.fcwd-side-specs,
.fcwd-empty-related{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.fcwd-chip,
.fcwd-related-arrows button{
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
  background:var(--fc-glass-soft)!important;
}

.fcwd-chip-red,
.fcwd-primary-link{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:var(--fc-text-strong)!important;
}

.fcwd-chip-gold{
  background:var(--fc-yellow)!important;
  border-color:var(--fc-yellow)!important;
  color:var(--fc-on-yellow)!important;
}

.fcwd-creator-head p,
.fcwd-creator-bio,
.fcwd-side-specs span,
.fcwd-related-card p:last-child{
  color:var(--fc-muted)!important;
}

.fcwd-side-specs a,
.fcwd-related-card,
.fcwd-related-card h3{
  color:var(--fc-text)!important;
}

.fcwd-related-meta{
  color:var(--fc-red)!important;
}

.fcwd-related-img{
  background-color:var(--fc-bg-soft)!important;
  border:1px solid var(--fc-line);
  border-radius:var(--fc-radius-lg);
  transition:opacity .35s ease;
}

.fcwd-related-card:hover .fcwd-related-img{
  opacity:1!important;
}

.fc-university-public-hero{
  border-bottom:1px solid var(--fc-line);
  background:var(--fc-bg);
}

.fc-public-sidebar{
  border-right-color:var(--fc-line)!important;
}

@media(max-width:760px){
  .fc-auth-card{padding:24px!important}
  .fc-public-sidebar{position:relative!important;height:auto!important}
}

/* Phase 3 public remaining Liquid Glass */
.fc-legal-page,
.fc-convocations-page,
.fc-convocation-detail,
.fc-talent-directory,
.fc-error-state{
  position:relative;
  isolation:isolate;
}

.fc-legal-page::before,
.fc-convocations-page::before,
.fc-convocation-detail::before,
.fc-talent-directory::before,
.fc-error-state::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 12%, rgba(242,7,22,.13), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(240,172,61,.1), transparent 34%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg));
}

[data-theme="light"] .fc-legal-page::before,
[data-theme="light"] .fc-convocations-page::before,
[data-theme="light"] .fc-convocation-detail::before,
[data-theme="light"] .fc-talent-directory::before,
[data-theme="light"] .fc-error-state::before{
  background:
    radial-gradient(circle at 16% 10%, rgba(242,7,22,.09), transparent 30%),
    radial-gradient(circle at 82% 16%, rgba(240,172,61,.12), transparent 34%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg));
}

.fc-legal-note,
.fc-convocation-card,
.fc-public-side-card,
.fc-public-empty,
.fc-talent-card{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.fc-public-filter-active{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:var(--fc-text-strong)!important;
  border-radius:var(--fc-radius-pill);
  box-shadow:0 18px 44px rgba(242,7,22,.18);
}

.fc-convocations-page .fc-glass-band,
.fc-talent-directory .fc-glass-band{
  border-radius:var(--fc-radius-lg);
  border:1px solid var(--fc-line)!important;
}

.fc-convocation-detail select{
  background:var(--fc-glass-soft)!important;
  border:1px solid var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.fc-convocation-detail option{
  background:var(--fc-surface-2);
  color:var(--fc-text);
}

.fc-line-clamp-2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

/* ── Home: Sección Convocatorias ─────────────────────────────────────────── */
.fc-home-convocations{
  padding:84px 0 96px;
  border-top:1px solid var(--fc-line);
  border-bottom:1px solid var(--fc-line);
}
.fc-home-convocations-head{
  margin-bottom:42px;
}
.fc-home-convocations-sub{
  margin:10px 0 0;
  max-width:600px;
  color:var(--fc-muted);
  font-size:15px;
  line-height:1.55;
}
.fc-home-convocations-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.fc-home-conv-card{
  display:flex;
  flex-direction:column;
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft));
  border:1px solid var(--fc-line);
  border-radius:var(--fc-radius-lg);
  box-shadow:var(--fc-shadow);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  overflow:hidden;
  color:var(--fc-text);
  text-decoration:none;
  transition:border-color .18s ease,transform .2s ease,box-shadow .2s ease;
}
.fc-home-conv-card:hover{
  border-color:var(--fc-red);
  transform:translateY(-4px);
  box-shadow:0 20px 52px rgba(229,9,20,.18);
  color:var(--fc-text);
  text-decoration:none;
}
.fc-home-conv-card:focus-visible{
  outline:2px solid var(--fc-red);
  outline-offset:3px;
}
.fc-home-conv-card-cover{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:radial-gradient(ellipse at 60% 40%,rgba(229,9,20,.12),transparent 70%),var(--fc-surface-2,#1a0d0b);
  flex-shrink:0;
}
.fc-home-conv-card-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.48));
  pointer-events:none;
}
.fc-home-conv-card-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) brightness(.92);
  transition:transform .6s ease,filter .6s ease;
}
.fc-home-conv-card:hover .fc-home-conv-card-cover img{
  transform:scale(1.05);
  filter:saturate(1) brightness(1);
}
.fc-home-conv-card-body{
  padding:20px 22px 22px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1 1 auto;
}
.fc-home-conv-card-badges{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.fc-home-conv-card-title{
  margin:4px 0 0;
  color:var(--fc-text-strong,#fff7f6);
  font-family:Montserrat,Inter,system-ui,sans-serif;
  font-size:clamp(17px,1.5vw,21px);
  font-weight:900;
  letter-spacing:-.025em;
  line-height:1.18;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.fc-home-conv-card-summary{
  margin:0;
  color:var(--fc-muted);
  font-size:13px;
  line-height:1.58;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.fc-home-conv-card-meta{
  display:flex;
  align-items:center;
  gap:4px;
  margin:auto 0 0;
  padding-top:10px;
  border-top:1px solid var(--fc-line);
  color:var(--fc-muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.fc-home-conv-card-meta-icon{
  font-size:14px;
  flex-shrink:0;
  vertical-align:middle;
}
.fc-home-convocations-cta{
  display:flex;
  justify-content:center;
  margin-top:48px;
}
.fc-section-cta{
  color:var(--fc-text);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
  transition:color .15s;
}
.fc-section-cta:hover{color:var(--fc-red)}
@media(max-width:1100px){
  .fc-home-convocations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .fc-home-convocations{padding:56px 0 64px}
  .fc-home-convocations-grid{grid-template-columns:1fr}
}

/* ════ Bloque comercial "campus" en la home pública (partials/public/campus-plans) ════ */
.fc-campus-section{
  background:linear-gradient(160deg,var(--fc-glass-strong),var(--fc-glass-soft));
  border:1px solid var(--fc-line-strong);
  border-radius:var(--fc-radius-xl);
  box-shadow:var(--fc-shadow);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.fc-campus-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.fc-campus-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.fc-campus-card{
  display:flex;
  flex-direction:column;
  padding:22px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--fc-line);
  border-radius:var(--fc-radius-lg);
  box-shadow:0 12px 32px rgba(0,0,0,.22);
  transition:border-color .18s ease,transform .2s ease,box-shadow .2s ease;
}
.fc-campus-card:hover{
  border-color:var(--fc-yellow);
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(0,0,0,.3);
}
.fc-campus-card-recommended{
  border-color:var(--fc-yellow);
  box-shadow:0 0 0 1px var(--fc-yellow),0 18px 44px rgba(0,0,0,.3);
}
@media(max-width:1100px){
  .fc-campus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .fc-campus-grid{grid-template-columns:1fr}
  .fc-campus-section{padding:32px 20px!important}
}

.fc-talent-action{
  margin-top:18px;
}

.fc-error-state .fc-public-empty{
  width:min(100%,560px);
  padding:42px;
  border-radius:var(--fc-radius-xl);
}

.fc-error-state .text-error{
  color:var(--fc-red)!important;
}

.fc-panel-empty{
  background:transparent!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
}

.fc-panel-empty p,
.fc-panel-empty .text-on-surface-variant{
  color:var(--fc-muted)!important;
}

/* Phase 4 student Liquid Glass */
.fc-student-liquid{
  background:
    radial-gradient(circle at 74% 8%, rgba(242,7,22,.14), transparent 30%),
    radial-gradient(circle at 12% 2%, rgba(240,172,61,.08), transparent 28%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg))!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-student-liquid{
  background:
    radial-gradient(circle at 72% 8%, rgba(242,7,22,.08), transparent 30%),
    radial-gradient(circle at 12% 2%, rgba(240,172,61,.14), transparent 30%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg))!important;
}

.fc-student-liquid .fc-panel{
  background:transparent!important;
  color:var(--fc-text)!important;
}

.fc-student-liquid .fc-panel-card,
.fc-student-liquid .fc-panel-metric,
.fc-student-liquid .fc-card,
.fc-student-liquid .fc-work-step-panel,
.fc-student-liquid .fc-work-preview-card,
.fc-student-liquid .fc-team-editor-card,
.fc-student-liquid .fc-review-summary-grid article,
.fc-student-liquid .fc-rights-review-block,
.fc-student-liquid .fc-profile-form-card,
.fc-student-liquid .fc-profile-preview-card,
.fc-student-liquid .fc-profile-tip-card,
.fc-student-liquid .fc-editor-card{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.fc-student-liquid .fc-panel-hero,
.fc-student-liquid .fc-upload-hero,
.fc-student-liquid .fc-editor-top,
.fc-student-liquid .fc-profile-hero{
  border-color:var(--fc-line)!important;
}

.fc-student-liquid .fc-page-title,
.fc-student-liquid .fc-panel-hero h1,
.fc-student-liquid .fc-panel-card-title,
.fc-student-liquid .fc-upload-hero h1,
.fc-student-liquid .fc-work-panel-head h2,
.fc-student-liquid .fc-work-preview-card h3,
.fc-student-liquid .fc-editor-title,
.fc-student-liquid .fc-editor-section-title,
.fc-student-liquid .fc-editor-right-title,
.fc-student-liquid .fc-profile-title,
.fc-student-liquid .fc-profile-preview-name,
.fc-student-liquid .fc-profile-tip-title{
  color:var(--fc-text-strong)!important;
}

.fc-student-liquid .fc-panel-hero p,
.fc-student-liquid .fc-panel-card-sub,
.fc-student-liquid .fc-body-sm,
.fc-student-liquid .fc-upload-hero p:not(.fc-kicker),
.fc-student-liquid .fc-work-panel-head small,
.fc-student-liquid .fc-wizard-note,
.fc-student-liquid .fc-work-preview-card p,
.fc-student-liquid .fc-editor-subtitle,
.fc-student-liquid .fc-editor-section-copy,
.fc-student-liquid .fc-editor-help,
.fc-student-liquid .fc-editor-right-copy,
.fc-student-liquid .fc-editor-check,
.fc-student-liquid .fc-profile-subtitle,
.fc-student-liquid .fc-profile-tip-copy,
.fc-student-liquid .fc-profile-footer{
  color:var(--fc-muted)!important;
}

.fc-student-liquid .fc-input,
.fc-student-liquid .fc-editor-input,
.fc-student-liquid .fc-editor-select,
.fc-student-liquid .fc-editor-textarea,
.fc-student-liquid .fc-profile-input,
.fc-student-liquid .fc-profile-textarea{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

.fc-student-liquid .fc-input:focus,
.fc-student-liquid .fc-editor-input:focus,
.fc-student-liquid .fc-editor-select:focus,
.fc-student-liquid .fc-editor-textarea:focus,
.fc-student-liquid .fc-profile-input:focus,
.fc-student-liquid .fc-profile-textarea:focus{
  border-color:var(--fc-red)!important;
  box-shadow:0 0 0 3px rgba(242,7,22,.16)!important;
}

.fc-student-liquid .fc-work-stepper{
  background:var(--fc-glass-strong)!important;
  border-color:var(--fc-line)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.fc-student-liquid .fc-work-stepper-item{
  border-color:var(--fc-line)!important;
  color:var(--fc-muted)!important;
}

.fc-student-liquid .fc-work-stepper-item.is-active{
  background:linear-gradient(180deg,rgba(242,7,22,.16),rgba(255,255,255,.02))!important;
  color:var(--fc-text-strong)!important;
}

.fc-student-liquid .fc-work-stepper-item.is-active span,
.fc-student-liquid .fc-wizard-next,
.fc-student-liquid .fc-wizard-submit,
.fc-student-liquid .fc-editor-primary,
.fc-student-liquid .fc-profile-save,
.fc-student-liquid .fc-profile-link-btn.primary{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:var(--fc-text-strong)!important;
  box-shadow:var(--fc-glow-red)!important;
}

.fc-student-liquid .fc-wizard-prev,
.fc-student-liquid .fc-wizard-soft-button,
.fc-student-liquid .fc-editor-back,
.fc-student-liquid .fc-editor-outline,
.fc-student-liquid .fc-editor-danger,
.fc-student-liquid .fc-profile-link-btn{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

.fc-student-liquid .fc-editor-secondary{
  background:var(--fc-yellow)!important;
  border-color:var(--fc-yellow)!important;
  color:var(--fc-on-yellow)!important;
}

.fc-student-liquid .fc-editor-alert,
.fc-student-liquid .fc-panel-notice{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-red)!important;
  color:var(--fc-text)!important;
}

.fc-student-liquid .fc-editor-alert--warning{
  border-left-color:var(--fc-yellow)!important;
}

.fc-student-liquid .fc-editor-alert--warning .material-symbols-outlined{
  color:var(--fc-yellow)!important;
}

.fc-student-liquid .fc-editor-index,
.fc-student-liquid .fc-editor-label,
.fc-student-liquid .fc-editor-credit-role,
.fc-student-liquid .fc-editor-progress-row strong,
.fc-student-liquid .fc-profile-label,
.fc-student-liquid .fc-profile-side-title{
  color:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
}

.fc-student-liquid .fc-editor-credit-item,
.fc-student-liquid .fc-profile-stat{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line)!important;
}

.fc-student-liquid .fc-editor-poster-wrap,
.fc-student-liquid .fc-work-preview-poster,
.fc-student-liquid .fc-profile-avatar{
  background-color:var(--fc-bg-soft)!important;
  border-color:var(--fc-line)!important;
}

.fc-student-liquid .fc-editor-gradient{
  background:linear-gradient(0deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.16) 58%,transparent 100%)!important;
}

[data-theme="light"] .fc-student-liquid .fc-editor-gradient{
  background:linear-gradient(0deg,rgba(24,11,8,.68) 0%,rgba(24,11,8,.14) 62%,transparent 100%)!important;
}

.fc-student-liquid .fc-editor-placeholder{
  background:
    radial-gradient(circle at center, rgba(242,7,22,.16), transparent 48%),
    var(--fc-bg-soft)!important;
  color:var(--fc-red)!important;
}

.fc-student-liquid .fc-editor-preview-badge{
  background:var(--fc-glass-strong)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text-strong)!important;
}

.fc-student-liquid .fc-editor-progress{
  background:var(--fc-surface-3)!important;
}

.fc-student-liquid .fc-editor-muted-meta,
.fc-student-liquid .fc-profile-stat span{
  color:var(--fc-muted)!important;
}

.fc-student-liquid .fc-profile-hire{
  background:rgba(38,211,109,.18)!important;
  border:1px solid rgba(38,211,109,.34);
  color:var(--fc-green)!important;
}

.fc-student-liquid .fc-profile-role-badge{
  background:rgba(242,7,22,.12)!important;
  color:var(--fc-red)!important;
  border:1px solid rgba(242,7,22,.24);
}

.fc-line-clamp-3{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}

/* Industry Liquid Glass */
.fc-industry-liquid{
  background:
    radial-gradient(circle at 76% 6%, rgba(60,120,255,.11), transparent 30%),
    radial-gradient(circle at 10% 3%, rgba(120,60,220,.08), transparent 28%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg))!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-industry-liquid{
  background:
    radial-gradient(circle at 76% 6%, rgba(60,120,255,.07), transparent 30%),
    radial-gradient(circle at 10% 3%, rgba(120,60,220,.05), transparent 28%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg))!important;
}

.fc-industry-liquid .fc-panel{
  background:transparent!important;
  color:var(--fc-text)!important;
}

.fc-industry-liquid .fc-panel-card,
.fc-industry-liquid .fc-panel-metric,
.fc-industry-liquid .fc-card{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.fc-industry-liquid .fc-panel-card-title{
  color:var(--fc-text-strong)!important;
}

.fc-industry-liquid .fc-panel-notice{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.fc-industry-liquid .fc-input,
.fc-industry-liquid input,
.fc-industry-liquid select,
.fc-industry-liquid textarea{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

.fc-industry-liquid .fc-input:focus,
.fc-industry-liquid input:focus,
.fc-industry-liquid select:focus,
.fc-industry-liquid textarea:focus{
  border-color:var(--fc-primary)!important;
  box-shadow:0 0 0 3px rgba(242,7,22,.16)!important;
}

/* Phase 5 university Liquid Glass */
.fc-university-liquid{
  background:
    radial-gradient(circle at 78% 8%, rgba(94,160,255,.12), transparent 30%),
    radial-gradient(circle at 14% 4%, rgba(242,7,22,.11), transparent 30%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg))!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-university-liquid{
  background:
    radial-gradient(circle at 78% 8%, rgba(94,160,255,.16), transparent 32%),
    radial-gradient(circle at 14% 4%, rgba(242,7,22,.07), transparent 30%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg))!important;
}

[data-theme="light"] .fc-university-liquid .fc-panel-btn--ghost,
[data-theme="light"] .fc-university-liquid .fc-mod-stitch-btn.ghost{
  background:rgba(0,0,0,.06)!important;
  border:1px solid var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
  box-shadow:none!important;
}

.fc-university-liquid .fc-panel{
  background:transparent!important;
  color:var(--fc-text)!important;
}

.fc-university-liquid .fc-panel-card,
.fc-university-liquid .fc-panel-metric,
.fc-university-liquid .fc-card,
.fc-university-liquid .fc-mod-stitch-glass,
.fc-university-liquid .fc-mod-stitch-card,
.fc-university-liquid .fc-mod-stitch-extra-card{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.fc-university-liquid .fc-panel-hero,
.fc-university-liquid .fc-panel-tabs,
.fc-university-liquid .fc-mod-stitch-title-row{
  border-color:var(--fc-line)!important;
}

.fc-university-liquid .fc-panel-hero h1,
.fc-university-liquid .fc-panel-card-title,
.fc-university-liquid .fc-metric-number,
.fc-university-liquid .fc-mod-stitch-title,
.fc-university-liquid .fc-mod-stitch-card h3,
.fc-university-liquid .fc-mod-stitch-check strong,
.fc-university-liquid .fc-mod-stitch-spec dd,
.fc-university-liquid .fc-mod-stitch-extra-card strong{
  color:var(--fc-text-strong)!important;
}

.fc-university-liquid .fc-panel-hero p,
.fc-university-liquid .fc-panel-card-sub,
.fc-university-liquid .fc-panel-help,
.fc-university-liquid .fc-table-cell--muted,
.fc-university-liquid .fc-mod-stitch-meta,
.fc-university-liquid .fc-mod-stitch-feedback-footer,
.fc-university-liquid .fc-mod-stitch-check small,
.fc-university-liquid .fc-mod-stitch-spec dt,
.fc-university-liquid .fc-mod-stitch-action-note,
.fc-university-count{
  color:var(--fc-muted)!important;
}

.fc-university-liquid .fc-panel-field input,
.fc-university-liquid .fc-panel-field select,
.fc-university-liquid .fc-panel-field textarea,
.fc-university-liquid .fc-mod-stitch-feedback textarea{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

.fc-university-liquid .fc-panel-field input:focus,
.fc-university-liquid .fc-panel-field select:focus,
.fc-university-liquid .fc-panel-field textarea:focus,
.fc-university-liquid .fc-mod-stitch-feedback textarea:focus{
  border-color:var(--fc-red)!important;
  box-shadow:0 0 0 3px rgba(242,7,22,.16)!important;
}

.fc-university-liquid .fc-panel-btn,
.fc-university-liquid .fc-panel-cta,
.fc-university-liquid .fc-mod-stitch-btn.primary{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:var(--fc-text-strong)!important;
  box-shadow:var(--fc-glow-red)!important;
}

.fc-university-liquid .fc-panel-btn--ghost,
.fc-university-liquid .fc-mod-stitch-btn.ghost,
.fc-university-liquid .fc-mod-stitch-btn.outline-primary{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
  box-shadow:none!important;
}

.fc-university-liquid .fc-mod-stitch-btn.yellow,
.fc-university-invite-status--pending{
  background:rgba(240,172,61,.14)!important;
  border-color:rgba(240,172,61,.42)!important;
  color:var(--fc-yellow)!important;
}

.fc-university-invite-status--accepted{
  background:rgba(38,211,109,.14)!important;
  border:1px solid rgba(38,211,109,.4)!important;
  color:var(--fc-green)!important;
}

.fc-university-invite-status--expired{
  background:var(--fc-glass-soft)!important;
  border:1px solid var(--fc-line)!important;
  color:var(--fc-muted)!important;
}

.fc-university-card-head-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:16px;
}

.fc-panel-card-body--tight{
  padding-top:16px!important;
}

.fc-university-action-grid{
  display:grid;
  gap:12px;
}

.fc-table-actions{
  text-align:right;
}

.fc-university-work-cell{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.fc-university-work-thumb{
  width:52px;
  height:34px;
  object-fit:cover;
  flex-shrink:0;
  opacity:.78;
  border:1px solid var(--fc-line);
  border-radius:var(--fc-radius-sm);
}

.fc-university-profile-form{
  max-width:880px;
}

.fc-university-save{
  min-height:58px;
}

.fc-university-moderation .fc-mod-stitch-status{
  background:var(--fc-red)!important;
  color:var(--fc-text-strong)!important;
}

.fc-university-moderation .fc-mod-stitch-badge{
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

.fc-university-moderation .fc-mod-stitch-badge.gold{
  background:var(--fc-yellow)!important;
  border-color:var(--fc-yellow)!important;
  color:var(--fc-on-yellow)!important;
}

.fc-university-moderation .fc-mod-stitch-action-note{
  grid-column:1/-1;
  margin:0;
  text-align:center;
  font-size:12px;
  line-height:1.5;
}

/* Phase 6 admin general Liquid Glass */
.fc-admin-liquid{
  background:
    radial-gradient(circle at 82% 6%, rgba(242,7,22,.13), transparent 30%),
    radial-gradient(circle at 10% 4%, rgba(240,172,61,.1), transparent 28%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg))!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-liquid{
  background:
    radial-gradient(circle at 82% 6%, rgba(242,7,22,.08), transparent 30%),
    radial-gradient(circle at 10% 4%, rgba(240,172,61,.14), transparent 30%),
    linear-gradient(180deg,var(--fc-bg),var(--fc-body-bg))!important;
}

.fc-admin-liquid .fc-panel,
.fc-admin-liquid.fc-admin-layout,
.fc-admin-liquid .fc-admin-main{
  background:transparent!important;
  color:var(--fc-text)!important;
}

.fc-admin-liquid .fc-card,
.fc-admin-liquid .fc-panel-card,
.fc-admin-liquid .fc-panel-metric,
.fc-admin-liquid .fc-table-wrapper,
.fc-admin-liquid .fc-empty-state,
.fc-admin-liquid .fc-admin-users-table-card,
.fc-admin-liquid .fc-admin-users-create,
.fc-admin-liquid .fc-admin-row-panel,
.fc-admin-liquid .fc-mod-stitch-glass,
.fc-admin-liquid .fc-mod-stitch-card,
.fc-admin-liquid .fc-mod-stitch-extra-card{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.fc-admin-liquid .fc-panel-hero,
.fc-admin-liquid .fc-panel-tabs,
.fc-admin-liquid .fc-admin-users-tabs,
.fc-admin-liquid .fc-admin-users-topbar,
.fc-admin-liquid .fc-mod-stitch-title-row{
  border-color:var(--fc-line)!important;
}

.fc-admin-liquid .fc-page-title,
.fc-admin-liquid .fc-panel-hero h1,
.fc-admin-liquid .fc-panel-card-title,
.fc-admin-liquid .fc-admin-title,
.fc-admin-liquid .fc-admin-users-hero h1,
.fc-admin-liquid .fc-admin-users-create h2,
.fc-admin-liquid .fc-admin-user-identity strong,
.fc-admin-liquid .fc-admin-activity strong,
.fc-admin-liquid .fc-mod-stitch-title,
.fc-admin-liquid .fc-mod-stitch-card h3,
.fc-admin-liquid .fc-mod-stitch-check strong,
.fc-admin-liquid .fc-mod-stitch-spec dd,
.fc-admin-liquid .fc-mod-stitch-extra-card strong{
  color:var(--fc-text-strong)!important;
}

.fc-admin-liquid .fc-panel-hero p,
.fc-admin-liquid .fc-panel-card-sub,
.fc-admin-liquid .fc-admin-subtitle,
.fc-admin-liquid .fc-admin-users-hero p,
.fc-admin-liquid .fc-admin-users-admin-card small,
.fc-admin-liquid .fc-admin-user-identity small,
.fc-admin-liquid .fc-admin-users-table small,
.fc-admin-liquid .fc-admin-users-create p,
.fc-admin-liquid .fc-admin-row-panel p,
.fc-admin-liquid .fc-admin-users-pagination,
.fc-admin-liquid .fc-mod-stitch-meta,
.fc-admin-liquid .fc-mod-stitch-feedback-footer,
.fc-admin-liquid .fc-mod-stitch-check small,
.fc-admin-liquid .fc-mod-stitch-spec dt,
.fc-admin-liquid .fc-mod-stitch-action-note{
  color:var(--fc-muted)!important;
}

.fc-admin-liquid .fc-input,
.fc-admin-liquid .fc-select-sm,
.fc-admin-liquid .fc-input-sm,
.fc-admin-liquid input,
.fc-admin-liquid select,
.fc-admin-liquid textarea,
.fc-admin-liquid .fc-mod-stitch-feedback textarea{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

.fc-admin-liquid input:focus,
.fc-admin-liquid select:focus,
.fc-admin-liquid textarea:focus,
.fc-admin-liquid .fc-mod-stitch-feedback textarea:focus{
  border-color:var(--fc-red)!important;
  box-shadow:0 0 0 3px rgba(242,7,22,.16)!important;
}

.fc-admin-liquid .fc-btn-primary,
.fc-admin-liquid .fc-btn--primary,
.fc-admin-liquid .fc-panel-btn,
.fc-admin-liquid .fc-panel-cta,
.fc-admin-liquid .fc-admin-users-invite,
.fc-admin-liquid .fc-admin-users-create button,
.fc-admin-liquid .fc-mod-stitch-btn.primary{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:var(--fc-text-strong)!important;
  box-shadow:var(--fc-glow-red)!important;
}

.fc-admin-liquid .fc-btn-ghost,
.fc-admin-liquid .fc-btn--ghost,
.fc-admin-liquid .fc-panel-btn--ghost,
.fc-admin-liquid .fc-admin-users-tool,
.fc-admin-liquid .fc-mod-stitch-btn.ghost,
.fc-admin-liquid .fc-mod-stitch-btn.outline-primary{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
  box-shadow:none!important;
}

.fc-admin-liquid .fc-btn--secondary,
.fc-admin-liquid .fc-mod-stitch-btn.yellow{
  background:var(--fc-yellow)!important;
  border-color:var(--fc-yellow)!important;
  color:var(--fc-on-yellow)!important;
}

.fc-admin-liquid .fc-table,
.fc-admin-liquid .fc-panel-table,
.fc-admin-liquid .fc-admin-users-table{
  color:var(--fc-text)!important;
}

.fc-admin-liquid .fc-table th,
.fc-admin-liquid .fc-panel-table th,
.fc-admin-liquid .fc-admin-users-table th{
  background:var(--fc-glass-soft)!important;
  color:var(--fc-muted)!important;
  border-color:var(--fc-line)!important;
}

.fc-admin-liquid .fc-table td,
.fc-admin-liquid .fc-panel-table td,
.fc-admin-liquid .fc-admin-users-table td{
  border-color:var(--fc-line)!important;
}

.fc-admin-liquid .fc-admin-users-table tr:nth-child(even) td,
.fc-admin-liquid tr:hover td,
.fc-admin-liquid .hover\:bg-surface-container-high:hover{
  background:rgba(255,255,255,.035)!important;
}

.fc-admin-liquid .fc-admin-users-table tr.is-suspended td{
  background:rgba(242,7,22,.08)!important;
}

.fc-admin-logo-thumb,
.fc-admin-liquid .fc-admin-user-avatar,
.fc-admin-liquid .fc-admin-users-avatar-small{
  background:var(--fc-surface-lowest)!important;
  border:1px solid var(--fc-line)!important;
}

.fc-admin-profile-summary{
  text-align:center;
  padding-top:34px!important;
}

.fc-admin-avatar-inline{
  display:inline-block;
}

.fc-admin-profile-avatar{
  width:84px!important;
  height:84px!important;
  font-size:26px!important;
}

.fc-admin-profile-name{
  margin-top:18px!important;
}

.fc-admin-profile-bio{
  margin-top:14px!important;
  text-align:left;
}

.fc-admin-narrow-form{
  max-width:880px;
}

.fc-admin-empty-cell{
  text-align:center;
  padding:44px!important;
  color:var(--fc-muted)!important;
}

/* Gestión de usuarios - modo claro Liquid Glass */
[data-theme="light"] .fc-admin-users-page{
  background:var(--fc-body-bg)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-sidenav{
  background:var(--fc-sidebar-bg)!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-sidenav nav a:not(.bg-primary-container):not([aria-current="page"]){
  color:var(--fc-muted)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-sidenav nav a:not(.bg-primary-container):not([aria-current="page"]):hover{
  background:var(--fc-glass-soft)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-panel,
[data-theme="light"] .fc-admin-users-page .fc-panel-content{
  background:transparent!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-tabs{
  border-color:var(--fc-line)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-tabs a:not(.active):not([aria-selected="true"]){
  color:var(--fc-label)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-filter-form select,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-tool{
  background:var(--fc-glass-strong)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
  box-shadow:none!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[type="search"],
[data-theme="light"] .fc-admin-users-page .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input[name="q"],
[data-theme="light"] .fc-admin-users-page .fc-admin-users-filter-form select{
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search .material-symbols-outlined{
  color:var(--fc-label)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-filter-form .fc-users-filter-search.fc-admin-users-search input::placeholder,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-create input::placeholder,
[data-theme="light"] .fc-admin-users-page .fc-admin-row-pass input::placeholder{
  color:var(--fc-placeholder)!important;
  opacity:1!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-table-card,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-create,
[data-theme="light"] .fc-admin-users-page .fc-admin-row-panel{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-table th{
  background:var(--fc-glass-soft)!important;
  color:var(--fc-label)!important;
  border-color:var(--fc-line)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-table td{
  background:transparent!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-table tr:nth-child(even) td{
  background:rgba(31,21,20,.035)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-table tr.is-suspended td{
  background:rgba(198,19,36,.08)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-pagination{
  background:var(--fc-glass-soft)!important;
  border-top:1px solid var(--fc-line)!important;
  color:var(--fc-muted)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-pagination strong,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-pages a,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-pages span:not(.active){
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-pages a,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-pages span{
  border-color:var(--fc-line)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-pages .active,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-tabs a.active,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-tabs a[aria-selected="true"],
[data-theme="light"] .fc-admin-users-page .fc-admin-users-create button{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:#fff!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-user-identity strong,
[data-theme="light"] .fc-admin-users-page .fc-admin-activity strong,
[data-theme="light"] .fc-admin-users-page .fc-admin-row-panel h3,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-create h2{
  color:var(--fc-text-strong)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-admin-card small,
[data-theme="light"] .fc-admin-users-page .fc-admin-user-identity small,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-table small,
[data-theme="light"] .fc-admin-users-page .fc-admin-row-panel p,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-create p{
  color:var(--fc-muted)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-create label{
  color:var(--fc-label)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-users-create input,
[data-theme="light"] .fc-admin-users-page .fc-admin-users-create select,
[data-theme="light"] .fc-admin-users-page .fc-admin-row-pass input{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-role-badge{
  background:rgba(198,19,36,.08)!important;
  border-color:rgba(198,19,36,.36)!important;
  color:var(--fc-red)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-role-badge.university,
[data-theme="light"] .fc-admin-users-page .fc-admin-role-badge.visitor{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-role-badge.admin{
  background:rgba(184,134,11,.12)!important;
  border-color:rgba(184,134,11,.42)!important;
  color:var(--fc-yellow)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-row-action,
[data-theme="light"] .fc-admin-users-page .fc-admin-row-action summary,
[data-theme="light"] .fc-admin-users-page .fc-admin-row-edit,
[data-theme="light"] .fc-admin-users-page .fc-admin-row-actions button{
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-row-edit,
[data-theme="light"] .fc-admin-users-page .fc-admin-row-actions button{
  background:transparent!important;
  border:none!important;
}

[data-theme="light"] .fc-admin-users-page .fc-admin-row-actions button.danger{
  border-color:rgba(198,19,36,.48)!important;
  color:var(--fc-danger)!important;
}

.fc-admin-works .fc-panel-tabs{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 18px!important;
  padding:0!important;
  border-bottom:0!important;
  background:transparent!important;
  overflow-x:visible!important;
  scrollbar-width:none;
}

.fc-admin-works .fc-panel-tabs::-webkit-scrollbar{
  display:none;
}

.fc-admin-works .fc-panel-tabs a{
  flex:0 0 auto;
  min-height:34px!important;
  padding:0 13px!important;
  border:1px solid var(--fc-line-strong)!important;
  background:var(--fc-glass-soft)!important;
  color:var(--fc-text)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}

.fc-admin-works .fc-panel-tabs a.active,
.fc-admin-works .fc-panel-tabs a[aria-current="page"]{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:#fff!important;
}

@media(max-width:760px){
  .fc-admin-works .fc-panel-tabs{
    overflow-x:auto!important;
    padding-bottom:2px!important;
    margin-right:-18px!important;
    -webkit-overflow-scrolling:touch;
  }
}

.fc-admin-users-page .fc-panel-tabs{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 18px!important;
  padding:0!important;
  border-bottom:0!important;
  background:transparent!important;
  overflow-x:visible!important;
  scrollbar-width:none;
}
.fc-admin-users-page .fc-panel-tabs::-webkit-scrollbar{
  display:none;
}
.fc-admin-users-page .fc-panel-tabs a{
  flex:0 0 auto;
  min-height:34px!important;
  padding:0 13px!important;
  border:1px solid var(--fc-line-strong)!important;
  background:var(--fc-glass-soft)!important;
  color:var(--fc-text)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  border-radius:999px!important;
  text-transform:uppercase!important;
  font-weight:700!important;
}
.fc-admin-users-page .fc-panel-tabs a.active,
.fc-admin-users-page .fc-panel-tabs a[aria-selected="true"]{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:#fff!important;
}
@media(max-width:760px){
  .fc-admin-users-page .fc-panel-tabs{
    overflow-x:auto!important;
    padding-bottom:2px!important;
    margin-right:-18px!important;
    -webkit-overflow-scrolling:touch;
  }
}

.fc-admin-actions-cell{
  position:relative;
}

.fc-admin-form-card{
  border-color:var(--fc-line)!important;
}

.fc-admin-moderation .fc-mod-stitch-status{
  background:var(--fc-red)!important;
  color:var(--fc-text-strong)!important;
}

.fc-admin-moderation .fc-mod-stitch-badge{
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

.fc-admin-moderation .fc-mod-stitch-badge.gold{
  background:var(--fc-yellow)!important;
  border-color:var(--fc-yellow)!important;
  color:var(--fc-on-yellow)!important;
}

.fc-admin-moderation .fc-mod-stitch-action-note{
  grid-column:1/-1;
  margin:0;
  text-align:center;
  font-size:12px;
  line-height:1.5;
}

/* Light-mode contrast fixes for upload wizard and Liquid Glass controls */
[data-theme="light"] .fc-upload-wizard-shell .fc-main{
  background:
    radial-gradient(circle at 74% 0%, rgba(198,19,36,.1), transparent 36%),
    linear-gradient(180deg, var(--fc-bg) 0%, var(--fc-body-bg) 58%, var(--fc-bg-2) 100%)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-upload-hero h1,
[data-theme="light"] .fc-upload-wizard-shell .fc-work-panel-head h2,
[data-theme="light"] .fc-upload-wizard-shell .fc-work-preview-card h3,
[data-theme="light"] .fc-upload-wizard-shell .fc-upload-media-drop h3,
[data-theme="light"] .fc-upload-wizard-shell .fc-review-summary-grid strong,
[data-theme="light"] .fc-upload-wizard-shell .fc-rights-review-block h3{
  color:var(--fc-text-strong)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-upload-hero p:not(.fc-kicker),
[data-theme="light"] .fc-upload-wizard-shell .fc-work-panel-head small,
[data-theme="light"] .fc-upload-wizard-shell .fc-upload-media-drop p,
[data-theme="light"] .fc-upload-wizard-shell .fc-wizard-note,
[data-theme="light"] .fc-upload-wizard-shell .fc-wizard-submit-note,
[data-theme="light"] .fc-upload-wizard-shell .fc-review-summary-grid p,
[data-theme="light"] .fc-upload-wizard-shell .fc-rights-review-block p,
[data-theme="light"] .fc-upload-wizard-shell .fc-work-preview-card p,
[data-theme="light"] .fc-upload-wizard-shell .fc-quality-list li,
[data-theme="light"] .fc-upload-wizard-shell .fc-work-preview-meta span{
  color:var(--fc-muted)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-work-panel-head p,
[data-theme="light"] .fc-upload-wizard-shell .fc-review-summary-grid span,
[data-theme="light"] .fc-upload-wizard-shell .fc-label{
  color:var(--fc-label)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-upload-hero-mark{
  color:rgba(87,58,50,.08)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-work-step-panel,
[data-theme="light"] .fc-upload-wizard-shell .fc-work-preview-card,
[data-theme="light"] .fc-upload-wizard-shell .fc-team-editor-card,
[data-theme="light"] .fc-upload-wizard-shell .fc-review-summary-grid article,
[data-theme="light"] .fc-upload-wizard-shell .fc-rights-review-block,
[data-theme="light"] .fc-upload-wizard-shell .fc-upload-media-drop,
[data-theme="light"] .fc-upload-wizard-shell .fc-check{
  background:linear-gradient(145deg, var(--fc-glass-strong), var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-upload-media-drop{
  border-color:var(--fc-line-strong)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-input{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-input::placeholder{
  color:var(--fc-placeholder)!important;
  opacity:1;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-work-stepper{
  background:var(--fc-glass-strong)!important;
  border-color:var(--fc-line)!important;
  box-shadow:var(--fc-shadow)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-work-stepper-item{
  border-color:var(--fc-line)!important;
  color:var(--fc-muted)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-work-stepper-item span{
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-label)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-work-stepper-item.is-active{
  background:linear-gradient(180deg, rgba(198,19,36,.12), rgba(255,255,255,.34))!important;
  color:var(--fc-text-strong)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-work-stepper-item.is-active span,
[data-theme="light"] .fc-upload-wizard-shell .fc-work-stepper-item.is-complete span{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:#fff!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-work-preview-poster{
  background-color:var(--fc-surface-2)!important;
  border-color:var(--fc-line)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-work-preview-poster span{
  color:var(--fc-subtle)!important;
}

[data-theme="light"] .fc-upload-wizard-shell .fc-wizard-prev,
[data-theme="light"] .fc-upload-wizard-shell .fc-wizard-soft-button{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-student-liquid .fc-work-stepper-item.is-active span,
[data-theme="light"] .fc-student-liquid .fc-wizard-next,
[data-theme="light"] .fc-student-liquid .fc-wizard-submit,
[data-theme="light"] .fc-student-liquid .fc-editor-primary,
[data-theme="light"] .fc-student-liquid .fc-profile-save,
[data-theme="light"] .fc-student-liquid .fc-profile-link-btn.primary,
[data-theme="light"] .fc-university-liquid .fc-panel-btn,
[data-theme="light"] .fc-university-liquid .fc-panel-cta,
[data-theme="light"] .fc-admin-liquid .fc-panel-btn,
[data-theme="light"] .fc-admin-liquid .fc-panel-cta,
[data-theme="light"] .fc-btn--primary{
  color:#fff!important;
}

[data-theme="light"] .fc-university-liquid .fc-panel-btn--ghost{
  color:var(--fc-text)!important;
  background:rgba(0,0,0,.07)!important;
  border-color:var(--fc-line-strong)!important;
}

[data-theme="light"] .fc-university-liquid .fc-panel-btn--ghost:hover{
  background:rgba(229,9,20,.1)!important;
  border-color:var(--fc-red)!important;
  color:var(--fc-red)!important;
}

/* Light-mode public/shared contrast hardening */
[data-theme="light"] .fc-public-shell,
[data-theme="light"] .fc-public-section,
[data-theme="light"] .fc-home3-roles,
[data-theme="light"] .fc-home3-premieres,
[data-theme="light"] .fc-home3-final{
  background:var(--fc-body-bg)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-home3-hero{
  background:var(--fc-bg)!important;
}

[data-theme="light"] .fc-home3-hero-img{
  opacity:.38!important;
  filter:brightness(1.08) saturate(.92)!important;
}

[data-theme="light"] .fc-home3-hero-shade{
  background:
    linear-gradient(90deg,rgba(255,250,244,.94),rgba(255,250,244,.8) 50%,rgba(255,250,244,.36)),
    linear-gradient(180deg,rgba(255,250,244,.2),var(--fc-bg) 96%)!important;
}

[data-theme="light"] .fc-home3-title,
[data-theme="light"] .fc-home3-role h2,
[data-theme="light"] .fc-home3-section-head h2,
[data-theme="light"] .fc-home3-final h2,
[data-theme="light"] .fc-home3-premiere-card h3,
[data-theme="light"] .fc-public-shell h1,
[data-theme="light"] .fc-public-shell h2,
[data-theme="light"] .fc-public-shell h3,
[data-theme="light"] .fc-card-title{
  color:var(--fc-heading)!important;
  text-shadow:none!important;
}

[data-theme="light"] .fc-home3-lead,
[data-theme="light"] .fc-home3-role p,
[data-theme="light"] .fc-home3-final p,
[data-theme="light"] .fc-home3-premiere-card p,
[data-theme="light"] .fc-home3-rail a,
[data-theme="light"] .fc-home3-link,
[data-theme="light"] .fc-public-shell p,
[data-theme="light"] .fc-public-shell .text-on-surface-variant,
[data-theme="light"] .fc-mini-specs,
[data-theme="light"] .fc-mini-specs span{
  color:var(--fc-muted)!important;
}

[data-theme="light"] .fc-home3-link:hover,
[data-theme="light"] .fc-home3-rail a:hover{
  color:var(--fc-red)!important;
}

[data-theme="light"] .fc-public-sidebar,
[data-theme="light"] .fc-mobile-filters,
[data-theme="light"] .fc-public-empty,
[data-theme="light"] .fc-card:not(.fc-work-card),
[data-theme="light"] .fc-featured-work,
[data-theme="light"] .fc-preview-card,
[data-theme="light"] .fc-stat-card,
[data-theme="light"] .fc-metric-card{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow)!important;
}

[data-theme="light"] .fc-home3-rail{
  background:rgba(0,0,0,.04)!important;
  border-color:rgba(0,0,0,.06)!important;
  box-shadow:none!important;
}

/* Secciones que son a la vez fc-home3-container no deben recortar el fondo al max-width */
[data-theme="light"] .fc-home3-container.fc-public-section{
  background:transparent!important;
}

/* Eliminar borders duros entre secciones de la home */
.fc-home3-premieres{
  border-top:none!important;
  border-bottom:none!important;
}
.fc-home3-final{
  border-bottom:none!important;
}
.fc-home3-hero{
  border-bottom:none!important;
}

[data-theme="light"] .fc-home3-role,
[data-theme="light"] .fc-home3-role-wide{
  background:linear-gradient(145deg,var(--fc-card),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-home3-role img{
  opacity:.18!important;
  filter:grayscale(.15) brightness(1.08) saturate(.85)!important;
}

[data-theme="light"] .fc-home3-role-overlay{
  opacity:1!important;
  background:linear-gradient(90deg,rgba(255,250,246,.94),rgba(255,250,246,.84))!important;
}

.fc-home3-role img,
.fc-home3-role .fc-home3-role-overlay{
  transition:opacity .35s ease,filter .35s ease;
}

.fc-home3-role:hover img{
  opacity:1!important;
  filter:none!important;
}

[data-theme="light"] .fc-home3-role:hover img{
  opacity:.24!important;
  filter:grayscale(.1) brightness(1.05) saturate(.9)!important;
}

.fc-home3-role:hover .fc-home3-role-overlay{
  opacity:0!important;
}

[data-theme="light"] .fc-home3-role:hover .fc-home3-role-overlay{
  opacity:1!important;
}

[data-theme="light"] .fc-home3-premiere-poster,
[data-theme="light"] .fc-work-card{
  background:var(--fc-surface-2)!important;
  border-color:var(--fc-line)!important;
  color:#fff!important;
  box-shadow:var(--fc-shadow)!important;
}

[data-theme="light"] .fc-work-card img{
  opacity:.92!important;
  filter:saturate(.98) contrast(1.02)!important;
}

[data-theme="light"] .group:hover .fc-work-card img{
  opacity:.8!important;
}

[data-theme="light"] .film-card-gradient{
  background:linear-gradient(0deg,rgba(20,11,10,.82) 0%,rgba(20,11,10,.42) 48%,rgba(20,11,10,.08) 78%,transparent 100%)!important;
}

[data-theme="light"] .fc-token-gradient{
  background:
    linear-gradient(135deg,var(--fc-surface-3),var(--fc-surface-low)),
    radial-gradient(circle at 68% 18%, rgba(198,19,36,.12), transparent 38%)!important;
}

[data-theme="light"] .fc-work-card h3,
[data-theme="light"] .fc-work-card .text-on-background,
[data-theme="light"] .fc-work-card .text-on-surface-variant,
[data-theme="light"] .fc-work-card p{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.42)!important;
}

[data-theme="light"] .fc-work-card .fc-badge,
[data-theme="light"] .fc-work-card .bg-primary-container{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:#fff!important;
}

[data-theme="light"] .fc-tabs,
[data-theme="light"] .fc-panel-tabs,
[data-theme="light"] .fc-search,
[data-theme="light"] .fc-public-shell input,
[data-theme="light"] .fc-public-shell select,
[data-theme="light"] .fc-public-shell textarea{
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-public-shell .fc-explore-search-input,
[data-theme="light"] .fc-public-shell .fc-explore-search-input:focus,
[data-theme="light"] .fc-public-shell .fc-explore-search-input:focus-visible{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] .fc-tabs a,
[data-theme="light"] .fc-panel-tabs a,
[data-theme="light"] .fc-public-sidebar a,
[data-theme="light"] .fc-public-shell label{
  color:var(--fc-label)!important;
}

[data-theme="light"] .fc-admin-works .fc-panel-tabs{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
[data-theme="light"] .fc-admin-works .fc-panel-tabs a.active,
[data-theme="light"] .fc-admin-works .fc-panel-tabs a[aria-current="page"]{
  color:#fff!important;
}
[data-theme="light"] .fc-admin-users-page .fc-panel-tabs{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
[data-theme="light"] .fc-admin-users-page .fc-panel-tabs a{
  border-color:var(--fc-line-strong)!important;
  background:var(--fc-glass-soft)!important;
  color:var(--fc-label)!important;
}
[data-theme="light"] .fc-admin-users-page .fc-panel-tabs a.active,
[data-theme="light"] .fc-admin-users-page .fc-panel-tabs a[aria-selected="true"]{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:#fff!important;
}

[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder,
[data-theme="light"] .fc-public-shell input::placeholder,
[data-theme="light"] .fc-public-shell textarea::placeholder{
  color:var(--fc-placeholder)!important;
  opacity:1;
}

[data-theme="light"] .fc-public-shell .fc-explore-search-input::placeholder{
  color:var(--fc-placeholder)!important;
  opacity:1;
}

[data-theme="light"] .fc-nav,
[data-theme="light"] .glass-nav,
[data-theme="light"] .fc-footer,
[data-theme="light"] footer{
  background:var(--fc-glass-strong)!important;
  border-color:var(--fc-line)!important;
  color:var(--fc-text)!important;
}

#fc-mobile-drawer.glass-nav{
  background:rgba(32,14,12,.94)!important;
  border-color:var(--fc-line)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

[data-theme="light"] #fc-mobile-drawer.glass-nav{
  background:rgba(255,250,246,.94)!important;
}

/* Light theme adaptation for the shared cinematic player.
   Keeps HLS/session behavior untouched; only overrides visual chrome. */
:root[data-theme="light"] .fc-cinema-controls{
  border:1px solid var(--fc-line,var(--fc-border))!important;
  background:radial-gradient(circle at 24% 50%,rgba(198,19,36,.1),transparent 34%),rgba(255,250,246,.78)!important;
  box-shadow:0 18px 48px rgba(64,39,31,.18),0 0 18px rgba(198,19,36,.1)!important;
  color:var(--fc-text)!important;
  backdrop-filter:blur(24px)!important;
  -webkit-backdrop-filter:blur(24px)!important;
}

:root[data-theme="light"] .fc-cinema-control-btn,
:root[data-theme="light"] .fc-cinema-icon-btn,
:root[data-theme="light"] .fc-cinema-select-btn,
:root[data-theme="light"] .fc-cinema-time{
  color:var(--fc-muted)!important;
}

:root[data-theme="light"] .fc-cinema-control-btn:hover,
:root[data-theme="light"] .fc-cinema-control-btn:focus-visible,
:root[data-theme="light"] .fc-cinema-icon-btn:hover,
:root[data-theme="light"] .fc-cinema-icon-btn:focus-visible,
:root[data-theme="light"] .fc-cinema-select-btn:hover,
:root[data-theme="light"] .fc-cinema-select-btn:focus-visible,
:root[data-theme="light"] .fc-cinema-select.is-open .fc-cinema-select-btn{
  color:var(--fc-text-strong)!important;
  border-color:rgba(198,19,36,.44)!important;
  background:rgba(198,19,36,.08)!important;
  outline:none!important;
}

:root[data-theme="light"] .fc-cinema-select-btn{
  border:1px solid var(--fc-line,var(--fc-border))!important;
  background:rgba(255,255,255,.58)!important;
}

:root[data-theme="light"] .fc-cinema-select-menu{
  border:1px solid var(--fc-line,var(--fc-border))!important;
  background:rgba(255,250,246,.94)!important;
  box-shadow:0 20px 58px rgba(64,39,31,.18)!important;
}

:root[data-theme="light"] .fc-cinema-select-item{
  color:var(--fc-muted)!important;
}

:root[data-theme="light"] .fc-cinema-select-item:hover,
:root[data-theme="light"] .fc-cinema-select-item.is-active{
  background:rgba(198,19,36,.1)!important;
  color:var(--fc-text-strong)!important;
}

:root[data-theme="light"] .fc-cinema-overlay{
  background:linear-gradient(135deg,rgba(255,250,246,.66),rgba(255,250,246,.46))!important;
  color:var(--fc-text)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}

:root[data-theme="light"] .fc-cinema-overlay-card,
:root[data-theme="light"] .fc-cinema-resume-card{
  background:rgba(255,250,246,.92)!important;
  border:1px solid var(--fc-line,var(--fc-border))!important;
  box-shadow:0 24px 70px rgba(64,39,31,.2),0 0 20px rgba(198,19,36,.1)!important;
  color:var(--fc-text)!important;
  backdrop-filter:blur(24px)!important;
  -webkit-backdrop-filter:blur(24px)!important;
}

:root[data-theme="light"] .fc-cinema-overlay-card h3{
  color:var(--fc-heading)!important;
}

:root[data-theme="light"] .fc-cinema-overlay-card p{
  color:var(--fc-muted)!important;
}

:root[data-theme="light"] .fc-cinema-resume-primary{
  background:var(--fc-red)!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(198,19,36,.24)!important;
}

:root[data-theme="light"] .fc-cinema-resume-secondary{
  border:1px solid var(--fc-line,var(--fc-border))!important;
  background:rgba(255,255,255,.58)!important;
  color:var(--fc-text)!important;
}

/* Liquid Glass radius pass - visual only. Keeps markup, routes, forms and JS untouched. */
:where(.fc-btn,.fc-button,.fc-primary-action,.fc-landing-btn,.fc-landing-btn-primary,.fc-btn-primary,.fc-home3-btn,.fc-panel-btn,.fc-panel-cta,.fc-glass-button,.fc-theme-toggle,.fc-player-button,.fc-cinema-resume-primary,.fc-cinema-resume-secondary,.fc-wizard-next,.fc-wizard-prev,.fc-wizard-submit,.fc-wizard-soft-button,.fc-mod-stitch-btn,button[class*="fc-btn"],a[class*="fc-btn"]){
  border-radius:var(--fc-radius-pill)!important;
}

:where(.fc-btn--secondary,.fc-btn--ghost,.fc-ghost-action,.fc-landing-btn-ghost,.fc-btn-ghost,.fc-home3-btn-ghost,.fc-panel-btn--ghost,.fc-cinema-resume-secondary){
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
}

:where(.fc-badge,.fc-chip,.fc-chip-hot,.fc-tab,.fc-tabs a,.fc-tabs span[aria-current],.fc-panel-tabs a,.fc-panel-tabs span[aria-current],.fc-status-tabs a,.fc-filter-chip,.fc-status-badge,.fc-mod-status,.fc-mod-stitch-badge,.fc-home3-pill,.fc-mini-specs span,.fc-work-preview-meta span,.fc-role-badge,.fc-admin-role-badge){
  border-radius:var(--fc-radius-pill)!important;
}

:where(.fc-badge,.fc-chip,.fc-chip-hot,.fc-filter-chip,.fc-status-badge,.fc-home3-pill,.fc-mini-specs span,.fc-work-preview-meta span,.fc-role-badge,.fc-admin-role-badge){
  padding-inline:max(10px,.72em)!important;
}

:where(.fc-input,input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="number"],input[type="date"],select,textarea,.fc-panel-field input,.fc-panel-field select,.fc-panel-field textarea,.fc-search,.fc-panel-search){
  border-radius:var(--fc-radius-md)!important;
}

:where(.fc-search,.fc-panel-search){
  background:var(--fc-glass-soft)!important;
  border:1px solid var(--fc-line-strong)!important;
}

:where(.fc-search input,.fc-panel-search input,.fc-explore-search-input){
  border-radius:var(--fc-radius-pill)!important;
}

:where(.fc-card,.fc-panel,.fc-panel-card,.fc-auth-card,.fc-work-card,.fc-notification,.fc-flash,.fc-panel-notice,.fc-cinema-overlay-card,.fc-cinema-resume-card,.fc-cinema-info-panel,.fc-users-admin-card,.fc-users-create-card,.fc-users-table-card,.fc-empty-state,.fc-work-preview-card){
  border-radius:var(--fc-radius-lg)!important;
}

:where(.fc-notification,.fc-flash,.fc-panel-notice){
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line-strong)!important;
  box-shadow:var(--fc-shadow-card,var(--fc-shadow))!important;
  overflow:hidden;
}

:where(.fc-social-row span,.fc-social-link){
  width:32px!important;
  height:32px!important;
  border-radius:var(--fc-radius-pill)!important;
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
}

:where(.fc-cinema-resume-card){
  border-radius:var(--fc-radius-xl)!important;
}

:where(.fc-cinema-resume-primary,.fc-cinema-resume-secondary){
  border-radius:var(--fc-radius-pill)!important;
}

:where(.fc-cinema-overlay-icon,.fc-notification-close,.fc-btn--icon,.fc-cinema-control-btn,.fc-cinema-icon-btn,.fc-cinema-center-play){
  border-radius:var(--fc-radius-pill)!important;
}

:where(input[type="checkbox"]){
  border-radius:var(--fc-radius-xs)!important;
}

[data-theme="light"] :where(.fc-btn--secondary,.fc-btn--ghost,.fc-ghost-action,.fc-landing-btn-ghost,.fc-btn-ghost,.fc-home3-btn-ghost,.fc-panel-btn--ghost,.fc-cinema-resume-secondary,.fc-social-row span,.fc-social-link){
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
  color:var(--fc-text)!important;
}

[data-theme="light"] :where(.fc-notification,.fc-flash,.fc-panel-notice,.fc-auth-card,.fc-cinema-resume-card){
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border-color:var(--fc-line)!important;
  box-shadow:var(--fc-shadow-card,var(--fc-shadow))!important;
}

/* Form control spacing pass - visual only; preserves names, actions, CSRF and JS. */
:where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),.fc-input,.fc-form-control,.fc-panel-field input,.fc-admin-liquid input,.fc-student-liquid input,.fc-public-shell input,.fc-auth-screen input){
  padding-left:24px!important;
  padding-right:24px!important;
  text-indent:0!important;
}

:where(textarea,.fc-panel-field textarea,.fc-admin-liquid textarea,.fc-student-liquid textarea,.fc-public-shell textarea){
  padding:22px 24px!important;
  text-indent:0!important;
}

:where(select,.fc-panel-field select,.fc-admin-liquid select,.fc-student-liquid select,.fc-public-shell select){
  padding-left:24px!important;
  padding-right:52px!important;
  text-indent:0!important;
}

:where(.fc-search,.fc-panel-search,.fc-users-filter-search,.fc-admin-users-search,.fc-explore-search){
  padding-left:18px!important;
  padding-right:18px!important;
}

:where(.fc-search input,.fc-panel-search input,.fc-users-filter-search input,.fc-admin-users-search input){
  padding-left:24px!important;
  padding-right:24px!important;
}

.fc-public-shell .fc-explore-search-input,
.fc-public-shell .fc-explore-search-input:focus,
.fc-public-shell .fc-explore-search-input:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding-left:0!important;
  padding-right:0!important;
}

.fc-public-shell .fc-explore-filter-field select{
  padding-left:24px!important;
  padding-right:52px!important;
}

:where(input::placeholder,textarea::placeholder,.fc-input::placeholder,.fc-panel-search input::placeholder,.fc-panel-field input::placeholder,.fc-panel-field textarea::placeholder,.fc-public-shell input::placeholder,.fc-public-shell textarea::placeholder){
  color:var(--fc-placeholder)!important;
  opacity:1;
}

/* Resume gate radius fix - visual only; player/session behavior stays in JS. */
.fcwd-player-shell .fc-cinema-player,
.fc-work-player .fc-cinema-player{
  border-radius:inherit!important;
  overflow:hidden!important;
  clip-path:none!important;
}

.fcwd-player-shell .fc-cinema-player::before,
.fcwd-player-shell .fc-cinema-player::after,
.fc-work-player .fc-cinema-player::before,
.fc-work-player .fc-cinema-player::after{
  border-radius:inherit!important;
}

.fc-cinema-overlay.fc-cinema-overlay--resume{
  border-radius:inherit!important;
  overflow:hidden!important;
  clip-path:none!important;
}

.fc-cinema-overlay.fc-cinema-overlay--resume .fc-cinema-overlay-card.fc-cinema-resume-card{
  border-radius:var(--fc-radius-xl)!important;
  overflow:hidden!important;
  clip-path:none!important;
}

.fc-cinema-overlay.fc-cinema-overlay--resume .fc-cinema-resume-actions{
  overflow:visible!important;
}

.fc-cinema-overlay.fc-cinema-overlay--resume .fc-cinema-resume-primary,
.fc-cinema-overlay.fc-cinema-overlay--resume .fc-cinema-resume-secondary{
  border-radius:var(--fc-radius-pill)!important;
}

:root[data-theme="light"] .fc-cinema-overlay.fc-cinema-overlay--resume .fc-cinema-overlay-card.fc-cinema-resume-card{
  background:linear-gradient(145deg,rgba(255,250,246,.96),rgba(255,255,255,.72))!important;
  border-color:var(--fc-line)!important;
}

/* Admin moderation resume gate - visual only; uses existing player markup/classes. */
.fc-mod-stitch-player{
  border-radius:var(--fc-radius-xl)!important;
  overflow:hidden!important;
}

.fc-mod-stitch-player .fc-work-player.fc-cinema-player{
  border-radius:inherit!important;
  overflow:hidden!important;
  clip-path:none!important;
}

.fc-mod-stitch-player .fc-work-player.fc-cinema-player::before,
.fc-mod-stitch-player .fc-work-player.fc-cinema-player::after{
  border-radius:inherit!important;
}

.fc-mod-stitch-player .fc-cinema-overlay.fc-cinema-overlay--resume{
  border-radius:inherit!important;
  overflow:hidden!important;
  clip-path:none!important;
}

.fc-mod-stitch-player .fc-cinema-overlay.fc-cinema-overlay--resume .fc-cinema-overlay-card.fc-cinema-resume-card{
  border-radius:var(--fc-radius-lg)!important;
  overflow:hidden!important;
  clip-path:none!important;
}

:root[data-theme="light"] .fc-mod-stitch-player .fc-cinema-overlay.fc-cinema-overlay--resume{
  background:linear-gradient(145deg,rgba(255,250,246,.88),rgba(255,255,255,.76))!important;
}

:root[data-theme="light"] .fc-mod-stitch-player .fc-work-player.fc-cinema-player{
  background:linear-gradient(145deg,rgba(255,250,246,.92),rgba(255,255,255,.78))!important;
}

/* Work context/info panels - visual only; keeps grids, data and moderation flow intact. */
.fc-mod-stitch-card,
.fc-mod-stitch-extra-card,
.fcwd-synopsis-block,
.fcwd-credit-strip,
.fcwd-note,
.fcwd-meta-grid > div,
.fcwd-side-specs{
  background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft))!important;
  border:1px solid var(--fc-line)!important;
  border-radius:var(--fc-radius-xl)!important;
  color:var(--fc-text)!important;
  box-shadow:var(--fc-shadow-card,var(--fc-shadow))!important;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  overflow:hidden;
}

.fc-mod-stitch-extra-card,
.fcwd-meta-grid > div,
.fcwd-side-specs > div{
  border-radius:var(--fc-radius-lg)!important;
}

.fcwd-synopsis-block{
  max-width:850px;
  padding:28px!important;
}

.fcwd-credit-strip,
.fcwd-side-specs{
  padding:28px!important;
}

.fc-mod-stitch-spec{
  min-height:52px!important;
  padding:16px 24px!important;
  margin-bottom:0!important;
  align-items:center!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--fc-line)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.fc-mod-stitch-spec:last-child{
  border-bottom:0!important;
}

.fc-mod-stitch-specs{
  background:var(--fc-glass-soft)!important;
  border:1px solid var(--fc-line)!important;
  border-radius:var(--fc-radius-xl)!important;
  box-shadow:var(--fc-shadow-card,var(--fc-shadow))!important;
  overflow:hidden!important;
}

.fc-mod-stitch-spec dt{
  color:var(--fc-muted)!important;
  letter-spacing:.12em!important;
}

.fc-mod-stitch-spec dd{
  color:var(--fc-text)!important;
  font-weight:700!important;
}

@media (max-width:560px){
  .fc-mod-stitch-spec{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:6px!important;
  }
}

/* Creator / University hero - light mode contrast fix */
[data-theme="light"] .fc-creator-hero,
[data-theme="light"] .fc-university-hero{
  background:linear-gradient(135deg,var(--fc-surface-low),var(--fc-surface))!important;
  border-color:var(--fc-line)!important;
}
[data-theme="light"] .fc-creator-cover,
[data-theme="light"] .fc-university-cover{
  filter:brightness(.78) saturate(.85)!important;
  opacity:.5!important;
}
[data-theme="light"] .fc-creator-shade,
[data-theme="light"] .fc-university-shade{
  background:linear-gradient(90deg,rgba(255,250,244,.92),rgba(255,250,244,.48))!important;
}
[data-theme="light"] .fc-creator-content h1,
[data-theme="light"] .fc-creator-content p,
[data-theme="light"] .fc-creator-content span:not(.material-symbols-outlined),
[data-theme="light"] .fc-university-content h1,
[data-theme="light"] .fc-university-content p,
[data-theme="light"] .fc-university-content span:not(.material-symbols-outlined){
  color:var(--fc-text-strong)!important;
  text-shadow:none!important;
}
/* ── Industry actions en fichas públicas ──────────────────────────────── */
.fcwd-industry-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--fc-line)}
.fcwd-industry-actions .fc-ghost-action{width:100%;justify-content:flex-start;min-height:38px;padding:.5rem .75rem;font-size:11px}
.fcwd-industry-pending{font-size:11px;color:var(--fc-muted);margin:4px 0 0;display:flex;align-items:center;gap:4px}
.fcwd-contact-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.fcwd-industry-contact summary{list-style:none;cursor:pointer}
.fcwd-industry-contact summary::-webkit-details-marker{display:none}

/* ── Gestión de usuarios: layout compartido (sin <style> local) ─────────── */
.fc-admin-user-identity{display:flex;align-items:center;gap:12px}
.fc-admin-user-avatar{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center}
.fc-admin-role-badge{gap:6px;color:var(--fc-red);border:1px solid rgba(229,9,20,.45);background:rgba(229,9,20,.06)}
.fc-admin-role-badge.university{color:var(--fc-text);border-color:rgba(255,218,213,.30);background:transparent}
.fc-admin-role-badge.admin{color:var(--fc-yellow);border-color:rgba(255,225,109,.45);background:rgba(255,225,109,.06)}
.fc-admin-role-badge.visitor,.fc-admin-role-badge.industry{color:var(--fc-muted);border-color:rgba(255,218,213,.20);background:transparent}
.fc-admin-state{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.fc-admin-state i{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--fc-green);flex-shrink:0}
.fc-admin-state.warn{color:var(--fc-red);font-weight:700}
.fc-admin-state.warn i{background:var(--fc-red)}
.fc-admin-row-action{position:relative;background:transparent;border:0;padding:0;cursor:pointer;color:var(--fc-text)}
.fc-admin-row-action summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;cursor:pointer;border-radius:var(--fc-radius-xs);border:1px solid var(--fc-line-strong)}
.fc-admin-row-action summary::-webkit-details-marker{display:none}
.fc-admin-row-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:50;width:216px;padding:4px;background:var(--fc-glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--fc-line);border-radius:var(--fc-radius-md,14px);box-shadow:0 8px 32px rgba(0,0,0,.32)}
.fc-admin-row-panel h3,.fc-admin-row-panel p{display:none}
.fc-admin-row-actions{display:flex;flex-direction:column;gap:1px;margin-top:0;padding-top:0;border-top:none}
.fc-admin-row-actions form{display:block;margin:0}
.fc-admin-row-edit,.fc-admin-row-actions button{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:0 12px;border-radius:var(--fc-radius-sm,8px);border:none;font-weight:700;font-size:13px;letter-spacing:0;text-transform:none;text-decoration:none;white-space:nowrap;cursor:pointer;background:transparent;color:var(--fc-text)}
.fc-admin-row-edit:hover,.fc-admin-row-actions button:hover{background:var(--fc-surface-3)}
.fc-admin-row-pass{display:flex;gap:4px;padding:4px 8px 6px;border-top:1px solid var(--fc-line);margin-top:2px}
.fc-admin-row-pass input{flex:1;min-width:0;height:30px;padding:0 8px;font-size:12px}
.fc-admin-row-pass button{flex-shrink:0!important;width:auto!important;padding:0 10px!important;min-height:30px;border:1px solid var(--fc-line-strong)!important;border-radius:var(--fc-radius-sm,8px)!important}
.fc-admin-row-actions button.warn:hover{background:rgba(255,219,60,.1)!important;color:var(--fc-yellow)!important}
.fc-admin-row-actions button.ok:hover{background:rgba(34,197,94,.1)!important;color:var(--fc-green)!important}
.fc-admin-row-actions button.danger{color:#ffb4ab!important}
.fc-admin-row-actions button.danger:hover{background:rgba(242,7,22,.12)!important}
.fc-admin-users-table{width:100%;min-width:900px;border-collapse:collapse}
.fc-admin-users-table th{padding:14px 20px;text-align:left}
.fc-admin-users-table td{padding:14px 20px;vertical-align:middle}
.fc-admin-users-filter-form{margin:24px 0 20px}
[data-theme="light"] .fc-admin-users-page .fc-panel-tabs{background:transparent!important;border-color:var(--fc-line)!important;box-shadow:none!important}
.fc-admin-users-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;flex-wrap:wrap}
.fc-admin-users-pages{display:flex;gap:6px;align-items:center}
.fc-admin-users-pages a,.fc-admin-users-pages span{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--fc-border-strong);color:var(--fc-text);text-decoration:none;font-weight:900;border-radius:var(--fc-radius-xs)}
.fc-admin-users-pages .active{background:var(--fc-red);color:#fff7f6;border-color:var(--fc-red)}
.fc-admin-users-pages .disabled{opacity:.38;pointer-events:none}
@media(max-width:760px){.fc-admin-users-pagination{flex-direction:column;align-items:flex-start}}

/* ── Ficha pública: héroe no-film y materiales creativos ─────────────────── */
.fcwd-nonfilm-hero{position:relative;width:100%;aspect-ratio:16/9;max-height:560px;border-radius:var(--fc-radius-xl,20px);overflow:hidden;background:var(--fc-bg-soft);}
.fcwd-nonfilm-poster{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.5) saturate(.7);}
.fcwd-nonfilm-placeholder{width:100%;height:100%;background:radial-gradient(circle at 40% 40%,rgba(229,9,20,.28),transparent 54%),var(--fc-surface-low);}
.fcwd-nonfilm-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center;}
.fcwd-nonfilm-type-icon{font-size:52px;color:var(--fc-primary);opacity:.85;}
.fcwd-nonfilm-type-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--fc-primary);background:rgba(229,9,20,.14);border:1px solid rgba(229,9,20,.3);padding:5px 14px;border-radius:999px;}
.fcwd-nonfilm-overlay-title{font-family:Montserrat,Inter,sans-serif;font-size:clamp(22px,4vw,42px);font-weight:800;line-height:1.1;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.6);max-width:640px;}
.fcwd-nonfilm-logline{color:rgba(255,255,255,.72);font-size:14px;line-height:1.5;max-width:520px;}
.fcwd-asset-hero-viewer{position:relative;width:100%;height:clamp(420px,70vh,760px);border-radius:var(--fc-radius-xl,20px);overflow:hidden;background:var(--fc-bg-soft);}
.fcwd-asset-hero-frame{width:100%;height:100%;border:0;display:block;}
.fcwd-asset-hero-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--fc-primary);background:rgba(229,9,20,.1);border:1px solid rgba(229,9,20,.25);padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:middle;}
.fcwd-chip-type{display:inline-flex;align-items:center;gap:5px;}
.fcwd-materials-section{max-width:var(--fcwd-max,1100px);margin:0 auto;padding:0 24px 56px;}
.fcwd-materials-kicker{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--fc-muted);margin:0 0 4px;}
.fcwd-materials-title{font-family:Montserrat,Inter,sans-serif;font-size:22px;font-weight:800;color:var(--fc-text);margin:0;}
.fcwd-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px;}
.fcwd-asset-card{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:linear-gradient(145deg,var(--fc-glass-strong),var(--fc-glass-soft));border:1px solid var(--fc-line);border-radius:var(--fc-radius-xl);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.fcwd-asset-icon{font-size:28px;color:var(--fc-primary);flex-shrink:0;margin-top:2px;}
.fcwd-asset-body{display:flex;flex-direction:column;gap:4px;min-width:0;}
.fcwd-asset-type{font-size:13px;font-weight:800;color:var(--fc-text);}
.fcwd-asset-title{font-size:12px;color:var(--fc-muted);}
.fcwd-asset-desc{font-size:12px;color:var(--fc-muted);line-height:1.4;margin:0;}
.fcwd-asset-protected{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fc-muted);background:rgba(255,255,255,.06);border:1px solid var(--fc-line);padding:3px 9px;border-radius:999px;margin-top:4px;}
@media(max-width:640px){.fcwd-asset-grid{grid-template-columns:1fr;}}

/* ── Barra de filtros usuarios: reset limpio (gana por posición final) ───── */
.fc-users-filter-bar{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;margin:24px 0 20px!important}
.fc-users-search-box{display:flex!important;align-items:center!important;gap:10px!important;flex:1 1 240px!important;min-width:240px!important;height:46px!important;padding:0 14px!important;border-radius:var(--fc-radius-pill)!important;border:1px solid var(--fc-line-strong)!important;background:var(--fc-glass-soft)!important;overflow:visible!important;box-shadow:none!important}
.fc-users-search-box .material-symbols-outlined{color:var(--fc-muted)!important;font-size:20px!important;flex-shrink:0!important;line-height:1!important}
.fc-users-search-box input[type="search"],.fc-users-search-box input[name="q"]{flex:1!important;border:0!important;background:transparent!important;color:var(--fc-text)!important;font-size:15px!important;font-weight:600!important;outline:none!important;min-width:0!important;-webkit-appearance:none!important;appearance:none!important;padding:0!important;box-shadow:none!important;height:auto!important;min-height:0!important}
.fc-users-search-box input[type="search"]::-webkit-search-cancel-button,.fc-users-search-box input[type="search"]::-webkit-search-decoration{display:none!important}
.fc-users-filter-bar select{flex:0 0 auto!important;height:46px!important;min-width:160px!important;padding:0 12px!important;border-radius:var(--fc-radius-pill)!important}
.fc-users-filter-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;height:46px!important;min-height:46px!important;padding:0 20px!important;border-radius:var(--fc-radius-pill)!important;white-space:nowrap!important;flex-shrink:0!important;width:auto!important;font-size:12px!important;letter-spacing:.1em!important;text-transform:uppercase!important}
@media(max-width:760px){.fc-users-filter-bar{flex-direction:column!important;align-items:stretch!important}.fc-users-search-box{flex-basis:100%!important;min-width:0!important}.fc-users-filter-bar select,.fc-users-filter-btn{width:100%!important}}

/* ── Student liquid: empty-state transparente dentro de fc-panel-card (anula light-mode blanco) */
[data-theme="light"] .fc-student-liquid .fc-panel-empty{
  background:transparent!important;
  box-shadow:none!important;
  border-color:transparent!important;
}

[data-theme="light"] .fc-university-liquid .fc-panel-empty{
  background:transparent!important;
  box-shadow:none!important;
  border-color:transparent!important;
}

/* ── Student liquid: avatar iniciales (anula herencia color del preview-card) */
.fc-student-liquid .fc-profile-avatar-initials{
  display:grid!important;
  place-items:center!important;
  width:110px!important;
  height:110px!important;
  border-radius:999px!important;
  background:rgba(229,9,20,.15)!important;
  border:2px solid rgba(229,9,20,.35)!important;
  color:var(--fc-red)!important;
  font-weight:900!important;
  font-size:32px!important;
  text-transform:uppercase!important;
  letter-spacing:-.02em!important;
  flex-shrink:0!important;
}

/* ── Student liquid: panel-tabs como pills coherentes (mismo patrón admin-works) */
.fc-student-liquid .fc-panel-tabs{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0 0 20px!important;
  padding:0!important;
  border-bottom:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow-x:auto;
  scrollbar-width:none;
}
.fc-student-liquid .fc-panel-tabs::-webkit-scrollbar{display:none}
.fc-student-liquid .fc-panel-tabs a{
  flex:0 0 auto;
  min-height:34px!important;
  padding:0 13px!important;
  border-radius:var(--fc-radius-pill)!important;
  border:1px solid var(--fc-line-strong)!important;
  background:var(--fc-glass-soft)!important;
  color:var(--fc-text)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-decoration:none!important;
}
.fc-student-liquid .fc-panel-tabs a.active,
.fc-student-liquid .fc-panel-tabs a[aria-current="page"]{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:#fff7f6!important;
}
[data-theme="light"] .fc-student-liquid .fc-panel-tabs{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
[data-theme="light"] .fc-student-liquid .fc-panel-tabs a{
  color:var(--fc-label)!important;
  background:var(--fc-glass-soft)!important;
  border-color:var(--fc-line-strong)!important;
}
[data-theme="light"] .fc-student-liquid .fc-panel-tabs a.active,
[data-theme="light"] .fc-student-liquid .fc-panel-tabs a[aria-current="page"]{
  background:var(--fc-red)!important;
  border-color:var(--fc-red)!important;
  color:#fff!important;
}

/* ── Convocatorias: grid auto-fill y imagen suave en light mode ─────────── */
.fc-convocations-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));
  gap:var(--fc-gutter,24px);
}
.fc-convocation-img{opacity:.72}
.fc-convocation-card:hover .fc-convocation-img{opacity:.9}
[data-theme="light"] .fc-convocation-img{opacity:.85}
[data-theme="light"] .fc-convocation-card:hover .fc-convocation-img{opacity:1}
a.fc-convocation-card{display:flex;flex-direction:column;text-decoration:none!important;color:inherit!important;cursor:pointer}
a.fc-convocation-card:focus-visible{outline:2px solid var(--fc-red);outline-offset:3px;border-radius:var(--fc-radius-lg,22px)}

/* ── Upload wizard: refinamiento visual compacto ─────────────────────────── */
/* Hero compacto: tamaño y espaciado reducidos */
.fc-student-liquid .fc-upload-hero{margin:0 0 14px!important;padding:10px 0 4px!important}
.fc-student-liquid .fc-upload-hero h1{font-size:clamp(20px,2.4vw,30px)!important;letter-spacing:-.04em!important}
.fc-student-liquid .fc-upload-hero p:not(.fc-kicker){font-size:14px!important;margin:6px 0 0!important}
/* Elimina el número gigante de fondo */
.fc-upload-hero-mark{display:none!important}

/* Stepper: altura reducida, más ligero */
.fc-student-liquid .fc-work-stepper{margin:0 0 16px!important}
.fc-student-liquid .fc-work-stepper-item{min-height:50px!important;padding:10px 14px!important;gap:8px!important}
.fc-student-liquid .fc-work-stepper-item strong{font-size:10px!important;letter-spacing:.12em!important}
.fc-student-liquid .fc-work-stepper-item span{width:26px!important;height:26px!important;flex:0 0 26px!important;font-size:9px!important}

/* Panel head: número más pequeño, h2 funcional, etiqueta repetida suprimida */
.fc-student-liquid .fc-work-panel-head{margin-bottom:20px!important;gap:14px!important}
.fc-student-liquid .fc-work-panel-head>span{width:34px!important;height:34px!important;flex:0 0 34px!important;font-size:10px!important;border-radius:var(--fc-radius-xs)!important}
.fc-student-liquid .fc-work-panel-head p{display:none!important}
.fc-student-liquid .fc-work-panel-head h2{font-size:clamp(18px,2vw,26px)!important;letter-spacing:-.03em!important}
.fc-student-liquid .fc-work-panel-head small{font-size:13px!important;margin-top:4px!important}

/* Panel: sin min-height fija, integrado con glass */
.fc-student-liquid .fc-work-step-panel{min-height:auto!important;padding:clamp(20px,2.4vw,32px)!important}

/* Preview rail: h3 funcional */
.fc-student-liquid .fc-work-preview-card h3{font-size:clamp(16px,1.8vw,22px)!important;letter-spacing:-.03em!important}
.fc-student-liquid .fc-work-preview-card{padding:20px!important}

/* Light mode: stepper heredado */
[data-theme="light"] .fc-student-liquid .fc-work-stepper-item{color:var(--fc-label)!important}
[data-theme="light"] .fc-student-liquid .fc-work-stepper-item.is-active{color:var(--fc-text-strong)!important}

/* ── Asset viewer FASE 5/6 ───────────────────────────────────────────────── */
.fca-viewer-shell{display:flex;flex-direction:column;min-height:60vh;color:var(--fc-text);}
.fca-viewer-topbar{display:flex;align-items:center;gap:16px;padding:14px 24px;background:var(--fc-glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--fc-line);position:sticky;top:0;z-index:40;}
.fca-viewer-back{background:none;border:none;cursor:pointer;color:var(--fc-text);display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--fc-radius-md);font-size:13px;font-weight:700;}
.fca-viewer-back:hover{background:var(--fc-surface-3);}
.fca-viewer-nav-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fca-viewer-wm-badge{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--fc-muted);background:rgba(255,255,255,.05);border:1px solid var(--fc-line);padding:4px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0;}
.fca-viewer-body{display:flex;flex-direction:column;align-items:center;padding:32px 16px 64px;gap:24px;}
.fca-pdf-container{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:860px;}
.fca-pdf-page-wrap{position:relative;width:100%;box-shadow:0 2px 20px rgba(0,0,0,.18),0 1px 4px rgba(0,0,0,.10);border-radius:var(--fc-radius-sm);overflow:hidden;}
.fca-pdf-page-wrap canvas{display:block;width:100%;height:auto;}
.fca-pdf-controls{text-align:center;color:var(--fc-muted);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.fca-pdf-limit-notice{font-size:12px;padding:8px 16px;background:rgba(229,9,20,.08);border:1px solid rgba(229,9,20,.22);border-radius:999px;display:inline-flex;align-items:center;gap:6px;}
.fca-pdf-limit-notice a{color:var(--fc-primary);text-decoration:underline;}
.fca-loading{color:var(--fc-muted);padding:64px 0;font-size:14px;text-align:center;}
.fca-error{color:var(--fc-primary);padding:40px 0;font-size:14px;text-align:center;}
.fca-img-container{position:relative;max-width:860px;width:100%;box-shadow:0 2px 20px rgba(0,0,0,.18),0 1px 4px rgba(0,0,0,.10);border-radius:var(--fc-radius-sm);overflow:hidden;user-select:none;}
.fca-protected-img{display:block;width:100%;height:auto;pointer-events:none;}
.fca-wm-overlay{position:absolute;inset:0;pointer-events:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 32px;padding:12px;transform:rotate(-30deg) scale(1.5);z-index:10;}
.fca-wm-text{display:flex;align-items:center;}
.fca-pdf-page-wrap .fca-wm-text img{height:28px;width:auto;display:block;filter:none;opacity:0.10;}
.fca-img-container .fca-wm-text img{height:28px;width:auto;display:block;filter:invert(1);opacity:0.12;}
[data-theme="light"] .fca-img-container .fca-wm-text img{filter:none;opacity:0.09;}
.fca-viewer-desc{max-width:680px;color:var(--fc-muted);font-size:13px;line-height:1.55;text-align:center;}
.fcwd-asset-viewer-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--fc-primary);background:rgba(229,9,20,.1);border:1px solid rgba(229,9,20,.3);padding:4px 12px;border-radius:999px;margin-top:6px;text-decoration:none;transition:background .15s;}
.fcwd-asset-viewer-btn:hover{background:rgba(229,9,20,.22);}
.fca-viewer-doc{width:100%;}
.fca-viewer-doc--pdf{max-width:920px;width:min(calc(100% - 32px),920px);margin-inline:auto;}
.fca-viewer-doc--pdf .fca-viewer-topbar{border-radius:var(--fc-radius-md,14px) var(--fc-radius-md,14px) 0 0;}
.fca-embed.fca-viewer-shell{min-height:0;height:100%;overflow-y:auto;background:transparent;}
.fca-embed .fca-viewer-body{padding:12px 12px 24px;gap:16px;}
.fca-embed .fca-viewer-topbar{padding:8px 14px;background:var(--fc-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--fc-line);}
.fcwd-asset-hero-viewer--pdf{max-width:920px;margin-inline:auto;height:clamp(520px,72vh,820px);}
.fcwd-protected-viewer-section{margin-top:2rem;}
.fcwd-inline-viewer-wrap{max-width:920px;width:min(calc(100% - 32px),100%);margin-inline:auto;border-radius:var(--fc-radius-md,14px);overflow:hidden;border:1px solid var(--fc-line);background:var(--fc-card);}
.fcwd-inline-viewer-frame{display:block;width:100%;height:clamp(520px,72vh,820px);border:0;}
.fcwd-viewer-help{font-size:11px;color:var(--fc-muted);margin-top:8px;padding:0 4px;}
.fcwd-viewer-locked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:120px;background:var(--fc-bg-soft);border-radius:var(--fc-radius-md,14px);color:var(--fc-muted);text-align:center;padding:24px;}
@media(max-width:640px){.fca-viewer-topbar{padding:10px 14px;gap:10px;}.fca-viewer-wm-badge{display:none;}.fcwd-asset-hero-viewer{height:clamp(360px,65vh,620px);}.fcwd-asset-hero-viewer--pdf{height:clamp(420px,65vh,680px);}.fcwd-inline-viewer-frame{height:clamp(420px,65vh,680px);}}

/* Admin moderación FASE 8 - badge tipo, héroe no-film, materiales */
.fc-mod-badge-type{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);}
.fc-mod-nonfilm-hero{position:relative;border-radius:var(--fc-radius-lg);overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(94,63,59,.35);min-height:220px;display:flex;align-items:center;justify-content:center;}
.fc-mod-nonfilm-poster{width:100%;height:260px;object-fit:cover;display:block;}
.fc-mod-nonfilm-placeholder{width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;}
.fc-mod-nonfilm-label{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:linear-gradient(transparent,rgba(0,0,0,.7));display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#fff;}
.fc-mod-assets-section h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px;}
.fc-mod-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.fc-mod-asset-card{background:rgba(255,255,255,.05);border:1px solid rgba(94,63,59,.4);border-radius:var(--fc-radius-md);padding:14px;display:flex;flex-direction:column;gap:6px;}
.fc-mod-asset-icon{font-size:24px;color:var(--fc-muted);}
.fc-mod-asset-body{display:flex;flex-direction:column;gap:4px;}
.fc-mod-asset-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--fc-muted);}
.fc-mod-asset-title{font-size:13px;color:var(--fc-text);line-height:1.3;}
.fc-mod-asset-vis{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--fc-muted);}
.fc-mod-asset-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fc-primary);background:rgba(229,9,20,.1);border:1px solid rgba(229,9,20,.25);padding:4px 10px;border-radius:999px;text-decoration:none;margin-top:4px;transition:background .15s;}
.fc-mod-asset-btn:hover{background:rgba(229,9,20,.2);}
.fc-mod-warn{color:var(--fc-yellow,#ffe16d);display:block;}
[data-theme="light"] .fc-mod-nonfilm-hero{background:rgba(0,0,0,.04);border-color:rgba(94,63,59,.2);}
[data-theme="light"] .fc-mod-asset-card{background:rgba(0,0,0,.03);border-color:rgba(94,63,59,.2);}

/* FASE 9 - contacto por asset desde work-detail */
.fcwd-asset-contact-detail{margin-top:6px;}
.fcwd-asset-contact-detail summary{list-style:none;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fc-muted);padding:4px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;cursor:pointer;transition:color .15s,border-color .15s;}
.fcwd-asset-contact-detail summary::-webkit-details-marker{display:none;}
.fcwd-asset-contact-detail summary:hover{color:var(--fc-primary);border-color:rgba(229,9,20,.3);}
.fcwd-asset-contact-form{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
.fcwd-asset-contact-form .fc-input{font-size:12px;padding:6px 10px;min-height:56px;}
[data-theme="light"] .fcwd-asset-contact-detail summary{border-color:rgba(0,0,0,.12);}

/* FASE 10 - home: tipos de obra y protección */
.fc-home-types-section{padding-top:72px;padding-bottom:16px;}
.fc-home-types-head{margin-bottom:36px;}
.fc-home-types-sub{color:var(--fc-muted);font-size:16px;margin-top:10px;max-width:560px;}
.fc-home-types-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.fc-home-type-card{display:flex;flex-direction:column;gap:10px;padding:24px 20px;background:rgba(255,255,255,.04);border:1px solid var(--fc-line);border-radius:var(--fc-radius-lg);transition:border-color .2s,background .2s;}
.fc-home-type-card:hover{background:rgba(255,255,255,.07);border-color:rgba(229,9,20,.3);}
.fc-home-type-icon{font-size:32px;color:var(--fc-primary);}
.fc-home-type-title{font-family:Montserrat,Inter,system-ui,sans-serif;font-size:14px;font-weight:800;color:var(--fc-text);line-height:1.2;}
.fc-home-type-desc{font-size:13px;color:var(--fc-muted);line-height:1.5;margin:0;}
.fc-home-protection-note{display:flex;align-items:flex-start;gap:10px;margin-top:32px;padding:14px 18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:var(--fc-radius-lg);}
.fc-home-protection-note p{margin:0;font-size:13px;color:var(--fc-muted);line-height:1.5;}
.fc-home-protection-note strong{color:var(--fc-text);}
@media(max-width:1000px){.fc-home-types-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.fc-home-types-grid{grid-template-columns:1fr 1fr;}}
[data-theme="light"] .fc-home-type-card{background:rgba(0,0,0,.03);}
[data-theme="light"] .fc-home-type-card:hover{background:rgba(0,0,0,.07);}
[data-theme="light"] .fc-home-protection-note{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.07);}
.fc-type-cards-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;margin-bottom:4px}
.fc-type-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--fc-glass-border,rgba(255,255,255,.12));background:var(--fc-glass-bg,rgba(255,255,255,.06));cursor:pointer;font-size:.8rem;color:inherit;transition:border-color .15s,background .15s;min-width:88px;text-align:center}
.fc-type-card .material-symbols-outlined{font-size:1.4rem}
.fc-type-card strong{font-size:.78rem;line-height:1.2}
.fc-type-card.is-active{border-color:var(--fc-primary,#e50914);background:rgba(229,9,20,.1)}
.fc-nonfilm-notice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:10px;background:rgba(255,219,60,.07);border:1px solid rgba(255,219,60,.25);margin-top:12px}
.fc-nonfilm-notice .material-symbols-outlined{color:#ffdb3c;font-size:1.3rem;flex-shrink:0;margin-top:1px}
.fc-nonfilm-notice p{margin:0;font-size:.85rem;opacity:.85}
@media(max-width:640px){#crear-usuario form{grid-template-columns:1fr!important}}

/* ── Bell Notification ────────────────────────────────────────────────────── */
.fc-bell-menu{position:relative}
.fc-bell-menu summary{list-style:none}
.fc-bell-menu summary::-webkit-details-marker{display:none}
.fc-bell-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--fc-muted);cursor:pointer;padding:0;outline:none}
.fc-bell-trigger:hover,.fc-bell-trigger:focus-visible{color:var(--fc-primary)}
.fc-bell-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--fc-primary,#e50914);color:#fff;font-size:9px;font-weight:900;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;pointer-events:none;line-height:1}
.fc-bell-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:1300;width:clamp(280px,90vw,400px);border:1px solid var(--fc-line);border-radius:var(--fc-radius-lg,10px);background:rgba(28,8,8,.97);box-shadow:0 8px 32px rgba(0,0,0,.45);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden}
.fc-bell-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid var(--fc-line)}
.fc-bell-panel-title{font-family:var(--fc-font-ui,Montserrat,sans-serif);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--fc-muted)}
.fc-bell-mark-all{background:none;border:none;cursor:pointer;font-family:var(--fc-font-ui,Montserrat,sans-serif);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--fc-primary,#e50914);padding:0}
.fc-bell-mark-all:hover{opacity:.75}
.fc-bell-list{max-height:340px;overflow-y:auto;overscroll-behavior:contain}
.fc-bell-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;color:var(--fc-muted);font-size:13px;text-align:center}
.fc-bell-empty .material-symbols-outlined{font-size:30px;opacity:.35}
.fc-bell-item{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--fc-line);cursor:pointer;transition:background .12s}
.fc-bell-item:last-child{border-bottom:0}
.fc-bell-item:hover{background:rgba(229,9,20,.07)}
.fc-bell-item--unread{background:rgba(229,9,20,.06)}
.fc-bell-item-body{display:flex;align-items:flex-start;gap:8px;min-width:0;flex:1}
.fc-bell-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--fc-primary,#e50914);margin-top:4px}
.fc-bell-item-text{min-width:0}
.fc-bell-item-title{display:block;font-size:12px;font-weight:800;color:var(--fc-text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-bell-item-desc{display:block;font-size:11px;color:var(--fc-muted);line-height:1.35;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-bell-item-date{flex-shrink:0;font-size:10px;color:var(--fc-muted);white-space:nowrap;margin-top:3px}
[data-theme="light"] .fc-bell-panel{background:rgba(255,250,246,.97)}
[data-theme="light"] .fc-bell-item--unread{background:rgba(229,9,20,.04)}
[data-theme="light"] .fc-bell-item:hover{background:rgba(229,9,20,.06)}

/* ── Avatar notification badge + pulse ───────────────────────────────────── */
.fc-avatar-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}
.fc-avatar-notif-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 3px;border-radius:9px;background:var(--fc-primary,#e50914);color:#fff;font-size:9px;font-weight:900;display:flex;align-items:center;justify-content:center;pointer-events:none;line-height:1;border:1.5px solid rgba(16,4,4,.9);z-index:2}
@keyframes fcAvatarPulse{0%,100%{box-shadow:0 0 0 0 rgba(229,9,20,0)}45%{box-shadow:0 0 0 5px rgba(229,9,20,.38)}75%{box-shadow:0 0 0 8px rgba(229,9,20,.08)}}
.fc-avatar-pulse{animation:fcAvatarPulse 2.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.fc-avatar-pulse{animation:none}}
/* ── Notification block inside user menu ─────────────────────────────────── */
.fc-notif-block{border-bottom:1px solid var(--fc-line);padding-bottom:4px;margin-bottom:4px}
.fc-notif-block-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px}
.fc-notif-empty{font-size:12px;color:var(--fc-muted);padding:10px 14px;margin:0}
.fc-user-menu-sep{height:1px;background:var(--fc-line);margin:4px 0}
/* Wider panel to fit notifications */
.fc-global-nav .fc-user-menu-panel{width:min(360px,calc(100vw - 24px))!important;padding:8px}
.fc-global-nav .fc-user-menu-panel .fc-bell-list{max-height:220px;overflow-y:auto;overscroll-behavior:contain}

/* ── Notification delete buttons ────────────────────────────────────────── */
.fc-bell-item-delete{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--fc-muted);opacity:0;padding:2px 3px;display:inline-flex;align-items:center;border-radius:4px;transition:color .15s,opacity .15s,background .15s;line-height:1}
.fc-bell-item:hover .fc-bell-item-delete,.fc-bell-item:focus-within .fc-bell-item-delete{opacity:1}
.fc-bell-item-delete:hover{color:var(--fc-red)!important;background:rgba(229,9,20,.08)}
@media(max-width:767px){.fc-bell-item-delete{opacity:1}}
.fc-bell-delete-all{background:none;border:1px solid var(--fc-line);cursor:pointer;color:var(--fc-muted);display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:6px;line-height:1;transition:color .15s,border-color .15s}
.fc-bell-delete-all:hover{color:var(--fc-red)!important;border-color:var(--fc-red)!important}

/* ── Dynamic Island Nav ──────────────────────────────────────────────────── */
.fc-island-nav{
  top:10px!important;
  left:12px!important;
  right:12px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-bottom:1px solid rgba(255,255,255,.11)!important;
  box-shadow:0 4px 32px rgba(0,0,0,.26),0 1px 6px rgba(0,0,0,.16)!important;
  min-height:52px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
@media(min-width:768px){
  .fc-island-nav{
    top:12px!important;
    left:20px!important;
    right:20px!important;
    min-height:56px!important;
  }
}
[data-theme="light"] .fc-island-nav{
  border-color:rgba(0,0,0,.09)!important;
  box-shadow:0 4px 24px rgba(0,0,0,.09),0 1px 4px rgba(0,0,0,.06)!important;
}

/* ── Brand logo ─────────────────────────────────────────────────────────── */
.fc-brand-link{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  text-decoration:none;
}
.fc-brand-logo{
  height:40px;
  width:auto;
  object-fit:contain;
  display:block;
  transition:opacity .15s ease;
}
.fc-brand-link:hover .fc-brand-logo{ opacity:.8; }

/* default (dark) - show dark variant, hide light */
.fc-brand-logo--light{ display:none; }
.fc-brand-logo--dark{ display:block; }

/* light theme - swap */
[data-theme="light"] .fc-brand-logo--light{ display:block; }
[data-theme="light"] .fc-brand-logo--dark{ display:none; }

@media(max-width:767px){
  .fc-brand-logo{ height:30px; }
}

/* ── Auth brand logo (centrado, más grande) ──────────────────────────────── */
.fc-auth-brand-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.fc-auth-brand-logo{
  height:52px;
  width:auto;
  object-fit:contain;
  display:block;
  transition:opacity .15s ease;
}
.fc-auth-brand-link:hover .fc-auth-brand-logo{ opacity:.8; }

@media(max-width:767px){
  .fc-auth-brand-logo{ height:42px; }
}

/* ══════════════════════════════════════════════════════════════════════
   EDITOR DE OBRA - fc-editor-stitch (migrado desde edit-work.ejs)
══════════════════════════════════════════════════════════════════════ */
.fc-editor-stitch{--fc-editor-card:rgba(32,14,12,.68);--fc-editor-border:rgba(255,180,170,.14);--fc-editor-border-strong:#5e3f3b;--fc-editor-red:#e50914;--fc-editor-red-2:#ff2934;--fc-editor-yellow:#ffdb3c;min-height:100vh;background:radial-gradient(circle at 72% 12%,rgba(229,9,20,.18),transparent 32%),radial-gradient(circle at 15% 5%,rgba(255,180,170,.08),transparent 28%),linear-gradient(180deg,var(--fc-surface) 0%,var(--fc-bg-soft) 48%,var(--fc-bg) 100%);color:var(--fc-text)}
.fc-editor-stitch *{min-width:0}
.fc-editor-shell{max-width:1180px;margin:0 auto;padding:40px 28px 96px}
.fc-editor-top{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:38px}
.fc-editor-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:10px}
.fc-editor-title{font-family:Montserrat,Inter,sans-serif;font-size:clamp(38px,5.5vw,68px);line-height:.96;letter-spacing:-.05em;font-weight:800;color:var(--fc-text);text-transform:uppercase;overflow-wrap:anywhere}
.fc-editor-subtitle{color:var(--fc-muted);font-size:16px;line-height:1.55;max-width:760px;margin-top:12px}
.fc-editor-back{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--fc-editor-border-strong);color:var(--fc-text);padding:10px 20px;text-transform:uppercase;font-weight:800;letter-spacing:.09em;text-decoration:none;background:rgba(42,22,20,.45);white-space:nowrap;border-radius:var(--fc-radius-pill,999px)}
.fc-editor-back .material-symbols-outlined{font-size:19px}
.fc-editor-back:hover{background:var(--fc-surface-3);color:var(--fc-text-strong)}
.fc-editor-alert{display:flex;gap:14px;align-items:flex-start;padding:20px 24px;border:1px solid var(--fc-editor-border);border-left:4px solid var(--fc-editor-red);background:rgba(32,14,12,.54);backdrop-filter:blur(12px);color:var(--fc-text);margin-bottom:38px;border-radius:var(--fc-radius-lg,20px)}
.fc-editor-alert .material-symbols-outlined{font-size:22px}
.fc-editor-alert--published .material-symbols-outlined{color:var(--fc-green)}
.fc-editor-alert strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:13px;margin-bottom:5px}
.fc-editor-alert p{color:var(--fc-muted);line-height:1.45;margin:0}
.fc-editor-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,1fr);gap:46px;align-items:start}
.fc-editor-left{display:flex;flex-direction:column;gap:44px;padding-bottom:40px}
.fc-editor-section-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.fc-editor-index{width:42px;height:42px;border-radius:999px;border:1px solid var(--fc-primary);display:flex;align-items:center;justify-content:center;color:var(--fc-primary);font-weight:800;flex:0 0 auto}
.fc-editor-section-title{font-family:Montserrat,Inter,sans-serif;font-size:26px;line-height:1.2;font-weight:800;color:var(--fc-text);margin:0}
.fc-editor-section-copy{color:var(--fc-muted);font-size:13px;line-height:1.45;margin:4px 0 0}
.fc-editor-card{background:var(--fc-editor-card);backdrop-filter:blur(14px);border:1px solid var(--fc-editor-border);border-radius:var(--fc-radius-lg,20px);padding:30px;box-shadow:0 22px 80px rgba(0,0,0,.24)}
.fc-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.fc-editor-field{display:flex;flex-direction:column;gap:8px}
.fc-editor-span-2{grid-column:span 2}
.fc-editor-label{color:var(--fc-primary);text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:11px;line-height:1.2}
.fc-editor-input,.fc-editor-select,.fc-editor-textarea{width:100%;border:1px solid var(--fc-editor-border-strong);border-radius:var(--fc-radius-md,14px);background:var(--fc-surface-low);color:var(--fc-text);padding:13px 14px;font-size:15px;line-height:1.35;outline:none}
.fc-editor-textarea{resize:vertical;min-height:116px}
.fc-editor-input:focus,.fc-editor-select:focus,.fc-editor-textarea:focus{border-color:var(--fc-primary);box-shadow:0 0 0 3px rgba(255,180,170,.12)}
.fc-editor-help{color:var(--fc-muted);font-size:13px;line-height:1.45;margin-top:2px}
.fc-editor-actions{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap}
.fc-editor-primary,.fc-editor-secondary,.fc-editor-outline,.fc-editor-danger{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--fc-radius-md,14px);padding:14px 22px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;font-size:13px;border:1px solid transparent;cursor:pointer;text-decoration:none}
.fc-editor-primary{background:var(--fc-editor-red);color:white;box-shadow:0 0 22px rgba(229,9,20,.28)}
.fc-editor-primary:hover{background:var(--fc-editor-red-2)}
.fc-editor-secondary{background:var(--fc-editor-yellow);color:var(--fc-on-yellow)}
.fc-editor-outline{background:transparent;color:var(--fc-primary);border-color:var(--fc-editor-red)}
.fc-editor-danger{background:transparent;color:var(--fc-primary);border-color:rgba(255,180,170,.28);padding:9px 12px;font-size:11px}
.fc-editor-credit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.fc-editor-credit-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--fc-editor-border);border-radius:var(--fc-radius-md,14px);background:rgba(26,9,8,.48)}
.fc-editor-credit-role{color:var(--fc-primary);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;display:block}
.fc-editor-credit-name{color:var(--fc-text);font-weight:800;overflow-wrap:anywhere}
.fc-editor-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:26px}
.fc-editor-preview{overflow:hidden;padding:0}
.fc-editor-poster-wrap{position:relative;aspect-ratio:16/9;background:var(--fc-bg);overflow:hidden}
.fc-editor-poster-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.fc-editor-preview:hover img{transform:scale(1.04)}
.fc-editor-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,9,8,1) 0%,rgba(26,9,8,.34) 48%,rgba(26,9,8,0) 100%)}
.fc-editor-preview-badge{position:absolute;top:16px;left:16px;z-index:2;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.58);color:#fff;border-radius:999px;padding:7px 12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:900}
.fc-editor-preview-text{position:absolute;left:22px;right:22px;bottom:20px;z-index:2}
.fc-editor-preview-title{font-family:Montserrat,Inter,sans-serif;color:white;font-size:26px;font-weight:900;line-height:1.05;text-transform:uppercase;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fc-editor-preview-copy{color:rgba(255,255,255,.78);font-size:13px;line-height:1.4;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fc-editor-preview-body{padding:24px}
.fc-editor-progress-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;font-size:12px;font-weight:800;color:var(--fc-muted);margin-bottom:9px}
.fc-editor-progress-row strong{color:var(--fc-primary)}
.fc-editor-progress{height:7px;width:100%;background:var(--fc-surface-highest);border-radius:999px;overflow:hidden}
.fc-editor-progress span{display:block;height:100%;background:var(--fc-editor-red);box-shadow:0 0 16px rgba(229,9,20,.5)}
.fc-editor-right-title{font-family:Montserrat,Inter,sans-serif;font-size:21px;font-weight:800;margin:0 0 6px;color:var(--fc-text)}
.fc-editor-right-copy{color:var(--fc-muted);font-size:13px;line-height:1.45;margin:0 0 18px}
.fc-editor-checks{display:flex;flex-direction:column;gap:13px}
.fc-editor-check{display:flex;align-items:flex-start;gap:11px;color:var(--fc-muted);font-size:13px;line-height:1.4;cursor:pointer}
.fc-editor-check input{margin-top:2px;accent-color:var(--fc-editor-red);flex:0 0 auto}
.fc-editor-submit-disabled{opacity:.42;cursor:not-allowed;filter:saturate(.6)}
.fc-editor-placeholder{width:100%;height:100%;min-height:220px;display:flex;align-items:center;justify-content:center;color:var(--fc-primary);background:radial-gradient(circle at center,rgba(229,9,20,.22),transparent 48%),var(--fc-bg-soft)}
.fc-asset-group{padding:16px 0;border-bottom:1px solid var(--fc-editor-border)}
.fc-asset-group:last-child{border-bottom:none}
.fc-asset-group-head{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--fc-text);margin-bottom:10px}
.fc-asset-required{font-size:11px;font-weight:800;color:var(--fc-editor-red);text-transform:uppercase;letter-spacing:.08em;background:rgba(229,9,20,.12);padding:2px 7px;border-radius:999px}
.fc-asset-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.fc-asset-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,255,255,.04);border-radius:8px;font-size:13px}
.fc-asset-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-asset-meta{color:var(--fc-muted);font-size:11px;white-space:nowrap}
.fc-asset-delete-form{margin:0}
.fc-asset-delete-btn{background:none;border:none;cursor:pointer;color:var(--fc-muted);padding:4px;display:flex;align-items:center}
.fc-asset-delete-btn:hover{color:var(--fc-editor-red)}
.fc-asset-file-input{padding:6px}
@media(max-width:1100px){.fc-editor-grid{grid-template-columns:1fr}.fc-editor-aside{position:static}}
@media(max-width:760px){
  .fc-editor-shell{padding:28px 18px 86px}
  .fc-editor-top{align-items:flex-start;flex-direction:column}
  .fc-editor-fields{grid-template-columns:1fr}
  .fc-editor-span-2{grid-column:auto}
  .fc-editor-card{padding:22px}
  .fc-editor-credit-list{grid-template-columns:1fr}
  .fc-editor-title{font-size:40px}
  .fc-editor-section-title{font-size:22px}
}

/* ── Status badge - variantes faltantes ─────────────────────────────── */
.fc-badge-status-reviewing { background:rgba(94,160,255,.12); border-color:rgba(94,160,255,.45); color:#aecdff; }
.fc-badge-status-neutral   { background:var(--fc-muted-2); border-color:var(--fc-border-strong); color:var(--fc-muted); }

/* ── Convocatorias: badges de estado y candidatura ────────────────── */
.fc-badge-status-scheduled   { background:rgba(94,160,255,.12);  border-color:rgba(94,160,255,.45);  color:#aecdff; }
.fc-badge-status-resolved    { background:rgba(38,211,109,.10);  border-color:rgba(38,211,109,.45);  color:var(--fc-green); }
.fc-badge-status-shortlisted { background:rgba(94,160,255,.14);  border-color:rgba(94,160,255,.5);   color:#aecdff; }
.fc-badge-status-selected    { background:rgba(38,211,109,.13);  border-color:rgba(38,211,109,.5);   color:var(--fc-green); }
.fc-badge-status-finalist    { background:rgba(255,225,109,.12); border-color:rgba(255,225,109,.5);  color:var(--fc-yellow); }
.fc-badge-status-winner      { background:var(--fc-red); border-color:var(--fc-red); color:#fff7f6; box-shadow:0 0 14px rgba(242,7,22,.28); }

/* ── Light-mode badge overrides - contraste y legibilidad ─────────── */
[data-theme="light"] .fc-badge-status-submitted,
[data-theme="light"] .fc-badge-status-reviewing,
[data-theme="light"] .fc-badge-status-upcoming,
[data-theme="light"] .fc-badge-status-scheduled,
[data-theme="light"] .fc-badge-status-shortlisted { background:rgba(37,99,235,.09); border-color:rgba(37,99,235,.32); color:#1d4ed8; }
[data-theme="light"] .fc-badge-status-rejected    { background:rgba(185,28,28,.09); border-color:rgba(185,28,28,.32); color:#991b1b; }
[data-theme="light"] .fc-badge-status-archived,
[data-theme="light"] .fc-badge-status-finished    { background:rgba(0,0,0,.05);      border-color:rgba(0,0,0,.14);      color:var(--fc-muted); }
[data-theme="light"] .fc-badge-status-approved,
[data-theme="light"] .fc-badge-status-selected,
[data-theme="light"] .fc-badge-status-resolved    { background:rgba(21,122,67,.09);  border-color:rgba(21,122,67,.32);  color:#155e3a; }
[data-theme="light"] .fc-badge-status-finalist,
[data-theme="light"] .fc-badge-status-in-review,
[data-theme="light"] .fc-badge-status-changes-requested { background:rgba(146,101,10,.10); border-color:rgba(146,101,10,.36); color:#7a5800; }
[data-theme="light"] .fc-badge-status-neutral     { background:rgba(0,0,0,.05);      border-color:rgba(0,0,0,.14);      color:var(--fc-muted); }

/* ── First Cut Pick - badge editorial/premium (gold) ────────────── */
.fc-chip-hot {
  background:var(--fc-yellow)!important;
  border-color:var(--fc-yellow)!important;
  color:var(--fc-on-yellow)!important;
  box-shadow:0 0 14px rgba(255,225,109,.28)!important;
}
[data-theme="light"] .fc-chip-hot {
  background:rgba(184,134,11,.13)!important;
  border-color:rgba(184,134,11,.42)!important;
  color:#7a5500!important;
  box-shadow:none!important;
}

/* ── Dialog modal - backdrop global (.fc-dialog) ────────────────────── */
.fc-dialog { border:none; padding:0; background:transparent; max-width:100vw; max-height:100dvh; width:min(520px,calc(100vw - 32px)); }
.fc-dialog::backdrop { background:rgba(0,0,0,.55); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
[data-theme="light"] .fc-dialog .fc-card { background:rgba(255,250,246,.97)!important; }
.fc-dialog-panel { padding:24px; max-height:calc(100dvh - 64px); overflow-y:auto; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.fc-dialog-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:20px; }
.fc-dialog-close { background:none; border:none; cursor:pointer; color:var(--fc-muted); padding:2px; line-height:1; flex-shrink:0; }
.fc-dialog-close:hover { color:var(--fc-text); }
.fc-dialog-actions { display:flex; gap:8px; margin-top:20px; justify-content:flex-end; }
@media (max-width:480px) { .fc-dialog-actions { flex-direction:column-reverse; } .fc-dialog-actions .fc-btn { width:100%; justify-content:center; } }

/* ── Admin: candidaturas de convocatoria ─────────────────────────────── */
.fc-submission-main { display:flex; gap:24px; align-items:flex-start; }
.fc-submission-info { flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:10px; }
.fc-submission-action { flex:0 0 272px; width:272px; }

/* Preview de obra dentro de card de candidatura */
.fc-submission-preview { position:relative; aspect-ratio:16/9; border-radius:var(--fc-radius-md,12px); overflow:hidden; background:rgba(0,0,0,.45); flex-shrink:0; }
.fc-submission-preview .fc-work-player { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-height:0!important; border-radius:0!important; border:none!important; box-shadow:none!important; }
.fc-submission-preview .fc-work-player video,
.fc-submission-preview .fc-work-player .fc-hls-player { width:100%!important; height:100%!important; min-height:0!important; }
.fc-submission-preview-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.fc-submission-preview-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.fc-submission-preview-placeholder .material-symbols-outlined { font-size:32px; opacity:.35; color:var(--fc-muted); }
.fc-submission-preview-placeholder span:last-child { font-family:Inter,system-ui,sans-serif; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; opacity:.45; color:var(--fc-muted); }

@media (max-width:767px) {
  .fc-submission-main { flex-direction:column; }
  .fc-submission-action { width:100%; flex:1 1 100%; }
}

/* ── Sort headers (fc-sort-link) ────────────────────────────────────── */
.fc-sort-link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  transition: color .15s;
}
.fc-sort-link:hover { color: var(--fc-primary, #e50914); }
.fc-sort-link-active { color: var(--fc-primary, #e50914); }
.fc-sort-indicator {
  font-size: 14px !important;
  line-height: 1;
  opacity: .45;
  transition: opacity .15s;
  vertical-align: middle;
}
.fc-sort-link-active .fc-sort-indicator { opacity: 1; }
.fc-sort-link:hover .fc-sort-indicator { opacity: .8; }

/* Sort bar for card-based lists */
.fc-mobile-sortbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.fc-mobile-sortbar .fc-sort-link {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--fc-muted);
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid transparent;
  transition: color .15s, border-color .15s, background .15s;
}
.fc-mobile-sortbar .fc-sort-link:hover {
  color: var(--fc-primary, #e50914);
  background: rgba(229, 9, 20, .06);
  border-color: rgba(229, 9, 20, .2);
}
.fc-mobile-sortbar .fc-sort-link-active {
  color: var(--fc-primary, #e50914);
  border-color: rgba(229, 9, 20, .35);
  background: rgba(229, 9, 20, .07);
}

/* ── Convocatoria detail: sección de obras/candidaturas ──────────────────── */
.fc-conv-works-section {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.fc-conv-works-group {}
.fc-conv-works-heading {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--fc-muted);
  margin: 0 0 1rem;
}
.fc-conv-works-heading .material-symbols-outlined { font-size: 16px; }
.fc-conv-works-heading--winner {
  color: var(--fc-red);
  letter-spacing: .2em;
}
.fc-conv-works-heading--winner .material-symbols-outlined { font-size: 18px; }
.fc-conv-works-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: rgba(255,255,255,.07);
  border: 1px solid var(--fc-line);
  border-radius: 20px;
  font-size: 10px;
  font-weight: 900;
  color: var(--fc-muted);
  letter-spacing: 0;
}
[data-theme="light"] .fc-conv-works-count {
  background: rgba(0,0,0,.05);
  border-color: rgba(0,0,0,.15);
}
.fc-conv-works-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}
@media (max-width: 639px) {
  .fc-conv-works-grid { grid-template-columns: 1fr; }
}

/* Work card within convocation */
.fc-conv-work-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform .18s, box-shadow .18s;
  text-decoration: none !important;
}
.fc-conv-work-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(0,0,0,.28);
}
.fc-conv-work-card--winner {
  box-shadow: 0 0 0 1px rgba(229,9,20,.35), 0 4px 24px rgba(229,9,20,.15);
}
.fc-conv-work-card--winner:hover {
  box-shadow: 0 0 0 1px rgba(229,9,20,.55), 0 8px 32px rgba(229,9,20,.22);
}

/* Poster */
.fc-conv-work-poster {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
[data-theme="light"] .fc-conv-work-poster { background: rgba(0,0,0,.06); }
.fc-conv-work-poster img:not(.fc-award-seal-img) {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .22s;
}
.fc-conv-work-card:hover .fc-conv-work-poster img:not(.fc-award-seal-img) { transform: scale(1.04); }
.fc-conv-work-poster .material-symbols-outlined {
  font-size: 40px;
  color: var(--fc-muted);
  opacity: .4;
}
.fc-conv-work-badge {
  position: absolute;
  top: 8px;
  left: 8px;
}

/* ── Sello de ganador - imagen oficial ───────────────────────────────────── */

.fc-award-seal-img {
  display: inline-block;
  object-fit: contain;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  padding: 0;
  border: 0;
  vertical-align: middle;
  flex-shrink: 0;
}
.fc-award-seal-img--ranking {
  width: 82px;
  height: 82px;
  flex-shrink: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}
.fc-award-seal-img--work { width: 68px; height: 68px; }
.fc-award-seal-img--creator {
  width: 60px;
  height: 60px;
  margin-left: 8px;
  background: transparent;
  padding: 0;
  box-shadow: none;
}
.fc-award-seal-img--card {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 82px;
  height: 82px;
  z-index: 5;
  pointer-events: none;
  border-radius: 50%;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
  padding: 0;
}
@media (max-width: 640px) {
  .fc-award-seal-img--ranking { width: 60px; height: 60px; }
  .fc-award-seal-img--card    { width: 64px; height: 64px; }
  .fc-award-seal-img--creator { width: 44px; height: 44px; }
}

/* Label textual para líder provisional (no usa imagen) */
.fc-award-seal__label {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--fc-yellow, #f0ac3d);
  white-space: nowrap;
  vertical-align: middle;
}

/* Contenedor inline ranking */
.fc-ranking-award {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  vertical-align: middle;
}

/* Fila rol + sello en card creador (work-detail) */
.fc-creator-role-line {
  display: flex;
  align-items: center;
  gap: 0;
}

/* Ficha de obra – bloque de reconocimientos */
.fc-award-work-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 12px 0 20px;
}
.fc-award-work-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  background: linear-gradient(135deg, rgba(240,172,61,.07), rgba(229,9,20,.05));
  border: 1px solid rgba(240,172,61,.2);
}
.fc-award-context {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.fc-award-context-label {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--fc-yellow, #f0ac3d);
}
.fc-award-context-conv {
  font-size: 13px;
  font-weight: 500;
  color: var(--fc-muted);
}
.fc-award-context-link {
  color: var(--fc-text);
  text-decoration: none;
  font-weight: 700;
}
.fc-award-context-link:hover { color: var(--fc-red); }

/* Modo claro: label textual */
[data-theme="light"] .fc-award-seal__label,
[data-theme="light"] .fc-award-context-label { color: #b07a00; }

/* Card body */
.fc-conv-work-body {
  padding: .85rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  flex: 1;
}
.fc-conv-work-title {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: var(--fc-text);
  line-height: 1.25;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fc-conv-work-logline {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  color: var(--fc-muted);
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fc-conv-work-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: .25rem;
}
.fc-conv-work-meta span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--fc-muted);
}
.fc-conv-work-meta span + span::before {
  content: "·";
  margin-right: 6px;
  opacity: .5;
}
.fc-conv-work-cta {
  display: inline-block;
  margin-top: auto;
  padding-top: .6rem;
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--fc-red);
}

/* Zona clicable poster+body en fc-conv-work-card (sin envolver form de voto) */
.fc-conv-work-link{display:flex;flex-direction:column;flex:1;text-decoration:none!important;color:inherit;cursor:pointer}
.fc-conv-work-link:focus-visible{outline:2px solid var(--fc-red);outline-offset:2px}
.fc-conv-work-link:hover .fc-conv-work-poster img{transform:scale(1.04)}

/* ── Sistema de votación ────────────────────────────────────────────────────── */

/* Star rating - CSS only, row-reverse trick */
.fc-rating {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.fc-rating-stars {
  display: inline-flex;
  gap: 3px;
  align-items: center;
}
.fc-rating-star {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 26px;
  line-height: 1;
  color: rgba(255,255,255,.18);
  transition: color .1s, transform .1s;
  user-select: none;
}
[data-theme="light"] .fc-rating-star { color: rgba(0,0,0,.15); }
.fc-rating-star:hover { color: var(--fc-yellow, #ffe16d); transform: scale(1.12); }
.fc-rating-star.is-active { color: var(--fc-yellow, #ffe16d); transform: none; }
[data-theme="light"] .fc-rating-star:hover,
[data-theme="light"] .fc-rating-star.is-active { color: #f5a623; }
.fc-rating-star:focus-visible { outline: 2px solid var(--fc-yellow, #ffe16d); outline-offset: 2px; }

/* Vote card (jury or public) */
.fc-vote-card {
  border-top: 1px solid var(--fc-line);
  padding: 1rem 0 .5rem;
  margin-top: .75rem;
}
.fc-vote-card-label {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--fc-muted);
  margin-bottom: .5rem;
}
.fc-vote-card textarea.fc-input {
  margin-top: .5rem;
  font-size: 12px;
  min-height: 48px;
}

/* Voting summary badge row */
.fc-voting-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: .4rem;
}
.fc-voting-score {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--fc-text);
  background: rgba(255,255,255,.06);
  border: 1px solid var(--fc-line);
  border-radius: 6px;
  padding: 3px 8px;
}
[data-theme="light"] .fc-voting-score {
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.12);
}
.fc-voting-score .material-symbols-outlined { font-size: 13px; color: var(--fc-yellow, #ffd600); }
[data-theme="light"] .fc-voting-score .material-symbols-outlined { color: #f5a623; }

/* 0-star option */
.fc-rating-zero { display: inline-flex; align-items: center; gap: 4px; background: none; border: 1px solid transparent; border-radius: 4px; padding: 2px 6px; cursor: pointer; font-family: Inter, system-ui, sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.3); user-select: none; transition: color .1s, border-color .1s, background .1s; }
[data-theme="light"] .fc-rating-zero { color: rgba(0,0,0,.3); }
.fc-rating-zero:hover { color: rgba(255,255,255,.6); }
[data-theme="light"] .fc-rating-zero:hover { color: rgba(0,0,0,.5); }
.fc-rating-zero.is-active { color: var(--fc-yellow, #ffe16d); border-color: rgba(255,225,109,.5); background: rgba(255,225,109,.08); }
[data-theme="light"] .fc-rating-zero.is-active { color: #f5a623; border-color: rgba(245,166,35,.4); background: rgba(245,166,35,.08); }
.fc-rating-zero:focus-visible { outline: 2px solid var(--fc-yellow, #ffe16d); outline-offset: 2px; }

/* Jury panel: application grid */
.fc-jury-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
  margin-top: 1.5rem;
}
@media (max-width: 639px) { .fc-jury-grid { grid-template-columns: 1fr; } }

.fc-jury-app-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.fc-jury-poster {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}
[data-theme="light"] .fc-jury-poster { background: rgba(0,0,0,.06); }
.fc-jury-poster img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fc-jury-poster .material-symbols-outlined { font-size: 36px; color: var(--fc-muted); opacity: .4; }
.fc-jury-body { padding: .85rem 1rem 1rem; flex: 1; display: flex; flex-direction: column; gap: .3rem; }
.fc-jury-title {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: var(--fc-text);
  line-height: 1.25;
}
.fc-jury-meta {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  color: var(--fc-muted);
}
.fc-jury-section-header {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: .4rem 0 .5rem;
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--fc-muted);
  border-bottom: 1px solid var(--fc-border);
  margin-top: .5rem;
}
.fc-jury-section-header .material-symbols-outlined { font-size: 15px; }

/* ── Vote visualization ───────────────────────────────────────────────────────── */
.fc-vote-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 1.25rem;
  margin-bottom: 1rem;
}
.fc-vote-metric {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--fc-surface);
  border: 1px solid var(--fc-border);
  border-radius: 8px;
  padding: .65rem 1rem;
  min-width: 100px;
  gap: 2px;
}
.fc-vote-metric strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--fc-text);
  line-height: 1.1;
}
.fc-vote-metric span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--fc-muted);
}
.fc-vote-metric--highlight strong { color: var(--fc-yellow, #ffe16d); }
[data-theme="light"] .fc-vote-metric--highlight strong { color: #f5a623; }

.fc-vote-score {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--fc-yellow, #ffe16d);
}
[data-theme="light"] .fc-vote-score { color: #f5a623; }
.fc-vote-score .material-symbols-outlined { font-size: 14px; }

.fc-vote-muted {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  color: var(--fc-muted);
}

.fc-vote-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--fc-border);
  border-radius: 999px;
  padding: 2px 8px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  color: var(--fc-text);
}
[data-theme="light"] .fc-vote-pill { background: rgba(0,0,0,.04); }
.fc-vote-pill .material-symbols-outlined { font-size: 12px; color: var(--fc-yellow, #ffe16d); }
[data-theme="light"] .fc-vote-pill .material-symbols-outlined { color: #f5a623; }

.fc-vote-progress { display: flex; flex-direction: column; gap: 4px; width: 100%; }
.fc-vote-progress-bar {
  width: 100%;
  height: 5px;
  background: rgba(255,255,255,.08);
  border-radius: 999px;
  overflow: hidden;
}
[data-theme="light"] .fc-vote-progress-bar { background: rgba(0,0,0,.1); }
.fc-vote-progress-fill {
  height: 100%;
  background: var(--fc-yellow, #ffe16d);
  border-radius: 999px;
  transition: width .3s ease;
}
[data-theme="light"] .fc-vote-progress-fill { background: #f5a623; }
.fc-vote-progress-label {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  color: var(--fc-muted);
  display: flex;
  justify-content: space-between;
}

.fc-vote-jury-list { display: flex; flex-direction: column; gap: 5px; margin-top: 6px; }
.fc-vote-jury-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 5px 8px;
  background: rgba(255,255,255,.04);
  border-radius: 6px;
  border: 1px solid var(--fc-border);
}
[data-theme="light"] .fc-vote-jury-item { background: rgba(0,0,0,.03); }
.fc-vote-jury-item-header {
  display: flex;
  align-items: center;
  gap: 5px;
}
.fc-vote-jury-comment {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  color: var(--fc-muted);
  font-style: italic;
  margin: 0;
  padding-left: 18px;
}

/* ── Vote Ranking Card ─────────────────────────────────────────────────────── */
.fc-vote-ranking-card {}

.fc-vote-ranking-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}

.fc-vote-ranking-kicker {
  display: block;
  font-size: 10px;
  color: var(--color-on-surface-variant);
  margin-bottom: 14px;
}

.fc-vote-ranking-list { list-style: none; margin: 0; padding: 0; }

.fc-vote-ranking-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 10px;
  border-radius: 10px;
  margin-bottom: 4px;
  border: 1px solid transparent;
  transition: background 0.15s;
}
.fc-vote-ranking-item:last-child { margin-bottom: 0; }

.fc-vote-ranking-item.is-winner {
  background: rgba(255,225,109,0.05);
  border-color: rgba(255,225,109,0.22);
  align-items: center;
}
[data-theme="light"] .fc-vote-ranking-item.is-winner {
  background: rgba(245,166,35,0.06);
  border-color: rgba(245,166,35,0.28);
}

.fc-vote-ranking-position {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
  background: var(--color-surface-variant, rgba(255,255,255,0.08));
  color: var(--color-on-surface-variant);
}
.fc-vote-ranking-item.is-winner .fc-vote-ranking-position {
  background: var(--fc-yellow, #ffe16d);
  color: #1a1100;
}

.fc-vote-ranking-body { flex: 1; min-width: 0; }

.fc-vote-ranking-title-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 3px;
}

.fc-vote-ranking-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-on-surface);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
a.fc-vote-ranking-title { text-decoration: none; }
a.fc-vote-ranking-title:hover { text-decoration: underline; }

.fc-vote-ranking-seal {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  border-radius: 20px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
  background: var(--fc-yellow, #ffe16d);
  color: #1a1100;
}
[data-theme="light"] .fc-vote-ranking-seal { background: #f5a623; color: #fff; }

.fc-vote-ranking-score {
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 3px;
  color: var(--fc-yellow, #ffe16d);
}
[data-theme="light"] .fc-vote-ranking-score { color: #f5a623; }

.fc-vote-ranking-metrics { display: flex; flex-direction: column; gap: 1px; }

.fc-vote-ranking-metric {
  font-size: 11px;
  color: var(--color-on-surface-variant);
}
.fc-vote-ranking-metric strong {
  font-weight: 600;
  color: var(--color-on-surface);
}

.fc-vote-ranking-empty { font-size: 13px; color: var(--color-on-surface-variant); }

/* ── fcAjaxForms - estados de carga y feedback inline ───────────────────────── */
.fc-is-loading { opacity: .65; pointer-events: none; }
.fc-inline-status { display: inline-block; font-size: 12px; font-weight: 600; margin-left: 8px; vertical-align: middle; }
.fc-inline-status--success { color: var(--color-success, #2e7d32); }
.fc-inline-status--error   { color: var(--color-error,   #c62828); }
.fc-component { transition: outline 0s; }
.fc-component-updated { outline: 2px solid var(--color-primary, #1565c0); outline-offset: 2px; border-radius: 8px; transition: outline 1.2s ease; }

/* FIRST CUT AUTH LOGO THEME FIX - START */

/*
 * En las pantallas de autenticación existen dos imágenes:
 * una para modo claro y otra para modo oscuro.
 * Estas reglas garantizan que nunca se muestren simultáneamente.
 */

/* Tema oscuro por defecto */
.fc-auth-brand-link .fc-brand-logo--light,
.fc-auth-brand-logo.fc-brand-logo--light {
  display: none !important;
}

.fc-auth-brand-link .fc-brand-logo--dark,
.fc-auth-brand-logo.fc-brand-logo--dark {
  display: block !important;
}

/* Tema claro */
html[data-theme="light"] .fc-auth-brand-link .fc-brand-logo--light,
html[data-theme="light"] .fc-auth-brand-logo.fc-brand-logo--light,
body[data-theme="light"] .fc-auth-brand-link .fc-brand-logo--light,
body[data-theme="light"] .fc-auth-brand-logo.fc-brand-logo--light,
[data-theme="light"] .fc-auth-brand-link .fc-brand-logo--light,
[data-theme="light"] .fc-auth-brand-logo.fc-brand-logo--light {
  display: block !important;
}

html[data-theme="light"] .fc-auth-brand-link .fc-brand-logo--dark,
html[data-theme="light"] .fc-auth-brand-logo.fc-brand-logo--dark,
body[data-theme="light"] .fc-auth-brand-link .fc-brand-logo--dark,
body[data-theme="light"] .fc-auth-brand-logo.fc-brand-logo--dark,
[data-theme="light"] .fc-auth-brand-link .fc-brand-logo--dark,
[data-theme="light"] .fc-auth-brand-logo.fc-brand-logo--dark {
  display: none !important;
}

/* FIRST CUT AUTH LOGO THEME FIX - END */
