:root{
  --nf-bg:#020409;
  --nf-bg-secondary:#050912;
  --nf-surface:rgba(8,13,23,.9);
  --nf-surface-raised:rgba(13,21,36,.96);
  --nf-border:rgba(76,143,255,.32);
  --nf-border-soft:rgba(128,86,232,.18);
  --nf-text:#f7f9ff;
  --nf-text-secondary:#c3cce0;
  --nf-muted:#8e9bb4;
  --nf-blue:#2e7bff;
  --nf-blue-hover:#4C8FFF;
  --nf-violet:#9168f4;
  --nf-green:#22C55E;
  --nf-amber:#f5ad35;
  --nf-red:#f05a7b;
  --organic-shadow:0 24px 70px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.018) inset;
}

html{background:#020409}
body{letter-spacing:.005em}
.revision-shell,.login-page{
  background-color:var(--nf-bg);
  background-image:linear-gradient(90deg,rgba(2,4,9,.76),rgba(2,4,9,.48) 48%,rgba(2,4,9,.82)),url('/static/img/neural-organic-bg.svg');
  background-position:center;
  background-size:cover;
  background-attachment:fixed;
}
.revision-shell:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(circle at 35% 42%,rgba(46,123,255,.12),transparent 31%),radial-gradient(circle at 68% 52%,rgba(34,197,94,.08),transparent 28%);
}
.revision-sidebar{
  background:linear-gradient(180deg,rgba(3,7,14,.97),rgba(7,11,20,.94));
  border-right:1px solid rgba(76,143,255,.24);
  box-shadow:18px 0 60px rgba(0,0,0,.3);
  backdrop-filter:blur(22px);
}
.revision-brand{display:block;padding:5px 7px 12px;border-bottom:1px solid rgba(128,86,232,.16)}
.revision-brand img{width:168px;height:auto;filter:drop-shadow(0 0 18px rgba(46,123,255,.18))}
.brand-claim{color:#bec9df;line-height:1.55}
.brand-claim .claim-mind{color:#4c8fff}.brand-claim .claim-muscle{color:#22c55e}
.nav-group{color:#7787a5}
.revision-nav a{position:relative;border:1px solid transparent;transition:background .18s,border-color .18s,transform .18s}
.revision-nav a:hover{background:rgba(46,123,255,.09);border-color:rgba(46,123,255,.14);transform:translateX(2px)}
.revision-nav a[aria-current=page]{background:linear-gradient(90deg,rgba(46,123,255,.2),rgba(128,86,232,.08));border-color:rgba(76,143,255,.3);box-shadow:inset 3px 0 #4c8bff,0 0 24px rgba(46,123,255,.08)}
.revision-nav a[aria-current=page] .nav-dot{background:var(--green);border-color:var(--green);box-shadow:0 0 12px rgba(34,197,94,.7)}
.profile-card{background:rgba(7,12,21,.62);border:1px solid rgba(76,143,255,.14);border-radius:15px;padding:14px;margin-top:auto}
.avatar{background:linear-gradient(145deg,rgba(46,123,255,.28),rgba(128,86,232,.2));border:1px solid rgba(76,143,255,.38);color:#dce8ff}
.legal-link{color:#91a2c0}
.mobile-bar{background:rgba(3,7,14,.94);border-color:rgba(76,143,255,.24);backdrop-filter:blur(18px)}

.content-wrap{max-width:1420px}
.page-header{position:relative}
.nf-visual-header{
  min-height:142px;align-items:center;
  background-image:linear-gradient(90deg,rgba(5,10,18,.88),rgba(5,10,18,.54)),url('/static/img/neural-organic-bg.svg');
  background-position:center;background-size:cover;
  border:1px solid rgba(76,143,255,.35);border-radius:22px;padding:28px;
  box-shadow:var(--organic-shadow),0 0 52px rgba(46,123,255,.08);
}
.nf-visual-header:after{content:"";position:absolute;left:28px;right:28px;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--blue),var(--violet),var(--green),transparent);opacity:.75}
.page-isotipo{filter:drop-shadow(0 0 20px rgba(76,143,255,.35))}
.page-header h1{letter-spacing:-.025em}
.page-header p{color:#c0cbe0}

.section-card,.metric-card,.routine-card,.person-card,.exercise-library-card,.media-card,.block-card,.day-card,.month-cell{
  background:linear-gradient(145deg,rgba(10,17,30,.94),rgba(6,10,18,.91));
  border-color:rgba(76,143,255,.21);
  box-shadow:var(--organic-shadow);
}
.section-card{border-radius:18px}
.section-card:hover,.routine-card:hover,.person-card:hover,.exercise-library-card:hover{border-color:rgba(76,143,255,.4)}
.metric-card{position:relative;overflow:hidden;border-radius:16px;transition:transform .18s,border-color .18s}
.metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--blue),var(--violet),var(--green))}
.metric-card:hover{transform:translateY(-2px);border-color:rgba(76,143,255,.5)}
.metric-card strong{color:#fff;text-shadow:0 0 24px rgba(76,143,255,.24)}
.quick-grid a{background:linear-gradient(145deg,rgba(13,22,38,.92),rgba(6,11,20,.9));border-color:rgba(76,143,255,.2);position:relative;overflow:hidden}
.quick-grid a:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-42px;bottom:-48px;background:rgba(34,197,94,.1);box-shadow:0 0 34px rgba(34,197,94,.15)}
.quick-grid a:hover{background:linear-gradient(145deg,rgba(19,34,59,.96),rgba(10,17,30,.94));border-color:rgba(76,143,255,.55)}
.list-item{background:rgba(5,10,19,.68);border-color:rgba(76,143,255,.15)}
.routine-card,.person-card,.exercise-library-card{border-radius:18px;transition:transform .18s,border-color .18s}
.routine-card:hover,.person-card:hover,.exercise-library-card:hover{transform:translateY(-2px)}
.exercise-library-card{overflow:hidden}
.gif-frame{background:radial-gradient(circle at 50% 42%,#18233a,#05070c 72%);border-bottom:1px solid rgba(76,143,255,.2)}
.gif-frame img{mix-blend-mode:normal}
.exercise-library-body h3{font-size:18px;line-height:1.3}
.method-summary div,.methodology-strip div{background:rgba(4,9,17,.72);border-color:rgba(76,143,255,.2)}
.methodology-strip{background:linear-gradient(120deg,rgba(8,16,29,.95),rgba(11,15,29,.93));border-color:rgba(128,86,232,.3)}
.methodology-strip strong{color:#f7f9ff}

.button{border-radius:11px;background:#2e7bff;box-shadow:0 8px 22px rgba(46,123,255,.18);transition:transform .15s,background .15s,box-shadow .15s}
.button:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(46,123,255,.28)}
.button.secondary{background:linear-gradient(145deg,rgba(21,31,51,.96),rgba(12,19,32,.96));border-color:rgba(76,143,255,.28);box-shadow:none}
.button.ghost{background:rgba(5,9,16,.35);border-color:rgba(142,155,180,.28);box-shadow:none}
.button.danger{border-color:rgba(240,90,123,.45);color:#ffadc0}
.icon-button{background:rgba(7,12,21,.9);border-color:rgba(76,143,255,.25)}
input,select,textarea{background:rgba(3,7,14,.85);border-color:rgba(117,139,176,.32);border-radius:11px}
input:hover,select:hover,textarea:hover{border-color:rgba(76,143,255,.5)}
input:focus,select:focus,textarea:focus{border-color:#4c8fff;box-shadow:0 0 0 3px rgba(46,123,255,.14)}
.switch{background:#28344a}.switch-field input:checked+.switch{background:linear-gradient(90deg,var(--blue),var(--violet))}

.modal{background:linear-gradient(145deg,rgba(14,23,39,.99),rgba(6,11,20,.99));border-color:rgba(76,143,255,.42);border-radius:20px;box-shadow:0 34px 100px #000c,0 0 70px rgba(46,123,255,.11)}
.modal,.modal form,.modal-body,.field-grid{min-width:0;max-width:100%}.modal{overflow:hidden}.modal form{max-height:calc(100dvh - 20px);display:flex;flex-direction:column}.modal-body{overflow-x:hidden;overflow-y:auto}.modal input,.modal select,.modal textarea{min-width:0}.wizard-modal{width:min(760px,calc(100vw - 24px))}
.modal::backdrop{background:rgba(0,2,7,.8);backdrop-filter:blur(8px)}
.modal-head{background:linear-gradient(90deg,rgba(46,123,255,.08),rgba(128,86,232,.06));border-color:rgba(76,143,255,.18)}
.modal-foot{background:rgba(5,9,17,.96);border-color:rgba(76,143,255,.16)}
.choice-card{background:rgba(5,10,19,.75);border-color:rgba(76,143,255,.2)}
.choice-card:has(input:checked){background:linear-gradient(145deg,rgba(46,123,255,.17),rgba(128,86,232,.1));box-shadow:inset 0 0 0 1px var(--blue),0 0 28px rgba(46,123,255,.1)}
.designer-guide,.notice{background:linear-gradient(90deg,rgba(245,165,36,.11),rgba(128,86,232,.07));border-color:rgba(245,165,36,.32)}
.day-tab{background:rgba(6,11,20,.9);border-color:rgba(76,143,255,.18)}
.day-tab.active{background:linear-gradient(90deg,rgba(46,123,255,.23),rgba(128,86,232,.11));border-color:#4c8fff;box-shadow:0 0 24px rgba(46,123,255,.12)}
.block-card{border-left:3px solid var(--violet)}
.exercise-row{background:rgba(3,7,14,.78);border-color:rgba(76,143,255,.17)}
.exercise-picker-item{background:rgba(5,10,19,.78);border-color:rgba(76,143,255,.18)}
.exercise-picker-item:hover{border-color:rgba(76,143,255,.5);background:rgba(13,24,42,.88)}
.designer-bottom{background:rgba(8,14,25,.93);border-color:rgba(76,143,255,.35);box-shadow:0 12px 45px rgba(0,0,0,.45)}

.data-table th{color:#91a2c0;border-color:rgba(76,143,255,.22)}
.data-table td{border-color:rgba(128,86,232,.12)}
.data-table tbody tr:hover{background:rgba(46,123,255,.045)}
.status-badge{background:rgba(5,9,17,.78)}
.status-active,.status-completed{border-color:rgba(34,197,94,.38);color:#b9f7cd}
.status-paused,.status-scheduled,.status-draft{border-color:rgba(245,165,36,.4);color:#ffd48a}
.status-cancelled,.status-inactive{border-color:rgba(240,90,123,.4);color:#ffb2c3}
.status-in_progress{border-color:rgba(46,123,255,.48);color:#b9d1ff}
.week-grid,.month-grid{gap:10px}
.day-card,.month-cell{position:relative;overflow:hidden}
.day-card.today,.month-cell.today{border-color:var(--blue);box-shadow:0 0 0 1px rgba(46,123,255,.35),0 0 28px rgba(46,123,255,.1)}
.day-card .assignment,.calendar-dot{background:linear-gradient(90deg,rgba(46,123,255,.22),rgba(128,86,232,.12));border-left-color:var(--blue)}
.day-card .rest{background:rgba(11,18,30,.7)}
.segmented{background:rgba(3,7,14,.8);border-color:rgba(76,143,255,.24)}
.segmented a.selected{background:linear-gradient(90deg,rgba(46,123,255,.3),rgba(128,86,232,.2));box-shadow:0 0 18px rgba(46,123,255,.1)}

.empty-state,.mind-muscle-empty,.preview-surface{
  background-image:linear-gradient(90deg,rgba(5,10,18,.85),rgba(5,10,18,.56)),url('/static/img/neural-organic-bg.svg');
  background-position:center;background-size:cover;border-style:solid;border-color:rgba(76,143,255,.29);box-shadow:var(--organic-shadow)
}
.empty-state{position:relative;overflow:hidden}
.empty-state:after{content:"";display:block;width:9px;height:9px;margin:18px auto 0;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green),-34px -8px 0 -2px var(--violet),34px -8px 0 -2px var(--blue)}
.toast{background:rgba(10,39,24,.97);border-color:rgba(34,197,94,.55);box-shadow:0 18px 50px #0009,0 0 30px rgba(34,197,94,.12)}
.warning-card{background:linear-gradient(90deg,rgba(245,165,36,.13),rgba(128,86,232,.07))}

.login-page{padding:24px;isolation:isolate}
.login-page:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 48% 50%,transparent,rgba(0,2,7,.42) 70%);z-index:-1}
.login-panel{background:linear-gradient(150deg,rgba(10,17,29,.94),rgba(4,8,15,.92));border-color:rgba(76,143,255,.38);border-radius:24px;box-shadow:0 40px 110px #000c,0 0 80px rgba(46,123,255,.12);backdrop-filter:blur(20px)}
.login-wordmark{filter:drop-shadow(0 0 24px rgba(46,123,255,.2))}
.signal-line{height:4px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--blue) 25%,var(--violet) 55%,var(--green) 78%,transparent);box-shadow:0 0 24px rgba(76,143,255,.5)}

@media(max-width:1050px){.methodology-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .revision-shell,.login-page{background-position:38% center;background-attachment:scroll}
  .revision-sidebar{background:rgba(3,7,14,.985)}
  .nf-visual-header{padding:20px;min-height:124px}
  .page-header{gap:16px}.header-actions .button{flex:1}
  .methodology-strip{grid-template-columns:1fr 1fr}
  .data-table tr{background:linear-gradient(145deg,rgba(10,17,30,.96),rgba(5,9,17,.94));border-color:rgba(76,143,255,.22);box-shadow:0 14px 36px rgba(0,0,0,.24)}
  .modal{width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}
  .modal-foot{flex-wrap:wrap}.modal-foot .button{flex:1 1 130px}.mobile-bar img{width:160px;height:auto}
  .designer-bottom{border-color:rgba(76,143,255,.45)}
}
@media(max-width:390px){.methodology-strip{grid-template-columns:1fr}.login-panel{padding:24px 19px}}
@media(prefers-reduced-motion:reduce){.revision-nav a,.metric-card,.routine-card,.person-card,.exercise-library-card,.button{transition:none!important}.revision-shell,.login-page{background-attachment:scroll}}
.effective-org-banner{background:var(--warn-bg,#2E2306);border:1px solid var(--warn-border,#F5A524);color:var(--warn-text,#FFE1A8);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.9rem}
