:root{--glass-bg:rgba(10,12,24,.58);--glass-bg-strong:rgba(8,10,20,.8);--glass-border:rgba(190,210,255,.16);--glass-highlight:rgba(255,255,255,.1);--glass-blue:#9fc9ff;--glass-violet:#a99cff;--glass-radius:20px;--glass-shadow:0 24px 70px rgba(0,0,0,.42)}
html{background:#03040a;color-scheme:dark}body{min-height:100dvh;background:#03040a!important;overflow-x:hidden;position:relative;isolation:isolate}.ambient-stage{--ambient-video-opacity:.74;position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(circle at 14% 8%,#172f68 0,transparent 34%),radial-gradient(circle at 86% 18%,#332266 0,transparent 32%),radial-gradient(circle at 68% 90%,#12234c 0,transparent 38%),#03040a}.ambient-stage:before,.ambient-stage:after{content:"";position:absolute;z-index:0;width:55vw;height:55vw;border-radius:44% 56% 62% 38%;filter:blur(75px);opacity:.32;will-change:transform}.ambient-stage:before{left:-18vw;top:20vh;background:linear-gradient(135deg,#2359bd,#6e40d8);animation:glassDriftA 18s ease-in-out infinite alternate}.ambient-stage:after{right:-20vw;top:-12vh;background:linear-gradient(135deg,#193c87,#8a52ca);animation:glassDriftB 22s ease-in-out infinite alternate}.ambient-poster,.ambient-video,.ambient-shade{position:absolute;inset:0;width:100%;height:100%}.ambient-poster{z-index:1;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:1}.ambient-video{z-index:2;object-fit:cover;object-position:center;pointer-events:none;opacity:0;transition:opacity .8s ease}.ambient-stage.is-video-ready .ambient-video{opacity:var(--ambient-video-opacity)}.ambient-shade{z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(2,3,8,.2),rgba(2,3,8,.66));backdrop-filter:saturate(115%)}.ambient-stage[data-mode=live]{--ambient-video-opacity:.54}.ambient-stage[data-mode=live] .ambient-shade{background:radial-gradient(circle at 50% 42%,rgba(1,2,7,.42),rgba(1,2,7,.12) 52%,rgba(1,2,7,.38) 100%),linear-gradient(180deg,rgba(2,3,8,.28),rgba(2,3,8,.78))}
.workspace-nav{top:14px;margin:0 auto;width:min(96%,1500px);border:1px solid var(--glass-border)!important;border-radius:18px!important;background:rgba(8,10,20,.58)!important;box-shadow:0 16px 45px rgba(0,0,0,.28),inset 0 1px var(--glass-highlight);backdrop-filter:blur(22px) saturate(150%);animation:glassEnter .55s cubic-bezier(.22,1,.36,1) both}.workspace-nav-tabs a,.workspace-nav-account{border-radius:12px!important;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}.workspace-nav-tabs a:hover,.workspace-nav-account:hover{transform:translateY(-2px)}.workspace-nav-tabs a[aria-current=page]{box-shadow:0 8px 24px rgba(140,180,255,.18)}
.workspace-shell{width:min(96%,1500px);margin:34px auto 60px}.workspace-view{display:none}.workspace-view.is-active{display:block;animation:viewEnter .28s cubic-bezier(.22,1,.36,1) both}.workspace-view.is-leaving{display:block;animation:viewLeave .14s ease both}.glass-panel,.panel,.header-bar,.now-next-strip,.metric-card{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow),inset 0 1px var(--glass-highlight)!important;backdrop-filter:blur(20px) saturate(145%);border-radius:var(--glass-radius)!important}.header-bar{margin-bottom:22px}.main-grid{gap:22px}.panel,.metric-card,.project-chip,.summary-card{transition:transform .24s ease,border-color .24s ease,background .24s ease}.panel:hover,.metric-card:hover{border-color:rgba(190,210,255,.28)!important}.btn,.btn-icon,.summary-link{border-radius:12px!important}.form-control{background:rgba(3,5,13,.5)!important;border-color:var(--glass-border)!important;border-radius:12px!important}.table-container,.timing-table,.timeline-container,.timeline-bar{border-radius:12px!important}.timing-table th,.timing-table td{background:rgba(12,17,34,.72)!important}.shell-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;margin-bottom:18px}.shell-hero .glass-panel{padding:clamp(24px,4vw,54px)}.shell-hero h1{font-size:clamp(42px,7vw,92px);line-height:.9;letter-spacing:-.065em;margin:12px 0 24px}.shell-eyebrow{color:#b8cfff;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:800}.shell-muted{color:#a5a8b5}.shell-actions{display:flex;flex-wrap:wrap;gap:10px}.shell-projects{padding:24px}.shell-project-row{display:flex;justify-content:space-between;gap:18px;padding:16px 4px;border-bottom:1px solid var(--glass-border);transition:padding .22s ease,border-color .22s ease}.shell-project-row:hover{padding-left:12px;border-color:var(--glass-blue)}.shell-project-row a{color:#f5f5f2;text-decoration:none}.shell-skeleton{height:58px;margin:8px 0;border-radius:12px;background:linear-gradient(100deg,rgba(255,255,255,.03) 20%,rgba(180,205,255,.12) 40%,rgba(255,255,255,.03) 60%);background-size:220% 100%;animation:skeleton 1.6s linear infinite}.shell-message{padding:16px;border:1px solid var(--glass-border);border-radius:12px;background:rgba(5,7,16,.55)}
@keyframes glassEnter{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes viewEnter{from{opacity:0;transform:translateY(12px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes viewLeave{to{opacity:0;transform:translateY(-6px);filter:blur(4px)}}@keyframes glassDriftA{to{transform:translate3d(16vw,-8vh,0) rotate(16deg) scale(1.08)}}@keyframes glassDriftB{to{transform:translate3d(-12vw,14vh,0) rotate(-18deg) scale(.92)}}@keyframes skeleton{to{background-position:-220% 0}}
@media(max-width:900px){.shell-hero{grid-template-columns:1fr}.workspace-shell{margin-top:24px}.glass-panel,.panel,.header-bar,.now-next-strip,.metric-card{backdrop-filter:blur(14px) saturate(135%)}}
@media(max-width:640px){.workspace-nav{top:8px;border-radius:15px!important}.workspace-shell{width:100%;padding:0 10px}.shell-hero h1{font-size:clamp(48px,15vw,72px)}.glass-panel,.panel,.header-bar,.now-next-strip,.metric-card{border-radius:16px!important}}
@media(prefers-reduced-motion:reduce){.ambient-stage:before,.ambient-stage:after,.workspace-nav,.workspace-view,.shell-skeleton{animation:none!important}.workspace-nav-tabs a,.panel,.metric-card,.shell-project-row{transition:none!important}.ambient-video{display:none}}
.live-body .ambient-stage:before,.live-body .ambient-stage:after{animation:none;opacity:.16}.live-body .live-header,.live-body .admin-toolbar,.live-body .director-toolbar,.live-body .active-hero-card,.live-body .live-table-container,.live-body .modal-card{background:rgba(8,10,20,.78)!important;border-color:var(--glass-border)!important;box-shadow:var(--glass-shadow),inset 0 1px var(--glass-highlight)!important;backdrop-filter:blur(16px) saturate(135%);border-radius:16px!important}

/* Final header and form rhythm overrides. */
.workspace-nav { position:fixed!important; top:0!important; border-radius:0!important; }
.workspace-shell { padding-top:86px; }
#inviteForm { display:grid; gap:22px; }
#inviteForm .role-choice { margin:0; }
#inviteForm .shell-message { margin:0; min-height:52px; display:flex; align-items:center; }
#inviteForm .btn { margin-top:0; }
.shell-message[data-status="success"] { color:#8ff0b4; border-color:rgba(143,240,180,.45); background:rgba(50,150,95,.12); }
.shell-message[data-status="warning"] { color:#f4d98a; border-color:rgba(244,217,138,.45); background:rgba(160,120,30,.12); }
.shell-message[data-status="error"] { color:#ffaaa8; border-color:rgba(255,120,120,.45); background:rgba(150,40,40,.12); }
.team-reset { min-height:36px; padding:8px 10px; border:1px solid rgba(159,201,255,.3); border-radius:8px; background:transparent; color:#b8cfff; cursor:pointer; font-size:11px; }
.team-reset:hover,.team-reset:focus-visible { background:rgba(159,201,255,.14); outline:none; }
@media(max-width:760px){.workspace-nav{top:0!important;border-radius:0!important}.workspace-shell{padding-top:132px}.workspace-nav-account-menu{right:0;max-width:calc(100vw - 24px)}}

/* Shared editorial identity: landing, authentication and authenticated workspace. */
.workspace-nav {
  min-height:70px;
  padding:10px 14px 10px 20px;
  background:rgba(3,5,12,.68)!important;
  border-color:rgba(184,215,255,.2)!important;
}

/* Editorial header: full-width rail, keeping glass only as a thin navigation surface. */
.workspace-nav { position:fixed!important; inset:0 0 auto; width:100%!important; max-width:none!important; margin:0!important; top:0!important; border-radius:0!important; border:0!important; border-bottom:1px solid rgba(184,215,255,.2)!important; padding-inline:max(20px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-right)); background:rgba(3,5,12,.78)!important; box-shadow:0 12px 40px rgba(0,0,0,.24), inset 0 -1px rgba(255,255,255,.03)!important; }
.workspace-shell { padding-top:86px; }
.workspace-nav-account-wrap { position:relative; margin-left:4px; }
.workspace-nav-account-menu { position:absolute; right:0; top:calc(100% + 10px); width:230px; padding:8px; border:1px solid var(--glass-border); border-radius:12px; background:rgba(8,10,20,.94); box-shadow:var(--glass-shadow); backdrop-filter:blur(20px); }
.workspace-nav-account-menu[hidden] { display:none; }
.workspace-nav-account-menu button { display:block; width:100%; min-height:42px; padding:10px 12px; border:0; border-radius:8px; background:transparent; color:var(--nav-text); text-align:left; cursor:pointer; }
.workspace-nav-account-menu button:hover,.workspace-nav-account-menu button:focus-visible { background:rgba(159,201,255,.16); outline:none; }
.workspace-nav-account-menu .account-menu-muted { padding:10px 12px 8px; color:var(--nav-muted); font-size:11px; border-bottom:1px solid var(--glass-border); margin-bottom:4px; }
.workspace-nav-brand {
  font-size:13px;
  letter-spacing:.22em;
}
.workspace-nav-project {
  position:relative;
  padding-left:18px;
  color:#b3b6c0;
}
.workspace-nav-project::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#80e2a7;
  box-shadow:0 0 12px rgba(128,226,167,.7);
  transform:translateY(-50%);
}
.workspace-nav-tabs a,
.workspace-nav-account {
  min-height:42px;
  padding-inline:14px;
  font-weight:600;
}
.workspace-nav-tabs a[aria-current="page"] {
  color:#050609;
  background:#f5f5f2;
  border-color:#f5f5f2;
}
.workspace-nav-live {
  background:#80e2a7!important;
  border-color:#80e2a7!important;
}
.notes-filter { max-width: 220px; }
.notes-list { display: grid; gap: 14px; }
.note-block { padding: 18px 0; border-top: 1px solid var(--glass-border, #2d3342); }
.note-block-meta { display:flex; gap:16px; align-items:center; color:var(--text-muted,#9da5b7); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.note-block h3 { margin:10px 0 16px; font-size:clamp(20px,3vw,30px); }
.note-copy { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.note-copy p { margin:8px 0 0; color:var(--text-muted,#b7bdca); white-space:pre-wrap; line-height:1.6; }
@media (max-width:700px){.note-copy{grid-template-columns:1fr}.notes-filter{max-width:none;width:100%}}

.workspace-shell {
  margin-top:clamp(30px,5vw,72px);
}
.shell-page-head {
  width:min(980px,100%);
  margin:0 0 clamp(30px,5vw,64px);
  padding:clamp(10px,2vw,24px) clamp(4px,1vw,14px);
}
.shell-page-head h1 {
  max-width:900px;
  margin:14px 0 22px;
  font-size:clamp(52px,8vw,112px);
  font-weight:620;
  line-height:.88;
  letter-spacing:-.068em;
}
.shell-page-head p,
.shell-lead {
  max-width:620px;
  margin:0;
  color:#b8bac2;
  font-size:clamp(15px,1.5vw,19px);
  line-height:1.5;
}
.shell-page-head > *,
.shell-editorial > *,
.shell-status-panel > * {
  animation:editorialReveal .58s cubic-bezier(.22,1,.36,1) both;
}
.shell-page-head > :nth-child(2),
.shell-editorial > :nth-child(2) { animation-delay:.07s; }
.shell-page-head > :nth-child(3),
.shell-editorial > :nth-child(3) { animation-delay:.14s; }
.shell-editorial > :nth-child(4) { animation-delay:.21s; }

.shell-hero {
  grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);
  gap:clamp(14px,2vw,24px);
  margin-bottom:clamp(14px,2vw,24px);
}
.shell-hero .glass-panel {
  min-height:clamp(370px,43vw,570px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  overflow:hidden;
}
.shell-editorial {
  position:relative;
}
.shell-editorial::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(184,215,255,.07),transparent 42%);
}
.shell-hero h1 {
  max-width:850px;
  margin:14px 0 24px;
  font-size:clamp(56px,7.4vw,108px);
}
.shell-hero .shell-actions {
  margin-top:28px;
}
.shell-status-panel {
  justify-content:flex-start!important;
  padding-top:clamp(30px,4vw,54px)!important;
}
.shell-status-panel h2 {
  margin:16px 0 8px;
  font-size:clamp(28px,3vw,46px);
  line-height:1;
  letter-spacing:-.045em;
}
.shell-status-panel .now-next-card {
  width:100%;
  margin-top:auto;
  padding-top:26px;
  border-top:1px solid var(--glass-border);
}
.shell-status-panel .now-next-card strong {
  margin-top:8px;
  font-size:clamp(19px,2vw,28px);
}

.glass-panel,
.panel,
.header-bar,
.now-next-strip,
.metric-card {
  background:linear-gradient(145deg,rgba(10,14,27,.72),rgba(5,7,15,.6))!important;
  border-color:rgba(184,215,255,.18)!important;
}
.shell-projects {
  padding:clamp(22px,3vw,40px);
}
.panel-title {
  min-height:58px;
  align-items:flex-end;
}
.panel-title h2 {
  margin:7px 0 0;
  color:#f5f5f2;
  font-size:clamp(24px,2.4vw,36px);
  line-height:1;
  letter-spacing:-.04em;
}
.shell-project-row {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  min-height:66px;
  padding:14px 4px;
}
.shell-row-index {
  color:#7f8491;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
}
.shell-project-row a,
.shell-project-row > span:nth-child(2) {
  font-size:clamp(15px,1.4vw,18px);
}
.shell-role {
  padding:7px 10px;
  border:1px solid rgba(184,215,255,.18);
  border-radius:8px;
  color:#cbd9ed;
  background:rgba(184,215,255,.06);
  font-size:11px;
  font-weight:700;
}

.shell-form-panel {
  max-width:1120px;
}
.shell-form-panel > .shell-muted {
  margin:18px 0 30px;
}
.form-label {
  display:block;
  margin-bottom:9px;
  color:#aaaeb8;
  font-size:10px;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.workspace-shell .form-control {
  min-height:48px;
  padding:11px 13px;
  color:#f5f5f2!important;
  background:rgba(5,9,18,.78)!important;
  border:1px solid rgba(184,215,255,.24)!important;
  border-radius:9px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.workspace-shell .form-control:hover {
  border-color:rgba(184,215,255,.42)!important;
  background:rgba(8,13,25,.9)!important;
}
.workspace-shell .form-control:focus {
  outline:0;
  border-color:#b8d7ff!important;
  box-shadow:0 0 0 3px rgba(184,215,255,.12);
}
.workspace-shell .form-control::placeholder {
  color:#747985;
}
.workspace-shell .btn {
  min-height:46px;
  padding-inline:18px;
  font-weight:700;
}
.workspace-shell .btn-primary {
  color:#050609;
  background:#f5f5f2!important;
  border-color:#f5f5f2!important;
}
.workspace-shell .btn-primary:hover {
  background:#b8d7ff!important;
  border-color:#b8d7ff!important;
  transform:translateY(-2px);
}
.workspace-shell .btn-secondary:hover {
  color:#fff;
  border-color:rgba(184,215,255,.48)!important;
  background:rgba(184,215,255,.08)!important;
}
.shell-message {
  color:#bec3cf;
  border-color:rgba(184,215,255,.2);
  background:rgba(4,8,17,.72);
}
.workspace-view[data-route="schedule"] .header-bar {
  position:sticky;
  top:96px;
  z-index:20;
}
.workspace-view[data-route="schedule"] #teamPanel { display:none; }

@keyframes editorialReveal {
  from { opacity:0; transform:translateY(18px); }
  to { opacity:1; transform:none; }
}

@media(max-width:900px){
  .shell-hero{grid-template-columns:1fr}
  .shell-hero .glass-panel{min-height:360px}
  .shell-status-panel{min-height:300px!important}
  .workspace-view[data-route="schedule"] .header-bar{top:146px}
}
@media(max-width:640px){
  .workspace-shell{padding:0 12px}
  .shell-page-head{margin-bottom:28px;padding:12px 5px}
  .shell-page-head h1{font-size:clamp(48px,15vw,68px)}
  .shell-page-head p,.shell-lead{font-size:15px}
  .shell-hero h1{font-size:clamp(50px,15vw,70px)}
  .shell-hero .glass-panel{min-height:390px;padding:26px 22px}
  .shell-projects{padding:22px 18px}
  .panel-title{align-items:flex-start;gap:16px}
  .shell-project-row{grid-template-columns:34px minmax(0,1fr);gap:4px 8px}
  .shell-project-row > :last-child{grid-column:2}
  .workspace-view[data-route="schedule"] .header-bar{position:relative;top:auto}
}
@media(prefers-reduced-motion:reduce){
  .shell-page-head>*,.shell-editorial>*,.shell-status-panel>*{animation:none!important}
}

/* Project selector and team administration */
:root{--project-accent:#74a7ff}
.workspace-nav-project{color:#d4d8e2;text-decoration:none}.workspace-nav-project:hover{color:#fff}
.project-selector-active .workspace-nav-tabs{opacity:.35;pointer-events:none}.project-selector-active .workspace-nav-project::before{background:var(--project-accent)}
.project-selector-head{width:min(1400px,92vw);margin:clamp(38px,7vh,92px) auto 20px}.project-selector-head h1{margin:12px 0 18px;font-size:clamp(58px,9vw,138px);font-weight:620;line-height:.82;letter-spacing:-.075em}.project-selector-head p{max-width:590px;color:#b8bac2;font-size:clamp(16px,1.5vw,20px)}.selector-quota{display:inline-block;margin-top:18px;color:#aab0bd;font-size:12px;letter-spacing:.08em}
.project-selector-stage{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:18px 0 48px}.project-carousel{display:flex;gap:clamp(18px,2.5vw,40px);align-items:stretch;overflow-x:auto;padding:28px max(8vw,calc((100vw - 1500px)/2)) 16px;scroll-snap-type:x mandatory;scroll-padding-inline:20vw;scrollbar-width:none}.project-carousel::-webkit-scrollbar{display:none}.project-card{--cover-image:none;position:relative;flex:0 0 clamp(280px,29vw,450px);align-self:stretch;scroll-snap-align:start;cursor:pointer;opacity:1;transform:none;transition:border-color .2s ease,box-shadow .2s ease;filter:none;outline:none}.project-card:hover{transform:none}.project-card:focus-visible{box-shadow:0 0 0 3px var(--project-accent)}.project-card-art{position:relative;min-height:280px;overflow:hidden;border:1px solid rgba(210,225,255,.22);border-radius:20px;background-image:linear-gradient(180deg,rgba(3,5,12,.02),rgba(3,5,12,.88)),var(--cover-image),radial-gradient(circle at 20% 14%,color-mix(in srgb,var(--card-accent) 64%,transparent),transparent 42%),linear-gradient(145deg,#12182c,#05070f);background-size:cover;background-position:center;box-shadow:0 14px 30px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.12)}.project-card-art::after,.project-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(118deg,transparent 34%,rgba(255,255,255,.08) 48%,transparent 60%);transform:translateX(-120%);transition:transform .7s ease;pointer-events:none}.project-card:hover .project-card-art::after{transform:translateX(120%)}.project-card-index{position:absolute;top:22px;left:24px;font-size:11px;font-weight:800;letter-spacing:.16em}.project-card-copy{position:absolute;left:26px;right:26px;bottom:28px}.project-card-copy>span{color:#d8e5fa;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.project-card-copy h2{margin:10px 0 10px;font-size:clamp(30px,3.2vw,50px);line-height:.92;letter-spacing:-.055em}.project-card-copy p{margin:0;color:#c1c5cf}.project-card footer{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 8px;color:#aeb3c0;font-size:12px}.project-card footer strong{color:var(--card-accent)}
.accent-blue{--card-accent:#74a7ff}.accent-violet{--card-accent:#a78bfa}.accent-cyan{--card-accent:#22d3ee}.accent-green{--card-accent:#5ee49a}.accent-amber{--card-accent:#f5b942}.accent-rose{--card-accent:#fb7185}
.project-menu-button{position:absolute;z-index:3;top:16px;right:16px;width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#fff;background:rgba(3,5,12,.58);backdrop-filter:blur(14px);cursor:pointer}.project-menu{position:absolute;z-index:5;top:64px;right:16px;min-width:180px;padding:7px;border:1px solid var(--glass-border);border-radius:14px;background:rgba(6,8,17,.94);backdrop-filter:blur(20px)}.project-menu button{display:block;width:100%;padding:11px 12px;border:0;border-radius:9px;color:#e8eaf0;text-align:left;background:transparent;cursor:pointer}.project-menu button:hover{background:rgba(184,215,255,.1)}
.create-project-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;border:1px dashed rgba(184,215,255,.32);border-radius:28px;background:rgba(8,11,22,.46);text-align:center}.create-symbol{display:grid;place-items:center;width:96px;height:96px;margin-bottom:28px;border:1px solid rgba(184,215,255,.28);border-radius:50%;color:#fff;background:rgba(184,215,255,.06);font-size:52px;font-weight:200}.create-project-card h2{margin:0 0 10px;font-size:34px}.create-project-card p{max-width:260px;color:#aeb2bd}.project-card-skeleton{border-radius:28px;background:linear-gradient(100deg,rgba(255,255,255,.03),rgba(180,205,255,.13),rgba(255,255,255,.03));background-size:220% 100%;animation:skeleton 1.6s linear infinite}.carousel-arrow{position:absolute;z-index:4;top:50%;width:48px;height:48px;border:1px solid rgba(184,215,255,.25);border-radius:50%;color:#fff;background:rgba(5,8,18,.72);backdrop-filter:blur(16px);cursor:pointer}.carousel-prev{left:20px}.carousel-next{right:20px}
.summary-identity{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:28px;border:1px solid var(--glass-border);background:var(--glass-border)}.summary-identity>*{padding:18px;background:rgba(6,9,18,.86)}.summary-identity strong{color:var(--project-accent)}
.shell-modal[hidden]{display:none}.shell-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}.shell-modal-backdrop{position:absolute;inset:0;background:rgba(1,2,7,.76);backdrop-filter:blur(14px)}.shell-modal-card{position:relative;width:min(720px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:clamp(28px,5vw,52px);border:1px solid rgba(200,220,255,.24);border-radius:24px;background:linear-gradient(145deg,rgba(14,18,34,.94),rgba(5,7,15,.94));box-shadow:0 40px 120px rgba(0,0,0,.7);animation:modalIn .25s cubic-bezier(.22,1,.36,1)}.shell-modal-small{width:min(520px,100%)}.shell-modal-card h2{margin:10px 0 30px;font-size:clamp(36px,5vw,58px);line-height:.92;letter-spacing:-.055em}.shell-modal-close{position:absolute;top:18px;right:18px;width:44px;height:44px;border:1px solid var(--glass-border);border-radius:12px;color:#fff;background:transparent;font-size:24px;cursor:pointer}.modal-open{overflow:hidden}.wizard-actions{margin-top:28px}.project-preview{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:260px;margin-bottom:26px;padding:28px;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--card-accent) 55%,transparent),transparent 48%),#060914;background-size:cover;background-position:center}.project-preview span{z-index:1;font-size:10px;font-weight:800;letter-spacing:.18em}.project-preview strong{z-index:1;margin-top:8px;font-size:40px;line-height:.95}.accent-picker{display:flex;gap:13px;margin:0 0 26px;padding:0;border:0}.accent-picker legend{margin-bottom:12px;color:#aaaeb8;font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.accent-picker input{position:absolute;opacity:0}.accent-swatch{display:block;width:36px;height:36px;border:2px solid transparent;border-radius:50%;background:var(--card-accent);cursor:pointer}.accent-picker input:checked+.accent-swatch{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.role-choice{display:grid;gap:10px;margin-bottom:24px}.role-choice input{position:absolute;opacity:0}.role-choice label span{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid var(--glass-border);border-radius:12px;cursor:pointer}.role-choice label small{color:#aeb3bf}.role-choice input:checked+span{border-color:#b8d7ff;background:rgba(184,215,255,.08)}
.team-invitations{margin-top:20px}.team-list{margin-top:22px}.team-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto auto;align-items:center;gap:16px;min-height:78px;padding:12px 0;border-top:1px solid var(--glass-border)}.member-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#06101e;background:var(--project-accent);font-weight:800}.team-row>div{display:flex;flex-direction:column;gap:4px}.team-row small,.member-date{color:#999eab}.team-role-select,.team-remove{min-height:40px;padding:0 11px;border:1px solid var(--glass-border);border-radius:9px;color:#fff;background:rgba(5,8,17,.7)}.team-remove{cursor:pointer}.invite-status{padding:7px 10px;border-radius:8px;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.status-pending{color:#f5c76b;background:rgba(245,199,107,.1)}.status-accepted{color:#75e1a0}.status-expired,.status-revoked{color:#fb8b8b}.btn-danger{color:#fff!important;background:#b53c4c!important;border-color:#b53c4c!important}
.summary-team-meta{display:flex;align-items:center;gap:22px;margin-top:24px;padding-top:18px;border-top:1px solid var(--glass-border);color:#a5a8b5}.summary-team-meta strong{color:#fff}.summary-team-meta a{color:#b8cfff;text-decoration:none}.summary-team-meta a:hover{text-decoration:underline}
.shell-message[data-status=success]{color:#75e1a0;border-color:rgba(117,225,160,.35)}.shell-message[data-status=warning]{color:#f5c76b;border-color:rgba(245,199,107,.35)}.shell-message[data-status=error]{color:#ff8d8d;border-color:rgba(255,141,141,.35)}
@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:800px){.project-selector-head{width:calc(100% - 32px)}.project-selector-head h1{font-size:clamp(58px,17vw,92px)}.project-carousel{padding-inline:12vw}.project-card{flex-basis:min(78vw,380px)}.carousel-arrow{display:none}.summary-identity{grid-template-columns:1fr 1fr}.team-row{grid-template-columns:46px minmax(0,1fr) auto}.team-row .member-date{display:none}.team-row .team-role-select,.team-row .team-remove{grid-column:2 / -1}.project-selector-active .workspace-nav-tabs{display:none}}
@media(max-width:480px){.project-card{flex-basis:82vw}.project-card-art{border-radius:22px}.summary-identity{grid-template-columns:1fr}.shell-modal{padding:0}.shell-modal-card{max-height:100dvh;min-height:100dvh;border-radius:0}.team-row{gap:10px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-card-art::after,.shell-modal-card{transition:none!important;animation:none!important}}

/* Fase prioritaria: jerarquía compacta y lectura sin truncamientos. */
.workspace-shell{margin-top:12px;padding-top:72px}
.shell-page-head{padding-block:10px!important;margin-bottom:12px!important}
.shell-page-head h1{font-size:clamp(32px,4vw,52px)!important;line-height:1.04!important;margin:4px 0 10px!important}
.shell-page-head p{line-height:1.45}
.shell-hero h1{font-size:clamp(36px,5vw,64px)!important;line-height:1!important}
.workspace-nav-project{max-width:min(42vw,560px);overflow-wrap:anywhere;white-space:normal;text-overflow:clip}
.project-chip>span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;line-height:1.3}
.timing-table{table-layout:auto}
.timing-table th:first-child,.timing-table td:first-child{width:4ch;min-width:4ch;white-space:nowrap}
.timing-table th:nth-child(2),.timing-table td:nth-child(2){min-width:11ch}
.timing-table th:nth-child(4),.timing-table td:nth-child(4),.timing-table th:nth-child(5),.timing-table td:nth-child(5),.timing-table th:nth-child(6),.timing-table td:nth-child(6){min-width:8ch;white-space:nowrap}
.timing-table td:nth-child(3){min-width:18ch;white-space:normal;overflow-wrap:anywhere}
.block-item[draggable="false"] .drag-handle{opacity:.45;cursor:not-allowed}
.blocks-list{overflow:visible!important;max-height:none!important}
.block-item{min-width:0}
@media(max-width:700px){
  .workspace-shell{padding-top:110px;margin-top:6px}
  .shell-page-head h1{font-size:clamp(28px,8vw,40px)!important}
  .shell-hero h1{font-size:clamp(32px,10vw,52px)!important}
  .workspace-nav-project{max-width:calc(100vw - 120px);white-space:normal;overflow:visible}
  .timing-table{min-width:680px}
  .table-container{overflow-x:auto}
}

/* Narrow viewport safeguards: preserve readable titles and keep controls reachable. */
html,body{max-width:100%;overflow-x:hidden}
.workspace-shell,.workspace-view,.workspace-view>*{min-width:0;max-width:100%}
.workspace-nav-project{max-width:min(42vw,520px);overflow-wrap:anywhere;white-space:normal;line-height:1.25}
.shell-page-head h1,.shell-hero h1,.shell-status-panel h2,.project-selector-head h1,.project-card-copy h2,.now-next-card strong{overflow-wrap:anywhere;word-break:break-word}
.workspace-shell .form-control,.workspace-shell textarea,.workspace-shell select{max-width:100%;min-width:0}
.table-container{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:700px){
  .workspace-nav{width:100%;min-height:0;padding:10px 12px 8px;gap:8px}
  .workspace-nav-brand{flex:0 0 auto}
  .workspace-nav-project{order:2;flex:1 1 auto;width:auto;max-width:calc(100vw - 108px);white-space:normal}
  .workspace-nav-account-wrap{order:3;flex:0 0 auto}
  .workspace-nav-tabs{order:4;flex:1 1 100%;width:100%;max-width:100%;margin-left:0;padding-bottom:2px;overflow-x:auto;overscroll-behavior-x:contain}
  .workspace-nav-tabs a{flex:0 0 auto;min-width:max-content;min-height:44px}
  .workspace-shell{width:100%;max-width:100%;margin:18px auto 40px;padding:132px 12px 40px;overflow:visible}
  .shell-hero,.summary-identity,.note-copy,.grid-2,.grid-3,.form-row{grid-template-columns:1fr!important}
  .shell-hero h1,.shell-page-head h1,.project-selector-head h1{font-size:clamp(42px,14vw,72px);line-height:.94}
  .shell-hero .glass-panel,.shell-projects,.shell-page-head{padding-left:18px;padding-right:18px}
  .glass-panel,.panel,.header-bar,.main-grid,.timing-table,.timeline-container{min-width:0;max-width:100%}
  .header-bar{width:100%!important;position:relative!important;top:auto!important;overflow:visible;padding:16px!important}
  .header-bar .actions{display:flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .header-bar .actions>*{flex:0 0 auto;min-height:44px}
  .main-grid{display:block!important;width:100%!important}
  .main-grid>*{width:100%;max-width:100%;min-width:0}
  .blocks-list{max-height:none!important;overflow:visible!important;padding-right:0}
  .block-item,.block-header,.block-controls{min-width:0;max-width:100%}
  .timing-table{table-layout:fixed;font-size:12px}
  .timing-table th,.timing-table td{padding:10px 8px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .timing-table th:nth-child(1),.timing-table td:nth-child(1){width:10%}
  .timing-table th:nth-child(2),.timing-table td:nth-child(2){width:24%}
  .timing-table th:nth-child(3),.timing-table td:nth-child(3){width:40%}
  .timing-table th:nth-child(4),.timing-table td:nth-child(4),.timing-table th:nth-child(5),.timing-table td:nth-child(5){width:13%}
  .shell-form-panel .form-group{width:100%;min-width:0}
  .project-card-copy h2{font-size:clamp(28px,8vw,42px)}
  .shell-modal{padding:12px}
  .shell-modal-card{width:100%;max-width:100%;max-height:calc(100dvh - 24px);padding:24px 18px}
}

/* Optional landscape operating canvas for compact Escaleta/Live devices. */
@media (orientation:landscape) and (min-width:520px) and (max-width:900px){
  .workspace-shell{padding-top:96px}
  .workspace-view[data-route="schedule"] .main-grid{display:grid!important;grid-template-columns:minmax(220px,34%) minmax(0,1fr)!important;align-items:start}
  .workspace-view[data-route="schedule"] .header-bar{overflow-x:auto}
  .workspace-view[data-route="schedule"] .header-bar .actions{flex-wrap:nowrap;overflow-x:auto}
}

/* Compact hierarchy and interaction feedback (2026-09). */
:root {
  --workspace-page-title: clamp(32px, 4vw, 52px);
  --workspace-page-title-mobile: clamp(28px, 8vw, 40px);
  --workspace-section-title: clamp(20px, 2.2vw, 30px);
  --workspace-space: clamp(14px, 2vw, 24px);
}

.workspace-shell { padding-top: 78px; }
.shell-page-head { padding-block: clamp(12px, 2vw, 24px) !important; margin-bottom: var(--workspace-space) !important; }
.workspace-view .header-bar .brand-text h1 { font-size: clamp(20px, 2.2vw, 30px) !important; line-height: 1.08 !important; margin: 0 !important; }
.workspace-view .panel-title > span:first-child { font-size: clamp(16px, 1.8vw, 22px); line-height: 1.2; overflow-wrap: anywhere; }
.shell-page-head h1 { font-size: var(--workspace-page-title) !important; line-height: 1.02 !important; margin: 8px 0 12px !important; text-wrap: balance; }
.shell-page-head p { max-width: 66ch; margin: 0; }
.shell-hero .glass-panel { padding: clamp(22px, 3vw, 38px) !important; }
.shell-hero h1 { font-size: clamp(38px, 5vw, 66px) !important; line-height: .98 !important; margin: 8px 0 16px !important; text-wrap: balance; }
.shell-status-panel h2, .panel-title h2, .shell-projects h2 { font-size: var(--workspace-section-title) !important; line-height: 1.1 !important; text-wrap: balance; }
.project-selector-head h1 { font-size: clamp(44px, 7vw, 78px) !important; line-height: .96 !important; }
.shell-page-head h1, .shell-hero h1, .shell-status-panel h2, .project-selector-head h1, .project-card-copy h2, .now-next-card strong { overflow-wrap: anywhere; word-break: normal; }

.workspace-nav { min-height: 62px !important; padding-block: 7px !important; }
.workspace-nav-tabs a, .workspace-nav-account { min-height: 44px !important; display: inline-flex; align-items: center; }
.workspace-nav-tabs a[aria-current="page"] { position: relative; background: rgba(184,215,255,.14); color: #f7f9ff; }
.workspace-nav-tabs a[aria-current="page"]::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 3px; height: 2px; background: var(--glass-blue, #b8d7ff); }
.workspace-nav-project { text-overflow: clip; }
.workspace-nav a:focus-visible, .workspace-nav button:focus-visible, .btn:focus-visible, .form-control:focus-visible { outline: 2px solid #b8d7ff; outline-offset: 2px; }

.workspace-view[aria-busy="true"] { cursor: progress; }
.workspace-view[aria-busy="true"]::before { content: ""; display: block; height: 3px; margin: -8px 0 12px; background: linear-gradient(90deg, transparent, #9fc9ff, #a78bfa, transparent); background-size: 220% 100%; animation: workspaceProgress 1.2s linear infinite; }
.workspace-view[aria-busy="true"]::after { content: attr(data-loading-label); display: block; margin: -2px 0 12px; color: #aebfe0; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-view .shell-message[data-status="loading"] { display: flex; align-items: center; gap: 10px; color: #c8d8f6; }
.workspace-view .shell-message[data-status="loading"]::before { content: ""; width: 12px; height: 12px; border: 2px solid rgba(200,216,246,.28); border-top-color: #b8d7ff; border-radius: 50%; animation: workspaceSpin .8s linear infinite; }
.btn[aria-busy="true"] { pointer-events: none; opacity: .7; }
.btn[aria-busy="true"]::after { content: ""; display: inline-block; width: 12px; height: 12px; margin-left: 8px; vertical-align: -2px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: workspaceSpin .8s linear infinite; }

.shell-actions { gap: 12px !important; }
.shell-message { margin-block: 12px; overflow-wrap: anywhere; }
.panel-title { gap: 14px; }
.timing-table th, .timing-table td { overflow-wrap: anywhere; }

@keyframes workspaceProgress { to { background-position: -220% 0; } }
@keyframes workspaceSpin { to { transform: rotate(360deg); } }

@media (max-width: 700px) {
  .workspace-shell { padding-top: 118px; margin-top: 10px; }
  .shell-page-head h1, .workspace-view .shell-page-head h1 { font-size: var(--workspace-page-title-mobile) !important; line-height: 1.06 !important; }
  .shell-hero h1 { font-size: clamp(34px, 10vw, 52px) !important; }
  .project-selector-head h1 { font-size: clamp(40px, 13vw, 64px) !important; }
  .shell-page-head { padding-block: 8px !important; }
  .shell-page-head p { font-size: 14px; line-height: 1.45; }
  .workspace-nav { padding-top: max(7px, env(safe-area-inset-top)); }
  .workspace-nav-project { max-width: min(48vw, 320px); white-space: normal; overflow: visible; text-overflow: clip; }
  .workspace-nav-tabs a[aria-current="page"]::after { left: 8px; right: 8px; }
  .panel-title { align-items: flex-start; flex-wrap: wrap; }
  .shell-actions { width: 100%; }
  .shell-actions .btn { flex: 1 1 auto; min-width: 0; }
  .timing-table { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-view[aria-busy="true"]::before, .workspace-view .shell-message[data-status="loading"]::before, .btn[aria-busy="true"]::after { animation: none; }
}

/* Mobile schedule: keep operational fields compact and readable without zoom. */
@media (max-width: 700px) {
  .workspace-view[data-route="schedule"] .shell-page-head h1 {
    font-size: clamp(34px, 10vw, 52px) !important;
    line-height: 1 !important;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
  .workspace-view[data-route="schedule"] .shell-page-head p {
    max-width: 48ch;
    overflow-wrap: anywhere;
  }
  .workspace-view[data-route="schedule"] .segment-card .grid-2,
  .workspace-view[data-route="schedule"] .block-item .grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .workspace-view[data-route="schedule"] .block-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .workspace-view[data-route="schedule"] .block-header > div[style*="flex: 1"] {
    flex: 1 1 150px !important;
    min-width: 0;
    margin-inline: 0 !important;
  }
  .workspace-view[data-route="schedule"] .block-controls {
    flex: 0 0 auto;
  }
  .workspace-view[data-route="schedule"] .block-item input,
  .workspace-view[data-route="schedule"] .block-item select,
  .workspace-view[data-route="schedule"] .segment-card input,
  .workspace-view[data-route="schedule"] .segment-card select {
    min-width: 0;
    font-size: 14px;
  }
  .workspace-view[data-route="schedule"] .block-notes-fields {
    gap: 14px;
  }
}

@media (max-width: 380px) {
  .workspace-view[data-route="schedule"] .segment-card .grid-2,
  .workspace-view[data-route="schedule"] .block-item .grid-2 {
    grid-template-columns: 1fr !important;
  }
}

/* Curated workspace themes.  Scoped to authenticated pages so the public
   landing keeps its own art direction. */
.workspace-surface {
  --workspace-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  --workspace-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  --workspace-glow-a: rgba(70, 110, 210, .16);
  --workspace-glow-b: rgba(120, 70, 220, .14);
  font-family: var(--workspace-body);
  background:
    radial-gradient(70% 80% at 8% 12%, var(--workspace-glow-a), transparent 68%),
    radial-gradient(65% 75% at 92% 18%, var(--workspace-glow-b), transparent 70%),
    #03050d;
}
.workspace-surface h1,
.workspace-surface h2,
.workspace-surface h3,
.workspace-surface .workspace-nav-brand { font-family: var(--workspace-display); }
.workspace-surface[data-visual-theme="violet"] { --workspace-glow-a: rgba(90, 80, 220, .22); --workspace-glow-b: rgba(170, 70, 240, .18); --project-accent: #b49bff; }
.workspace-surface[data-visual-theme="cobalt"] { --workspace-glow-a: rgba(30, 120, 245, .22); --workspace-glow-b: rgba(25, 210, 235, .12); --project-accent: #79b8ff; }
.workspace-surface[data-visual-theme="ember"] { --workspace-glow-a: rgba(180, 80, 30, .16); --workspace-glow-b: rgba(240, 165, 45, .14); --project-accent: #f3b35b; }
.workspace-surface .glass-panel,
.workspace-surface .workspace-nav { background-color: color-mix(in srgb, #090d1d 78%, transparent); }
.workspace-surface .theme-control-group { grid-column: 1 / -1; max-width: 720px; }
.workspace-surface .theme-control-group small { display:block; margin-top:8px; line-height:1.45; }
@supports not (background: color-mix(in srgb, #000 50%, transparent)) {
  .workspace-surface .glass-panel,
  .workspace-surface .workspace-nav { background-color: rgba(9, 13, 29, .82); }
}

/* Workspace UX: navegación editorial, jerarquía Adobe-like y ayuda contextual */
.workspace-nav {
  width: 100% !important;
  min-height: 68px !important;
  margin: 0 !important;
  top: 0 !important;
  padding: 8px clamp(16px, 2.4vw, 40px) !important;
  border-width: 0 0 1px !important;
  border-radius: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto minmax(260px, 1fr);
  gap: clamp(12px, 2vw, 28px) !important;
}
.workspace-nav-primary,.workspace-nav-utility,.workspace-nav-tabs { display:flex; align-items:center; min-width:0; }
.workspace-nav-primary { gap:16px; }
.workspace-nav-utility { justify-content:flex-end; gap:8px; }
.workspace-nav-project { display:flex !important; align-items:center; gap:8px; max-width:min(28vw,320px); min-height:40px; padding:0 10px; border-radius:7px; }
.workspace-nav-project span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-project-dot { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:var(--project-accent,#74a7ff); box-shadow:0 0 12px var(--project-accent,#74a7ff); }
.workspace-nav-tabs { justify-content:center; gap:2px; margin:0 !important; overflow:visible !important; }
.workspace-nav-tabs>a,.workspace-tools-button,.workspace-help-button {
  min-height:42px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--theme-muted,var(--nav-muted)); cursor:pointer; text-decoration:none;
}
.workspace-nav-tabs>a,.workspace-tools-button { display:inline-flex; align-items:center; gap:7px; padding:0 10px; white-space:nowrap; font-size:12px; }
.workspace-nav-tabs svg,.workspace-tools-button svg,.workspace-help-button svg,.workspace-user-button>svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.workspace-nav-tabs a:hover,.workspace-tools-button:hover,.workspace-help-button:hover,.workspace-nav-account:hover { background:rgba(184,215,255,.08) !important; color:var(--theme-text,#f7f9ff) !important; transform:none !important; }
.workspace-nav-tabs a[aria-current="page"],.workspace-tools-button.is-active { background:rgba(184,215,255,.12) !important; color:var(--theme-text,#f7f9ff) !important; }
.workspace-nav-tabs a[aria-current="page"]::after { left:10px !important; right:10px !important; bottom:1px !important; }
.workspace-tools-wrap,.workspace-nav-account-wrap { position:relative; }
.workspace-tools-menu,.workspace-nav-account-menu {
  position:absolute; top:calc(100% + 10px); right:0; width:270px; padding:7px; border:1px solid var(--theme-border,var(--glass-border)); border-radius:10px; background:rgba(7,9,18,.97); box-shadow:0 22px 60px rgba(0,0,0,.45); backdrop-filter:blur(24px); z-index:90;
}
.workspace-tools-menu[hidden],.workspace-nav-account-menu[hidden]{display:none}
.workspace-tools-menu a { display:flex; flex-direction:column; gap:3px; padding:11px 12px; border-radius:7px; color:var(--theme-text,#f7f9ff); text-decoration:none; }
.workspace-tools-menu a:hover,.workspace-tools-menu a:focus-visible { background:rgba(184,215,255,.1); outline:none; }
.workspace-tools-menu small { color:var(--theme-muted,#9da5b7); font-size:11px; }
.workspace-help-button { width:42px; display:grid; place-items:center; padding:0; }
.workspace-nav-live { min-height:42px !important; padding:0 14px !important; border-radius:7px !important; white-space:nowrap; }
.workspace-user-button { min-height:46px !important; padding:4px 8px 4px 5px !important; gap:8px; border-radius:9px !important; }
.workspace-user-avatar { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:7px; background:var(--theme-accent,#b8d7ff); color:var(--theme-bg,#05070e); font-size:11px; font-weight:800; letter-spacing:.05em; }
.workspace-user-copy { display:flex; flex-direction:column; align-items:flex-start; min-width:0; line-height:1.15; }
.workspace-user-copy strong { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--theme-text,#f7f9ff); font-size:11px; }
.workspace-user-copy small { color:var(--theme-muted,#9da5b7); font-size:9px; }
.workspace-user-button>svg { width:14px; height:14px; }
.workspace-nav-account-menu { width:290px; }
.account-menu-profile { display:grid; grid-template-columns:34px 1fr; gap:10px; align-items:center; padding:9px 10px 13px; margin-bottom:5px; border-bottom:1px solid var(--theme-border,var(--glass-border)); }
.account-menu-profile div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.account-menu-profile strong,.account-menu-profile small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-menu-profile small { color:var(--theme-muted,#9da5b7); }
.workspace-nav-account-menu .account-menu-danger { color:#ff9e9e; border-top:1px solid var(--theme-border,var(--glass-border)); margin-top:5px; }

.form-help { display:block; margin-top:7px; color:var(--theme-muted,#9da5b7); font-size:12px; line-height:1.45; }
.form-control::placeholder,input::placeholder,textarea::placeholder { color:color-mix(in srgb, var(--theme-muted,#9da5b7) 72%, transparent); opacity:1; }
.shell-empty-state { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:14px; min-height:92px; padding:18px 2px; border-top:1px solid var(--theme-border,var(--glass-border)); border-bottom:1px solid var(--theme-border,var(--glass-border)); }
.shell-empty-mark { display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--theme-border,var(--glass-border)); border-radius:8px; color:var(--theme-accent,#b8d7ff); font-size:22px; }
.shell-empty-state strong { color:var(--theme-text,#f7f9ff); font-size:15px; }
.shell-empty-state p { margin:4px 0 0; color:var(--theme-muted,#9da5b7); font-size:13px; }

.onboarding-card { text-align:left; }
.tutorial-dots { display:flex; gap:6px; margin:20px 0 2px; }
.tutorial-dots i { width:22px; height:2px; background:rgba(255,255,255,.18); transition:background .2s ease,width .2s ease; }
.tutorial-dots i.is-active { width:38px; background:var(--theme-accent,#b8d7ff); }
.tutorial-actions { margin-top:18px; }
.tutorial-skip { margin-top:12px; padding:8px 0; border:0; background:transparent; color:var(--theme-muted,#9da5b7); text-decoration:underline; cursor:pointer; }
.is-tutorial-target { position:relative; z-index:1101 !important; box-shadow:0 0 0 3px var(--theme-accent,#b8d7ff),0 0 34px color-mix(in srgb,var(--theme-accent,#b8d7ff) 45%,transparent) !important; }
body:has(.onboarding-modal:not([hidden])) .workspace-nav { z-index:1100 !important; }
body:has(.onboarding-modal:not([hidden])) .onboarding-modal { z-index:1099; }
body:has(.onboarding-modal:not([hidden])) .onboarding-card { z-index:1102; }

@media(max-width:1180px){
  .workspace-nav { grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr); gap:8px !important; }
  .workspace-nav-tabs>a,.workspace-tools-button { padding-inline:8px; }
  .workspace-nav-tabs>a svg { display:none; }
  .workspace-user-copy { display:none; }
}
@media(max-width:820px){
  .workspace-nav { min-height:112px !important; grid-template-columns:minmax(0,1fr) auto !important; grid-template-rows:48px 48px; padding:7px 12px 8px !important; }
  .workspace-nav-primary { grid-column:1; grid-row:1; gap:9px; }
  .workspace-nav-utility { grid-column:2; grid-row:1; }
  .workspace-nav-tabs { grid-column:1 / -1; grid-row:2; justify-content:flex-start; width:100%; overflow-x:auto !important; overscroll-behavior-x:contain; scrollbar-width:none; }
  .workspace-nav-tabs::-webkit-scrollbar { display:none; }
  .workspace-nav-tabs>a,.workspace-tools-button { min-height:42px !important; flex:0 0 auto; }
  .workspace-nav-tabs>a svg { display:block; }
  .workspace-nav-project { max-width:48vw; }
  .workspace-nav-live { padding-inline:11px !important; }
  .workspace-help-button { display:none; }
  .workspace-shell { padding-top:126px !important; }
  .workspace-user-button>svg { display:none; }
}
@media(max-width:520px){
  .workspace-nav-brand { font-size:11px !important; letter-spacing:.18em !important; }
  .workspace-nav-project { max-width:43vw; padding-inline:5px; }
  .workspace-nav-live { font-size:0 !important; width:44px; padding:0 !important; }
  .workspace-nav-live::before { content:'LIVE'; font-size:9px; font-weight:800; letter-spacing:.08em; }
  .workspace-nav-account-menu,.workspace-tools-menu { position:fixed; top:66px; right:10px; left:10px; width:auto; }
  .workspace-tools-menu { top:112px; }
  .shell-empty-state { grid-template-columns:38px 1fr; }
  .shell-empty-state .btn { grid-column:1 / -1; width:100%; }
}
@media(prefers-reduced-motion:reduce){.tutorial-dots i,.is-tutorial-target{transition:none!important}}

/* Ticketera metrics */
.metrics-connect { margin-bottom: var(--space-5, 24px); }
.ticketera-connect-row,
.ticketera-connected { display: flex; align-items: center; gap: 14px; }
.ticketera-connect-row .form-control { flex: 1; min-width: 0; }
.ticketera-connected { justify-content: space-between; padding-top: 10px; }
.ticketera-connected > div { display: grid; gap: 5px; }
.ticketera-connected strong { font-size: clamp(1.15rem, 2vw, 1.55rem); overflow-wrap: anywhere; }
.metrics-dashboard { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.metrics-dashboard[hidden] { display: none; }
.metrics-dashboard .metric-card,
.metric-breakdown { border: 1px solid var(--theme-border, rgba(176,204,255,.2)); background: var(--theme-surface, rgba(8,12,25,.74)); backdrop-filter: blur(18px); }
.metrics-dashboard .metric-card { min-height: 132px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; }
.metrics-dashboard .metric-card > span { color: var(--theme-muted, #aeb7c9); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.metrics-dashboard .metric-card > strong { color: var(--theme-text, #f5f7ff); font: 650 clamp(1.8rem, 3vw, 3rem)/1 var(--theme-display, inherit); }
.metrics-dashboard .metric-card > small { color: var(--theme-muted, #aeb7c9); }
.metric-breakdown { grid-column: span 2; padding: 24px; }
.metric-bars { display: grid; gap: 15px; margin-top: 18px; }
.metric-bar { display: grid; gap: 7px; }
.metric-bar > div { display: flex; justify-content: space-between; gap: 16px; }
.metric-bar span { overflow-wrap: anywhere; }
.metric-bar i { height: 3px; background: rgba(255,255,255,.1); position: relative; overflow: hidden; }
.metric-bar i::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--metric-width); background: var(--theme-accent, #a8c9ff); transition: width .35s ease; }
@media (max-width: 900px) { .metrics-dashboard { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) {
  .metrics-dashboard { grid-template-columns: 1fr; }
  .metric-breakdown { grid-column: auto; }
  .ticketera-connect-row,
  .ticketera-connected { align-items: stretch; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .workspace-surface { background-attachment: initial; }
}

/* Full visual themes: each preset changes the complete authenticated workspace,
   while the public landing keeps its own identity. */
.workspace-surface[data-visual-theme="nocturne"] {
  --theme-bg: #03050d;
  --theme-surface: rgba(10, 14, 29, .78);
  --theme-surface-strong: rgba(13, 18, 38, .9);
  --theme-border: rgba(176, 204, 255, .22);
  --theme-text: #f5f7ff;
  --theme-muted: #aeb7c9;
  --theme-accent: #a8c9ff;
  --theme-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  --theme-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}
.workspace-surface[data-visual-theme="violet"] {
  --theme-bg: #0a0614;
  --theme-surface: rgba(27, 14, 50, .76);
  --theme-surface-strong: rgba(39, 20, 67, .9);
  --theme-border: rgba(211, 181, 255, .28);
  --theme-text: #fff8ff;
  --theme-muted: #c9b9d9;
  --theme-accent: #d1a7ff;
  --theme-display: Georgia, "Times New Roman", serif;
  --theme-body: "Trebuchet MS", Arial, sans-serif;
}
.workspace-surface[data-visual-theme="cobalt"] {
  --theme-bg: #03101b;
  --theme-surface: rgba(5, 31, 53, .78);
  --theme-surface-strong: rgba(7, 43, 72, .92);
  --theme-border: rgba(101, 215, 255, .3);
  --theme-text: #edfbff;
  --theme-muted: #9fc4d1;
  --theme-accent: #55d7ff;
  --theme-display: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  --theme-body: "Segoe UI", Arial, sans-serif;
}
.workspace-surface[data-visual-theme="ember"] {
  --theme-bg: #130907;
  --theme-surface: rgba(39, 19, 15, .78);
  --theme-surface-strong: rgba(57, 26, 18, .92);
  --theme-border: rgba(255, 190, 126, .28);
  --theme-text: #fff8f0;
  --theme-muted: #d2b6a6;
  --theme-accent: #ffbf7b;
  --theme-display: "Avenir Next", "Century Gothic", sans-serif;
  --theme-body: "Avenir Next", "Segoe UI", sans-serif;
}
.workspace-surface[data-visual-theme] {
  background: var(--theme-bg) !important;
  color: var(--theme-text);
  font-family: var(--theme-body);
}
.workspace-surface[data-visual-theme] .ambient-stage {
  background: radial-gradient(75% 90% at 8% 8%, color-mix(in srgb, var(--theme-accent) 24%, transparent), transparent 65%), var(--theme-bg);
}
.workspace-surface[data-visual-theme] .ambient-stage::before,
.workspace-surface[data-visual-theme] .ambient-stage::after { opacity: .4; }
.workspace-surface[data-visual-theme] .glass-panel,
.workspace-surface[data-visual-theme] .panel,
.workspace-surface[data-visual-theme] .header-bar,
.workspace-surface[data-visual-theme] .metric-card,
.workspace-surface[data-visual-theme] .now-next-strip {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text);
}
.workspace-surface[data-visual-theme] .workspace-nav {
  background: color-mix(in srgb, var(--theme-surface-strong) 86%, transparent) !important;
  border-color: var(--theme-border) !important;
}
.workspace-surface[data-visual-theme] h1,
.workspace-surface[data-visual-theme] h2,
.workspace-surface[data-visual-theme] h3,
.workspace-surface[data-visual-theme] .workspace-nav-brand,
.workspace-surface[data-visual-theme] .project-card-copy h2 {
  font-family: var(--theme-display);
  color: var(--theme-text);
}
.workspace-surface[data-visual-theme] p,
.workspace-surface[data-visual-theme] small,
.workspace-surface[data-visual-theme] .shell-muted,
.workspace-surface[data-visual-theme] .member-date { color: var(--theme-muted); }
.workspace-surface[data-visual-theme] .shell-eyebrow,
.workspace-surface[data-visual-theme] .summary-identity strong,
.workspace-surface[data-visual-theme] .workspace-nav-tabs a[aria-current="page"] { color: var(--theme-accent); }
.workspace-surface[data-visual-theme] .form-control,
.workspace-surface[data-visual-theme] select,
.workspace-surface[data-visual-theme] textarea,
.workspace-surface[data-visual-theme] input {
  background: color-mix(in srgb, var(--theme-bg) 72%, var(--theme-surface-strong)) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
.workspace-surface[data-visual-theme] .btn-primary,
.workspace-surface[data-visual-theme] .shell-actions .btn-primary {
  background: var(--theme-accent) !important;
  border-color: var(--theme-accent) !important;
  color: var(--theme-bg) !important;
}
.workspace-surface[data-visual-theme] .btn-secondary,
.workspace-surface[data-visual-theme] .btn-icon,
.workspace-surface[data-visual-theme] .summary-link {
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
  background: color-mix(in srgb, var(--theme-surface-strong) 68%, transparent) !important;
}
.workspace-surface[data-visual-theme] .timing-table th,
.workspace-surface[data-visual-theme] .timing-table td { background: color-mix(in srgb, var(--theme-surface-strong) 76%, transparent) !important; border-color: var(--theme-border) !important; }
.workspace-surface[data-visual-theme] .shell-project-row:hover,
.workspace-surface[data-visual-theme] .workspace-nav-tabs a:hover { border-color: var(--theme-accent); }
.workspace-surface[data-visual-theme] .project-card-art,
.workspace-surface[data-visual-theme] .project-preview { border-color: var(--theme-border); }
@supports not (background: color-mix(in srgb, #000 50%, transparent)) {
  .workspace-surface[data-visual-theme] .workspace-nav { background: var(--theme-surface-strong) !important; }
  .workspace-surface[data-visual-theme] .form-control,
  .workspace-surface[data-visual-theme] select,
  .workspace-surface[data-visual-theme] textarea,
  .workspace-surface[data-visual-theme] input { background: rgba(3, 5, 13, .86) !important; }
}
body.workspace-context-pending .workspace-view[data-route="projects"]{display:none!important}
