
:root{--bg:#040812;--bg-soft:#0b1323;--panel:rgba(7,18,36,.72);--panel-strong:rgba(8,21,44,.92);--stroke:rgba(113,178,255,.24);--text:#ecf7ff;--muted:#a8bddf;--blue:#4ec3ff;--blue-strong:#00a3ff;--violet:#b24cff;--cyan:#83ecff;--success:#43d08f;--warning:#ffc857;--danger:#ff6f91;--shadow:0 24px 70px rgba(0,0,0,.45);--radius:24px}
html,body{min-height:100%}
body{font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,rgba(0,130,255,.24),transparent 28%),radial-gradient(circle at top right,rgba(178,76,255,.18),transparent 30%),linear-gradient(180deg,#03060d,#08101d 45%,#050912);color:var(--text)}
.bg-grid,.landing-body::before,.auth-body::before,.app-body::before{position:fixed;inset:0;pointer-events:none}.bg-grid{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent)}.landing-body::before,.auth-body::before,.app-body::before{content:'';background:linear-gradient(90deg,rgba(0,186,255,.07),transparent 40%,rgba(178,76,255,.08));opacity:.9}
.bg-glow,.bg-orb{position:fixed;border-radius:999px;filter:blur(80px);pointer-events:none;opacity:.75}.glow-a{width:420px;height:420px;background:rgba(0,163,255,.18);left:-80px;top:-80px}.glow-b{width:380px;height:380px;background:rgba(178,76,255,.14);right:-70px;top:60px}.orb-a{width:220px;height:220px;background:rgba(78,195,255,.15);left:10%;bottom:10%}.orb-b{width:280px;height:280px;background:rgba(130,0,255,.12);right:8%;bottom:6%}
.shell{max-width:1240px;margin:0 auto;padding:24px;position:relative;z-index:1}.shell-narrow{max-width:1020px}.glass{background:linear-gradient(180deg,rgba(13,25,49,.86),rgba(6,15,30,.8));border:1px solid var(--stroke);box-shadow:var(--shadow);backdrop-filter:blur(14px);border-radius:var(--radius)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;gap:18px;position:sticky;top:14px;z-index:10}.brand-wrap{display:flex;align-items:center;gap:14px;min-width:0}.brand-logo{width:78px;height:78px;object-fit:contain;border-radius:18px;box-shadow:0 0 32px rgba(78,195,255,.22)}.brand-title{margin:0;font-size:1.6rem;font-weight:800;letter-spacing:.01em}.eyebrow,.section-overline{color:var(--cyan);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em}.nav-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.nav-links a{color:var(--muted)}.nav-links a:hover{color:var(--text)}
.btn-primary,.btn-secondary,.btn-danger,.btn-ghost{border-radius:999px;padding:12px 18px;font-weight:700;border:1px solid transparent;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn-primary{background:linear-gradient(90deg,var(--blue-strong),var(--violet));color:white;box-shadow:0 10px 30px rgba(0,163,255,.35)}.btn-secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.btn-ghost{background:transparent;border-color:rgba(255,255,255,.14)}.btn-danger{background:rgba(255,111,145,.14);border-color:rgba(255,111,145,.34);color:#ffd3de}
.hero-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:22px;margin-top:24px}.hero-card{padding:28px}.hero-title{font-size:3.1rem;line-height:1.02;margin:12px 0 0;max-width:14ch}.hero-text{color:var(--muted);font-size:1.08rem;line-height:1.7;max-width:60ch}.accent{color:var(--cyan)}.hero-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.point-card,.side-card,.stage-card,.category-card,.content-card,.timeline-card,.section-wide,.content-panel,.metric-box,.stat-card,.table-card,.list-item,.form-card,.top-card,.empty-state,.modal-panel{padding:20px}.point-card,.stage-card,.category-card,.content-card,.metric-box,.stat-card,.table-card,.list-item,.form-card,.top-card,.empty-state{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:22px}.point-card strong,.category-card strong,.stage-card strong,.metric-box strong{display:block;font-size:1rem;margin-bottom:8px}.point-card span,.category-card p,.stage-card p,.hero-text,.side-card p,.content-panel p,.content-card p,.timeline-item p,.table-subtle,.muted,.field-hint,.badge-note{color:var(--muted)}.hero-side{display:grid;gap:18px}.side-card h3{margin:8px 0 10px;font-size:1.35rem}.section-grid,.cards-4,.cards-2{display:grid;gap:20px;margin-top:22px}.section-wide{padding:24px}.stages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.stage-badge,.badge,.status-pill,.role-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);margin-bottom:12px}.cards-4{grid-template-columns:repeat(4,1fr)}.cards-2{grid-template-columns:repeat(2,1fr)}.category-card span{font-size:1.55rem;font-weight:800;color:var(--cyan)}.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metric-box strong{font-size:2rem}.stack-xl{display:grid;gap:22px;margin-top:24px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.timeline-item{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08)}.timeline-item:last-child{border-bottom:none}.timeline-item span{color:var(--cyan);font-weight:800}
.auth-root{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;z-index:1}.auth-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.auth-card{padding:28px}.auth-logo{width:96px;height:96px;object-fit:contain}.auth-title{font-size:2.35rem;margin:14px 0 10px}.auth-list{display:grid;gap:12px;margin-top:22px}.auth-list div{padding:16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}.auth-form{display:grid;gap:14px}.field{display:grid;gap:8px}.field label{font-size:.92rem;color:#d9ecff}.field input,.field select,.field textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--text);border-radius:16px;padding:13px 14px;outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(78,195,255,.7);box-shadow:0 0 0 3px rgba(78,195,255,.14)}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.auth-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}.alert{padding:12px 14px;border-radius:14px;font-size:.95rem}.alert.info{background:rgba(78,195,255,.12);border:1px solid rgba(78,195,255,.24)}.alert.success{background:rgba(67,208,143,.14);border:1px solid rgba(67,208,143,.24)}.alert.error{background:rgba(255,111,145,.12);border:1px solid rgba(255,111,145,.24)}
.app-shell{display:grid;grid-template-columns:290px 1fr;min-height:100vh;position:relative;z-index:1}.sidebar{padding:18px;border-right:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(4,9,18,.95),rgba(6,14,28,.94))}.sidebar .brand-logo{width:82px;height:82px}.sidebar-top{display:grid;gap:14px}.user-chip{display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.avatar{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--blue-strong),var(--violet));display:grid;place-items:center;font-weight:800}.menu{display:grid;gap:10px;margin-top:18px}.menu a{padding:14px 16px;border-radius:18px;color:var(--muted);border:1px solid transparent}.menu a.active,.menu a:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);color:var(--text)}.sidebar-footer{margin-top:24px;display:grid;gap:10px;padding-top:20px}.content{padding:22px;position:relative}.app-header{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.page-title{margin:0;font-size:2rem}.page-subtitle{color:var(--muted);margin-top:6px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card strong{font-size:2rem;display:block}.top-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.top-list{display:grid;gap:12px}.top-item,.list-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.top-rank{width:40px;height:40px;border-radius:14px;background:rgba(78,195,255,.14);display:grid;place-items:center;font-weight:800;color:var(--cyan)}.top-three-stack{display:grid;gap:14px}.top-three-card{min-height:unset}.top-three-card.leader{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.04));border-color:rgba(131,236,255,.16)}.top-three-head{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.top-three-card h3{margin:8px 0 4px}.table-card{margin-top:18px}.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.search-box{min-width:240px}.search-box input{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:12px 14px;border-radius:16px;color:white}.table-wrap{overflow:auto}.data-table{width:100%;min-width:760px}.data-table th,.data-table td{padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left}.data-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cyan)}.status-pill.pending{background:rgba(255,200,87,.14);color:#ffe09f;border-color:rgba(255,200,87,.22)}.status-pill.approved{background:rgba(67,208,143,.14);color:#c6ffe4;border-color:rgba(67,208,143,.22)}.status-pill.rejected,.status-pill.removed,.status-pill.inactive{background:rgba(255,111,145,.12);color:#ffd8e2;border-color:rgba(255,111,145,.22)}.status-pill.active{background:rgba(78,195,255,.12);color:#daf5ff;border-color:rgba(78,195,255,.22)}.role-pill{color:#daf5ff}.role-pill.admin{background:rgba(178,76,255,.18);border-color:rgba(178,76,255,.28)}.role-pill.consultor{background:rgba(78,195,255,.13);border-color:rgba(78,195,255,.22)}
.transition-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.transition-card{width:min(760px,100%);padding:28px;text-align:center}.runner-track{position:relative;height:120px;margin:18px 0 24px;border-radius:999px;background:linear-gradient(90deg,rgba(78,195,255,.08),rgba(178,76,255,.08));overflow:hidden;border:1px solid rgba(255,255,255,.08)}.runner-track::before{content:'';position:absolute;left:0;right:0;bottom:16px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.runner{position:absolute;left:0;top:50%;transform:translateY(-50%);animation:run 5s linear forwards}.runner-bot{width:96px;height:96px;border-radius:28px;background:radial-gradient(circle at 30% 30%,#d9f7ff,#52c4ff 30%,#0a1730 75%);display:grid;place-items:center;box-shadow:0 0 26px rgba(78,195,255,.35)}.runner-bot::before{content:'⚙';font-size:2rem;color:#07111f}.progress-bar{height:16px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;border:1px solid rgba(255,255,255,.08)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--blue-strong),var(--violet));width:0;animation:load 5s linear forwards}.modal-backdrop{position:fixed;inset:0;background:rgba(3,8,18,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;z-index:50}.modal-panel{width:min(720px,100%)}.modal-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.modal-close{width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}.modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.modal-grid .span-2{grid-column:span 2}.row-actions{display:flex;gap:10px;flex-wrap:wrap}.empty-state{text-align:center}.small{font-size:.86rem}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@keyframes run{from{left:2%}to{left:calc(100% - 110px)}}@keyframes load{from{width:0}to{width:100%}}
@media (max-width:1100px){.hero-grid,.top-grid,.auth-shell,.app-shell{grid-template-columns:1fr}.stats-grid,.cards-4,.stages-grid,.hero-points,.metrics-row{grid-template-columns:repeat(2,1fr)}.sidebar{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}}
@media (max-width:720px){.shell,.content{padding:16px}.topbar{position:static}.hero-title{font-size:2.2rem}.stats-grid,.cards-4,.cards-2,.stages-grid,.hero-points,.metrics-row,.info-grid,.modal-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.data-table{min-width:620px}.brand-logo{width:64px;height:64px}}

.login-transition-overlay{position:fixed;inset:0;z-index:120;background:rgba(3,8,18,.92)}
