
:root{
  --mint:#42d6c4;
  --mint-dark:#20aa9a;
  --mint-soft:#e9fbf8;
  --ink:#132d35;
  --ink-2:#24444c;
  --gray:#68777b;
  --gray-2:#929b9d;
  --line:#dfe8e8;
  --paper:#ffffff;
  --off:#f6f9f9;
  --purple:#7c72e8;
  --orange:#ee9d4d;
  --blue:#4b93d4;
  --red:#d86060;
  --shadow:0 22px 70px rgba(19,45,53,.12);
  --shadow-soft:0 10px 35px rgba(19,45,53,.07);
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:18px;
  --shell:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
button{cursor:pointer}
.shell{width:min(calc(100% - 40px),var(--shell));margin-inline:auto}
.skip-link{position:fixed;z-index:1000;top:-80px;left:15px;padding:10px 14px;border-radius:9px;background:var(--ink);color:white}
.skip-link:focus{top:15px}

/* Header */
.topbar{position:sticky;z-index:100;top:0;border-bottom:1px solid rgba(19,45,53,.07);background:rgba(255,255,255,.91);backdrop-filter:blur(18px)}
.nav-shell{display:flex;min-height:80px;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:10px;min-width:255px}
.brand img{width:50px;height:50px;object-fit:contain}
.brand span{display:block}
.brand strong{display:block;color:#6d7375;font-size:25px;line-height:1;letter-spacing:-.04em}
.brand strong i,.footer-brand strong i,.portal-brand strong i{color:var(--mint);font-style:normal}
.brand small{display:block;margin-top:5px;color:#5e686b;font-size:8px;letter-spacing:.04em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:22px;color:#526468;font-size:13px;font-weight:700}
.main-nav a:hover{color:var(--mint-dark)}
.nav-login{padding:10px 0;color:var(--ink)!important}
.nav-primary{padding:11px 17px;border-radius:999px;background:var(--ink);color:white!important}
.menu-button{display:none;padding:8px;border:0;background:transparent}
.menu-button span{display:block;width:25px;height:2px;margin:5px;background:var(--ink)}

/* Hero */
.hero{position:relative;overflow:hidden;padding:105px 0 118px;background:linear-gradient(140deg,#f8fcfb 0%,#f2fbfa 48%,#f8faf9 100%)}
.hero:before{position:absolute;inset:0;background-image:radial-gradient(rgba(52,205,187,.13) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(to right,black,transparent 60%);content:""}
.hero-orb{position:absolute;border-radius:50%;filter:blur(2px)}
.orb-a{right:-150px;top:-180px;width:500px;height:500px;background:rgba(66,214,196,.15)}
.orb-b{left:40%;bottom:-350px;width:620px;height:620px;border:1px solid rgba(66,214,196,.18)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:75px}
.hero-badge{display:inline-flex;align-items:center;gap:9px;margin-bottom:22px;padding:7px 12px;border:1px solid #cdeee9;border-radius:999px;background:white;color:#39746d;font-size:12px;font-weight:800}
.hero-badge span{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(66,214,196,.15)}
h1,h2,h3{margin-top:0;line-height:1.12;letter-spacing:-.035em}
h1{max-width:760px;margin-bottom:25px;font-size:clamp(46px,5.6vw,74px)}
h1 em{color:var(--mint-dark);font-style:normal}
h2{margin-bottom:20px;font-size:clamp(35px,4vw,52px)}
h3{margin-bottom:12px;font-size:24px}
.hero-lead{max-width:670px;margin-bottom:32px;color:#556a6f;font-size:19px}
.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:31px}
.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;border:0;border-radius:999px;padding:0 22px;font-weight:800;transition:.2s ease}
.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--mint);color:#0d3733;box-shadow:0 14px 30px rgba(66,214,196,.25)}
.button.primary:hover{background:#33c7b5}
.button.secondary{border:1px solid #cbdada;background:rgba(255,255,255,.74);color:var(--ink)}
.button.full{width:100%}
.hero-proof{display:flex;flex-wrap:wrap;gap:18px;color:#5f7074;font-size:12px;font-weight:700}
.hero-proof b{color:var(--mint-dark)}

.hero-product{position:relative;min-height:570px}
.product-window{position:absolute;z-index:2;inset:24px 0 20px 20px;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:29px;background:white;box-shadow:0 35px 90px rgba(19,45,53,.17)}
.product-top{display:flex;height:58px;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e9eeee;background:#fbfdfd}
.window-dots{display:flex;gap:5px}.window-dots span{width:8px;height:8px;border-radius:50%;background:#ced8d8}.window-dots span:first-child{background:#f0a6a6}.window-dots span:nth-child(2){background:#efcd87}.window-dots span:last-child{background:#8ed8c4}
.window-title{color:#6f7f82;font-size:11px;font-weight:800}
.window-avatar{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--ink);color:white;font-size:9px;font-weight:800}
.product-body{display:grid;min-height:487px;grid-template-columns:58px 1fr}
.mock-sidebar{display:flex;align-items:center;flex-direction:column;gap:27px;padding-top:22px;background:var(--ink)}
.mock-sidebar img{width:34px;height:34px;object-fit:contain}
.mock-sidebar span{width:19px;height:19px;border:2px solid rgba(255,255,255,.25);border-radius:6px}
.mock-sidebar span.active{border-color:var(--mint);background:rgba(66,214,196,.25)}
.mock-content{padding:26px;background:#f5f8f8}
.mock-greeting{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.mock-greeting small,.mock-greeting strong{display:block}.mock-greeting small{color:#899597;font-size:9px}.mock-greeting strong{font-size:15px}
.mock-greeting button{border:0;border-radius:8px;background:var(--mint);padding:8px 10px;color:#17423e;font-size:9px;font-weight:800}
.mock-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:12px}
.mock-score,.mock-chart,.mock-session{border:1px solid #e8eeee;border-radius:15px;background:white;box-shadow:0 8px 20px rgba(19,45,53,.04)}
.mock-score,.mock-chart{min-height:184px;padding:15px}.mini-label{display:block;color:#849194;font-size:9px;font-weight:700}
.score-ring{display:grid;width:86px;height:86px;margin:17px auto 8px;place-items:center;border-radius:50%;background:radial-gradient(circle closest-side,white 74%,transparent 75%),conic-gradient(var(--mint) 74%,#e8efef 0)}
.score-ring b{font-size:19px}.mock-score p{margin:0;color:var(--mint-dark);font-size:8px;text-align:center;font-weight:700}
.bars{display:flex;height:110px;align-items:end;gap:9px;padding:15px 5px 0}.bars i{width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(var(--mint),#1ca998)}
.chart-days{display:flex;justify-content:space-around;color:#9ba6a8;font-size:7px}
.mock-session{margin-top:13px;padding:15px}
.mock-session-head{display:flex;justify-content:space-between;margin-bottom:11px;font-size:10px}.mock-session-head b{color:var(--mint-dark)}
.activity-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #eef2f2;color:#55666a;font-size:9px}
.activity-row i{width:7px;height:7px;border-radius:50%}.activity-row i.aqua{background:var(--mint)}.activity-row i.purple{background:var(--purple)}.activity-row i.orange{background:var(--orange)}
.activity-row small{color:#8b9799}
.floating-chip{position:absolute;z-index:3;border:1px solid rgba(66,214,196,.22);border-radius:13px;background:rgba(255,255,255,.95);box-shadow:0 15px 40px rgba(19,45,53,.12);padding:11px 14px;color:#426066;font-size:10px;font-weight:800}
.chip-one{top:0;right:-14px}.chip-two{bottom:0;left:-18px}.chip-three{right:-28px;bottom:85px;max-width:185px}

.trust-strip{border-top:1px solid #e6eeee;border-bottom:1px solid #e6eeee;background:#fbfdfd}
.trust-items{display:flex;min-height:74px;align-items:center;justify-content:center;gap:25px;color:#728184;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.trust-items i{width:4px;height:4px;border-radius:50%;background:var(--mint)}

/* Sections */
.section{padding:104px 0}
.soft-section{background:var(--off)}
.section-intro{max-width:710px;margin-bottom:48px}
.section-intro.centered{margin-right:auto;margin-left:auto;text-align:center}
.section-intro p{color:var(--gray);font-size:17px}
.kicker{display:inline-block;margin-bottom:16px;color:var(--mint-dark);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.kicker.light{color:#90eee3}

.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.solution-card{position:relative;min-height:290px;overflow:hidden;padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:white;box-shadow:var(--shadow-soft)}
.solution-card.wide{display:grid;grid-column:span 2;grid-template-columns:1fr .7fr;align-items:center;gap:25px}
.card-number{position:absolute;top:20px;right:23px;color:#c7d2d3;font-size:12px;font-weight:900}
.card-icon{display:grid;width:50px;height:50px;margin-bottom:35px;place-items:center;border-radius:15px;background:var(--mint-soft);color:var(--mint-dark);font-size:25px}
.solution-card p{color:var(--gray)}
.card-kicker{display:block;margin-bottom:10px;color:var(--mint-dark);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.solution-card a{color:var(--mint-dark);font-size:13px;font-weight:900}
.teal-card{background:linear-gradient(135deg,#e8fbf7,#fbfffe)}
.mini-planner{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;padding:20px;border:1px solid #cfeee9;border-radius:18px;background:rgba(255,255,255,.72);font-size:10px}
.mini-planner span{color:#7c8b8d}.mini-planner strong{color:#27474c}
.dark-card{background:var(--ink);color:white;border-color:var(--ink)}
.dark-card h3{color:white}.dark-card p{color:#c3d0d2}.dark-card .card-number{color:#5b7176}.dark-card .card-kicker{color:#83e6da}
.discipline-cloud{display:flex;flex-wrap:wrap;gap:9px}
.discipline-cloud span{padding:8px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.06);color:#d7e2e3;font-size:9px;font-weight:800}

.feature-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.feature-tab{border:1px solid var(--line);border-radius:999px;background:white;padding:11px 17px;color:#627377;font-size:12px;font-weight:800}
.feature-tab.active{border-color:var(--mint);background:var(--mint);color:#133e3a}
.feature-stage{display:grid;grid-template-columns:.9fr 1.1fr;min-height:440px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:white;box-shadow:var(--shadow-soft)}
.feature-copy{padding:55px}
.feature-copy>span{display:block;margin-bottom:10px;color:var(--mint-dark);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.feature-copy h3{font-size:37px}.feature-copy p,.feature-copy li{color:var(--gray)}
.feature-copy ul{margin-top:25px;padding-left:20px}.feature-copy li+li{margin-top:9px}
.feature-visual{display:grid;align-content:center;padding:40px;background:linear-gradient(150deg,#eafbf8,#f4f8f8)}
.transfer-map{display:grid;grid-template-columns:1fr .65fr 1fr .65fr 1fr;align-items:center}
.transfer-node{display:grid;min-height:130px;place-items:center;border-radius:22px;background:white;box-shadow:0 12px 30px rgba(19,45,53,.1);padding:15px;text-align:center;color:#5a6a6e;font-size:12px}
.transfer-node b{display:block;color:var(--ink);font-size:15px}
.transfer-node.source{border:2px solid var(--mint)}.transfer-node.middle{border:2px solid var(--purple)}.transfer-node.target{border:2px solid var(--orange)}
.transfer-line{position:relative;height:2px;background:#aebfc0}.transfer-line:after{position:absolute;right:-1px;top:-4px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #aebfc0;content:""}
.transfer-line span{position:absolute;top:-22px;left:50%;transform:translateX(-50%);color:#849295;font-size:8px}
.visual-note{margin-top:28px;padding:12px;border-radius:12px;background:rgba(255,255,255,.68);color:#637478;font-size:10px;text-align:center;font-weight:700}

/* Studio */
.studio-section{background:var(--ink);color:white}
.studio-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:74px}
.studio-copy{position:sticky;top:130px}
.studio-copy h2{color:white}.studio-copy p{color:#bfd0d2;font-size:17px}
.studio-note{margin-top:28px;padding:16px 18px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.05);color:#c9d7d8;font-size:12px}
.session-builder{padding:30px;border-radius:28px;background:white;color:var(--ink);box-shadow:0 25px 60px rgba(0,0,0,.2)}
.builder-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}
.builder-head small{color:#879598}.builder-head h3{margin:4px 0 0}.builder-head>span{padding:6px 9px;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:9px;font-weight:900}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.session-builder label,.lead-form label{display:grid;gap:7px;color:#4d6266;font-size:11px;font-weight:800}
.session-builder select,.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fbfdfd;padding:12px 13px;outline:none;color:var(--ink)}
.session-builder select:focus,.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(66,214,196,.13)}
.full-label{margin:14px 0}.generated-plan{min-height:180px;margin-top:18px;border:1px dashed #cddada;border-radius:17px;background:#f8fbfb;padding:18px}
.empty-plan{display:grid;min-height:140px;place-items:center;color:#829092;text-align:center}.empty-plan div{font-size:28px}.empty-plan p{margin:0;font-size:12px}
.plan-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.plan-title strong{font-size:14px}.plan-title span{color:var(--mint-dark);font-size:10px;font-weight:900}
.plan-step{display:grid;grid-template-columns:33px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #e4eded}
.plan-step b{display:grid;width:29px;height:29px;place-items:center;border-radius:9px;background:var(--mint-soft);color:var(--mint-dark);font-size:10px}.plan-step span{font-size:11px}.plan-step small{color:#879496}
.plan-caution{margin:12px 0 0;color:#748487;font-size:9px}
.builder-portal-link{display:block;margin-top:18px;color:var(--mint-dark);font-size:11px;font-weight:900;text-align:center}

/* populations/workflow/security */
.population-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.population-grid article{min-height:285px;padding:28px;border:1px solid var(--line);border-radius:22px;background:white}
.pop-icon{display:grid;width:48px;height:48px;margin-bottom:44px;place-items:center;border-radius:50%;background:var(--mint-soft);color:var(--mint-dark);font-size:24px}
.population-grid h3{font-size:21px}.population-grid p{color:var(--gray)}
.workflow-section{background:#1a343c;color:white}
.workflow-section h2{color:white}
.workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.1)}
.workflow article{min-height:230px;padding:30px;background:#1a343c}
.workflow b{display:grid;width:39px;height:39px;margin-bottom:30px;place-items:center;border-radius:50%;background:var(--mint);color:#113d39}
.workflow span{display:block;margin-bottom:8px;font-size:18px;font-weight:900}.workflow p{color:#b8cacc;font-size:13px}
.security-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:78px}
.security-panel{position:relative;min-height:470px;overflow:hidden;border-radius:32px;background:linear-gradient(140deg,#163841,#10272e);box-shadow:var(--shadow)}
.security-panel:before{position:absolute;inset:0;background:radial-gradient(circle at 70% 15%,rgba(66,214,196,.22),transparent 40%);content:""}
.security-lock{position:relative;display:grid;width:110px;height:110px;margin:66px auto 40px;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:50%;background:rgba(66,214,196,.11);color:var(--mint);font-size:48px}
.security-lines{position:relative;display:grid;gap:12px;width:70%;margin:auto}.security-lines span{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.12)}
.security-checks{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:35px 25px 0}
.security-checks div{padding:13px 8px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.05);color:#c8d8da;font-size:8px;text-align:center}.security-checks b{display:block;color:var(--mint);font-size:14px}
.security-grid>div>p{color:var(--gray);font-size:17px}
.security-list{display:grid;gap:11px;margin:28px 0}.security-list span{display:flex;gap:13px;align-items:center;padding-bottom:11px;border-bottom:1px solid var(--line);color:#4f6267;font-weight:700}.security-list b{color:var(--mint-dark);font-size:10px}
.legal-note{padding:13px 15px;border-radius:12px;background:#fff4e8;color:#80613d!important;font-size:11px!important}

.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.accordion{display:grid;gap:11px}.faq-item{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:white}
.faq-item button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;border:0;background:white;padding:20px;color:var(--ink);font-weight:850;text-align:left}
.faq-item button span{font-size:20px;color:var(--mint-dark)}
.faq-answer{display:none;padding:0 20px 18px}.faq-answer p{margin:0;color:var(--gray);font-size:13px}.faq-item.open .faq-answer{display:block}

/* contact/footer */
.contact-section{padding:100px 0;background:linear-gradient(145deg,#183840,#10262d);color:white}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:80px}
.contact-grid h2{color:white}.contact-grid>div>p{color:#bdd0d2}
.contact-logo{width:215px;margin-bottom:35px;padding:12px;border-radius:16px;background:white}
.lead-form{display:grid;gap:14px;padding:30px;border-radius:25px;background:white;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.18)}
.check-label{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important}.check-label input{margin-top:4px}.form-message{min-height:20px;margin:0;color:var(--mint-dark);font-size:11px;text-align:center;font-weight:800}
footer{padding:60px 0 22px;background:#0b2026;color:#adc0c2}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr 1fr;gap:45px}
.footer-grid>div{display:grid;align-content:start;gap:9px}.footer-grid b{color:white}.footer-grid a,.footer-grid p{color:#94aaad;font-size:12px}
.footer-brand{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:12px}.footer-brand img{width:57px}.footer-brand strong{display:block;color:#777d7f;font-size:28px;line-height:1}.footer-brand small{display:block;max-width:280px;margin-top:6px;color:#91a6a9;font-size:8px;text-transform:uppercase}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:35px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);font-size:11px}
.footer-bottom button{border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);color:white;padding:9px 13px}

/* PORTAL */
.portal-body{min-height:100vh;background:#eef3f3}
.demo-ribbon{position:fixed;z-index:250;top:0;right:0;left:0;height:25px;background:#fff2d9;color:#755826;font-size:9px;font-weight:900;letter-spacing:.08em;text-align:center;line-height:25px}
.portal-layout{display:grid;min-height:100vh;grid-template-columns:230px 1fr;grid-template-rows:88px 1fr;padding-top:25px}
.portal-sidebar{position:fixed;z-index:200;top:25px;bottom:0;left:0;display:flex;width:230px;flex-direction:column;padding:24px 17px;background:var(--ink);color:white}
.portal-brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.09)}
.portal-brand img{width:44px}.portal-brand strong{display:block;color:#73797b;font-size:23px;line-height:1}.portal-brand small{display:block;margin-top:4px;color:#86a0a4;font-size:9px}
.portal-nav{display:grid;gap:7px;margin-top:25px}.portal-nav button{display:flex;align-items:center;gap:12px;border:0;border-radius:11px;background:transparent;padding:11px 13px;color:#a9bec1;font-size:12px;font-weight:800;text-align:left}
.portal-nav button span{display:grid;width:24px;height:24px;place-items:center;color:#7f979b;font-size:17px}.portal-nav button.active,.portal-nav button:hover{background:rgba(66,214,196,.13);color:white}.portal-nav button.active span{color:var(--mint)}
.sidebar-bottom{display:grid;gap:8px;margin-top:auto}.accessibility-title{margin-bottom:2px;color:#728d91;font-size:9px;font-weight:900;text-transform:uppercase}
.accessibility-toggle,.back-home{border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.04);padding:9px 10px;color:#9fb5b8;font-size:9px;text-align:left}.back-home{margin-top:10px}
.portal-header{position:fixed;z-index:150;top:25px;right:0;left:230px;display:flex;height:88px;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #dfe7e7;background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}
.portal-header small{color:#899799;font-size:9px}.portal-header h1{margin:2px 0 0;font-size:22px;letter-spacing:-.02em}
.portal-menu-button{display:none;border:0;background:transparent;font-size:22px}
.header-tools{display:flex;align-items:center;gap:20px}.header-tools>button{position:relative;display:grid;width:37px;height:37px;place-items:center;border:1px solid var(--line);border-radius:50%;background:white}.notification-dot{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--red)}
.clinician{display:flex;align-items:center;gap:9px}.clinician>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--ink);color:white;font-size:10px;font-weight:900}.clinician b,.clinician small{display:block}.clinician b{font-size:11px}.clinician small{font-size:8px}
.portal-main{grid-column:2;grid-row:2;padding:31px}
.portal-view{display:none}.portal-view.active{display:block}
.portal-welcome,.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:25px}.portal-welcome h2,.view-head h2{margin:4px 0 7px;font-size:30px}.portal-welcome p,.view-head p{margin:0;color:#708084;font-size:12px}
.portal-kicker{color:var(--mint-dark);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.portal-primary,.portal-outline{border:0;border-radius:10px;background:var(--mint);padding:11px 15px;color:#123c38;font-size:10px;font-weight:900}.portal-outline{border:1px solid var(--line);background:white;color:#506367}.portal-primary.full,.portal-outline.full{width:100%}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:15px}
.dashboard-metrics article{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid #dfe7e7;border-radius:17px;background:white;box-shadow:0 7px 20px rgba(19,45,53,.035)}
.metric-icon{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:13px;font-size:19px}.metric-icon.aqua{background:#e1faf6;color:var(--mint-dark)}.metric-icon.purple{background:#eeeafd;color:var(--purple)}.metric-icon.orange{background:#fff0df;color:var(--orange)}.metric-icon.blue{background:#e7f1fb;color:var(--blue)}
.dashboard-metrics small,.dashboard-metrics strong,.dashboard-metrics em{display:block}.dashboard-metrics small{color:#849294;font-size:8px}.dashboard-metrics strong{font-size:24px;line-height:1.2}.dashboard-metrics em{color:#759194;font-size:8px;font-style:normal}
.dashboard-grid{display:grid;grid-template-columns:1.55fr .8fr;gap:15px;margin-bottom:15px}.lower-grid{grid-template-columns:1.4fr .75fr}
.portal-card{border:1px solid #dfe7e7;border-radius:18px;background:white;box-shadow:0 8px 25px rgba(19,45,53,.04);padding:20px}
.portal-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:15px}.portal-card-head small{display:block;color:#8b989a;font-size:8px}.portal-card-head h3{margin:3px 0 0;font-size:16px}.portal-card-head select,.portal-card-head button{border:1px solid var(--line);border-radius:8px;background:white;padding:7px 9px;color:#6c7d80;font-size:8px}
.legend{display:flex;gap:18px;color:#7d8b8e;font-size:8px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:50%}.legend-a{background:var(--mint)}.legend-b{background:var(--purple)}
.line-chart{width:100%;height:230px;overflow:visible}.grid-lines line{stroke:#edf1f1;stroke-width:1}.chart-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.line-a{stroke:var(--mint)}.line-b{stroke:var(--purple);stroke-dasharray:8 7}.a-points circle{fill:white;stroke:var(--mint);stroke-width:3}.chart-labels text{fill:#9ba6a8;font-size:9px}
.clinical-insight{display:flex;gap:10px;padding:12px;border-radius:11px;background:#eefaf8;color:#456469}.clinical-insight span{color:var(--mint-dark)}.clinical-insight p{margin:0;font-size:9px}
.agenda-list{display:grid}.agenda-list>div{display:grid;grid-template-columns:40px 8px 1fr;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #edf1f1}.agenda-list time{color:#738386;font-size:9px;font-weight:800}.agenda-dot{width:7px;height:7px;border-radius:50%}.agenda-dot.aqua{background:var(--mint)}.agenda-dot.purple{background:var(--purple)}.agenda-dot.orange{background:var(--orange)}.agenda-dot.blue{background:var(--blue)}.agenda-list b,.agenda-list small{display:block}.agenda-list b{font-size:10px}.agenda-list small{color:#8a9799;font-size:8px}
.review-list{display:grid}.review-list>div{display:grid;grid-template-columns:37px 1fr auto;align-items:center;gap:11px;padding:11px 0;border-top:1px solid #edf1f1}.patient-initials{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;font-size:9px;font-weight:900}.patient-initials.aqua{background:#e2faf6;color:var(--mint-dark)}.patient-initials.purple{background:#eeebff;color:var(--purple)}.patient-initials.orange{background:#fff0df;color:#cf7d2b}.review-list b,.review-list small{display:block}.review-list b{font-size:10px}.review-list small{color:#8a9799;font-size:8px}.review-list em{color:#b46c40;font-size:8px;font-style:normal;font-weight:900}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-grid button{min-height:82px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd;color:#52666a;font-size:9px;font-weight:800}.quick-grid span{display:block;margin-bottom:4px;color:var(--mint-dark);font-size:20px}

/* patients */
.patient-workspace{display:grid;grid-template-columns:270px 1fr;min-height:650px;overflow:hidden;border:1px solid #dfe7e7;border-radius:20px;background:white}
.patient-list-panel{padding:15px;border-right:1px solid #e5ecec;background:#fbfdfd}
.portal-search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;background:white;padding:9px 10px;color:#889698}.portal-search input{width:100%;border:0;outline:0;background:transparent;font-size:10px}
.patient-list{display:grid;gap:7px;margin-top:15px}.patient-item{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;width:100%;border:1px solid transparent;border-radius:12px;background:transparent;padding:10px;text-align:left}.patient-item.active{border-color:#cfece8;background:#ecfaf8}.patient-item>span{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:#eef2f2;color:#53676b;font-size:9px;font-weight:900}.patient-item b,.patient-item small{display:block}.patient-item b{font-size:10px}.patient-item small{color:#8c989a;font-size:8px}
.patient-profile-panel{padding:25px}.profile-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #e8eeee}.profile-ident{display:flex;align-items:center;gap:12px}.profile-avatar{display:grid;width:58px;height:58px;place-items:center;border-radius:17px;background:var(--mint-soft);color:var(--mint-dark);font-size:16px;font-weight:900}.profile-ident h3{margin:0;font-size:21px}.profile-ident p{margin:3px 0 0;color:#7c8b8e;font-size:9px}.profile-status{padding:7px 10px;border-radius:999px;background:#e9faf6;color:var(--mint-dark);font-size:8px;font-weight:900}
.profile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.profile-metrics div{padding:13px;border:1px solid var(--line);border-radius:12px}.profile-metrics small,.profile-metrics b{display:block}.profile-metrics small{color:#879597;font-size:7px}.profile-metrics b{font-size:17px}
.profile-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-box{padding:17px;border:1px solid var(--line);border-radius:15px}.profile-box h4{margin:0 0 12px;font-size:11px}.goal-list,.support-list{display:grid;gap:8px}.goal-list div,.support-list div{display:flex;gap:8px;color:#66777a;font-size:9px}.goal-list i{width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--mint)}.support-list i{color:var(--purple);font-style:normal}
.functional-map{margin-top:15px;padding:17px;border-radius:15px;background:#f0faf8}.functional-map h4{margin:0 0 11px;font-size:11px}.functional-flow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px}.functional-flow span{padding:10px;border-radius:10px;background:white;color:#637679;font-size:8px;text-align:center}.functional-flow b{color:var(--mint-dark)}
.profile-alert{margin-top:15px;padding:13px;border-left:4px solid var(--orange);border-radius:0 10px 10px 0;background:#fff6eb;color:#775b3c;font-size:9px}

/* Library */
.plan-counter{padding:10px 13px;border-radius:10px;background:#e7faf6;color:var(--mint-dark);font-size:9px;font-weight:900}.plan-counter span{font-size:14px}
.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.library-toolbar .portal-search{width:260px}
.filter-buttons{display:flex;flex-wrap:wrap;gap:7px}.filter-buttons button{border:1px solid var(--line);border-radius:999px;background:white;padding:8px 11px;color:#687a7e;font-size:8px;font-weight:900}.filter-buttons button.active{border-color:var(--mint);background:var(--mint-soft);color:var(--mint-dark)}
.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.activity-card{overflow:hidden;border:1px solid #dfe7e7;border-radius:17px;background:white;box-shadow:0 7px 20px rgba(19,45,53,.035)}
.activity-cover{display:flex;min-height:130px;align-items:center;justify-content:center;background:linear-gradient(145deg,#ecfaf8,#f6f9f9);font-size:42px}.activity-cover.purple{background:linear-gradient(145deg,#f0edff,#faf9ff)}.activity-cover.orange{background:linear-gradient(145deg,#fff2e4,#fffaf5)}.activity-cover.blue{background:linear-gradient(145deg,#eaf4fc,#f7fbfe)}
.activity-content{padding:16px}.activity-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#849295;font-size:7px}.activity-domain{padding:5px 7px;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-weight:900}.activity-content h3{margin-bottom:7px;font-size:16px}.activity-content p{min-height:48px;margin-bottom:11px;color:#708084;font-size:9px}.activity-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}.activity-tags span{padding:4px 6px;border-radius:6px;background:#f2f5f5;color:#718184;font-size:7px}.activity-content button{width:100%;border:0;border-radius:9px;background:var(--ink);padding:9px;color:white;font-size:8px;font-weight:900}.activity-content button.added{background:#dff7f3;color:var(--mint-dark)}

/* sessions */
.session-workspace{display:grid;grid-template-columns:1.35fr .65fr;gap:15px}.portal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-form-grid label,.portal-label{display:grid;gap:6px;color:#566a6e;font-size:9px;font-weight:800}.portal-form-grid select,.portal-label textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fbfdfd;padding:10px;outline:none;color:var(--ink)}
.portal-label{margin-top:13px}.dual-lens{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.dual-lens div{padding:13px;border:1px solid var(--line);border-radius:11px}.dual-lens span{color:var(--mint-dark);font-size:8px;font-weight:900;text-transform:uppercase}.dual-lens p{margin:5px 0 0;color:#77878a;font-size:8px}
.active-plan{align-self:start;position:sticky;top:132px}.active-plan .portal-card-head>span{color:var(--mint-dark);font-size:10px;font-weight:900}.selected-activities{display:grid;gap:8px;min-height:180px}.selected-empty{display:grid;min-height:170px;place-items:center;border:1px dashed var(--line);border-radius:12px;color:#8b989a;font-size:9px;text-align:center}.selected-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:11px}.selected-item>span{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:var(--mint-soft)}.selected-item b,.selected-item small{display:block}.selected-item b{font-size:9px}.selected-item small{color:#899699;font-size:7px}.selected-item button{border:0;background:transparent;color:#ac6a6a;font-size:14px}.plan-actions{display:grid;gap:8px;margin-top:14px}.save-status{min-height:18px;margin:8px 0 0;color:var(--mint-dark);font-size:8px;text-align:center}

/* reports */
.report-sheet{max-width:900px;margin:auto;border:1px solid #d9e2e2;background:white;padding:48px;box-shadow:0 15px 45px rgba(19,45,53,.08)}
.report-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:20px;border-bottom:3px solid var(--mint)}.report-header img{width:140px}.report-header div{text-align:right}.report-header span,.report-header small{display:block}.report-header span{font-size:12px;font-weight:900}.report-header small{color:#849295;font-size:8px}
.report-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}.report-meta div{padding:12px;border:1px solid var(--line);border-radius:9px}.report-meta small,.report-meta b{display:block}.report-meta small{color:#849295;font-size:7px}.report-meta b{font-size:10px}
.report-sheet section{margin-top:25px}.report-sheet h3{margin-bottom:8px;font-size:14px}.report-sheet p{color:#5e7074;font-size:10px;line-height:1.8}
.report-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.report-bars{display:grid;gap:11px}.report-bars label{display:grid;grid-template-columns:1fr auto;gap:8px;color:#5f7074;font-size:8px}.report-bars i{grid-column:1/3;height:7px;border-radius:999px;background:#edf2f2;overflow:hidden}.report-bars i b{display:block;height:100%;border-radius:inherit;background:var(--mint)}.report-bars.functional i b{background:var(--purple)}
.report-signature{width:240px;margin:60px 0 0 auto;text-align:center}.report-signature div{border-top:1px solid #68777b}.report-signature span{color:#78878a;font-size:8px}

/* Portal accessibility */
.portal-body.large-text{font-size:115%}
.portal-body.high-contrast{--mint:#00f0d0;--mint-dark:#007d6d;--ink:#06181c;--off:#fff;--gray:#26393e;--line:#9ba7aa}
.portal-body.high-contrast .portal-main{background:white}

/* Responsive */
@media(max-width:1080px){
  .main-nav{gap:13px}.main-nav>a:not(.nav-login):not(.nav-primary){display:none}
  .hero-grid,.studio-grid,.security-grid,.contact-grid{grid-template-columns:1fr}
  .hero-copy{text-align:center}.hero-lead{margin-inline:auto}.hero-actions,.hero-proof{justify-content:center}
  .hero-product{width:min(100%,650px);margin:auto}
  .studio-copy{position:static}
  .solution-grid{grid-template-columns:1fr 1fr}.solution-card.wide{grid-column:span 2}
  .population-grid{grid-template-columns:1fr 1fr}
  .portal-layout{grid-template-columns:190px 1fr}.portal-sidebar{width:190px}.portal-header{left:190px}
  .dashboard-metrics{grid-template-columns:1fr 1fr}
  .activity-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .shell{width:min(calc(100% - 28px),var(--shell))}
  .section{padding:78px 0}
  .brand{min-width:0}.brand small{display:none}
  .menu-button{display:block}
  .main-nav{position:fixed;top:80px;right:0;left:0;display:grid;gap:5px;padding:20px;border-bottom:1px solid var(--line);background:white;transform:translateY(-150%);transition:.25s;box-shadow:var(--shadow-soft)}
  .main-nav.open{transform:translateY(0)}.main-nav>a:not(.nav-login):not(.nav-primary){display:block}.nav-login,.nav-primary{text-align:center}
  .hero{padding:75px 0 90px}h1{font-size:44px}.hero-product{min-height:520px}.product-window{inset:20px 0}.floating-chip{display:none}
  .trust-items{flex-wrap:wrap;padding:18px 0;gap:12px}.trust-items i{display:none}
  .solution-grid,.feature-stage,.faq-grid,.footer-grid{grid-template-columns:1fr}.solution-card.wide{grid-column:auto;grid-template-columns:1fr}.feature-copy{padding:35px}.feature-visual{min-height:360px;padding:22px}.transfer-map{grid-template-columns:1fr;gap:8px}.transfer-line{width:2px;height:30px;margin:auto}.transfer-line:after{right:-4px;top:auto;bottom:-1px;border-right:5px solid transparent;border-left:5px solid transparent;border-top:7px solid #aebfc0}.transfer-line span{display:none}
  .workflow{grid-template-columns:1fr 1fr}.contact-grid{gap:45px}.footer-bottom{align-items:flex-start;flex-direction:column}
  /* portal mobile */
  .portal-layout{display:block;padding-top:25px}.portal-sidebar{transform:translateX(-110%);transition:.25s}.portal-sidebar.open{transform:translateX(0)}.portal-header{left:0;padding:0 17px}.portal-menu-button{display:block}.portal-header>div:nth-child(2){flex:1;margin-left:12px}.clinician div{display:none}.portal-main{padding:108px 14px 25px}.portal-welcome,.view-head{align-items:flex-start;flex-direction:column}.dashboard-metrics,.dashboard-grid,.lower-grid,.patient-workspace,.session-workspace{grid-template-columns:1fr}.patient-workspace{overflow:visible}.patient-list-panel{border-right:0;border-bottom:1px solid var(--line)}.patient-list{grid-template-columns:1fr 1fr}.profile-metrics{grid-template-columns:1fr 1fr}.profile-columns{grid-template-columns:1fr}.activity-grid{grid-template-columns:1fr 1fr}.library-toolbar{align-items:stretch;flex-direction:column}.library-toolbar .portal-search{width:100%}.active-plan{position:static}.report-sheet{padding:25px}.report-meta{grid-template-columns:1fr 1fr}.report-two{grid-template-columns:1fr}
}
@media(max-width:520px){
  h1{font-size:37px}h2{font-size:32px}.hero-product{min-height:470px}.product-body{grid-template-columns:45px 1fr}.mock-content{padding:15px}.mock-grid{grid-template-columns:1fr}.mock-score{display:none}
  .solution-grid,.population-grid,.workflow,.form-grid,.security-checks,.activity-grid,.portal-form-grid,.dual-lens{grid-template-columns:1fr}.feature-copy h3{font-size:29px}
  .patient-list{grid-template-columns:1fr}.profile-top{align-items:flex-start;flex-direction:column}.profile-metrics{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:1fr}
}

@media print{
  body.portal-body{background:white}
  .demo-ribbon,.portal-sidebar,.portal-header,.view-head,.portal-view:not([data-view-panel="reports"]){display:none!important}
  .portal-layout,.portal-main{display:block!important;padding:0!important;margin:0!important}
  .portal-view[data-view-panel="reports"]{display:block!important}
  .report-sheet{border:0;box-shadow:none;max-width:none;padding:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* AUTHENTICATION */
.auth-body{min-height:100vh;background:linear-gradient(145deg,#f0faf8,#f8fbfb)}
.auth-header{display:flex;min-height:82px;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);backdrop-filter:blur(18px)}
.auth-header .brand strong{color:#707779}
.auth-back{color:#53686c;font-size:12px;font-weight:800}
.auth-shell{display:grid;width:min(calc(100% - 40px),1180px);min-height:calc(100vh - 82px);margin:auto;grid-template-columns:.9fr 1.1fr;align-items:center;gap:75px;padding:60px 0}
.auth-copy h1{font-size:clamp(42px,5vw,64px)}
.auth-copy>p{color:var(--gray);font-size:17px}
.role-explainer{display:grid;gap:12px;margin:30px 0}
.role-explainer article{display:flex;gap:14px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72)}
.role-explainer h3{margin:0 0 3px;font-size:17px}.role-explainer p{margin:0;color:#718184;font-size:11px}
.role-symbol{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:14px;font-size:21px}
.role-symbol.professional{background:var(--mint-soft);color:var(--mint-dark)}
.role-symbol.personal{background:#eeeafd;color:var(--purple)}
.auth-safety{padding:16px;border-left:4px solid var(--mint);border-radius:0 13px 13px 0;background:white;color:#5b6e72;font-size:11px}
.auth-card{padding:28px;border:1px solid var(--line);border-radius:27px;background:white;box-shadow:var(--shadow)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:23px;padding:5px;border-radius:12px;background:#eef3f3}
.auth-tabs button{border:0;border-radius:9px;background:transparent;padding:10px;color:#728184;font-size:11px;font-weight:900}
.auth-tabs button.active{background:white;color:var(--ink);box-shadow:0 5px 14px rgba(19,45,53,.08)}
.auth-panel{display:none}.auth-panel.active{display:block}
.account-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.account-type{display:grid;justify-items:start;border:1px solid var(--line);border-radius:14px;background:white;padding:14px;text-align:left}
.account-type span{color:#839194;font-size:19px}.account-type b,.account-type small{display:block}.account-type b{margin-top:5px;font-size:11px}.account-type small{color:#899698;font-size:8px}
.account-type.active{border-color:var(--mint);background:var(--mint-soft)}.account-type.active span{color:var(--mint-dark)}
.auth-form{display:grid;gap:13px}.auth-form label{display:grid;gap:6px;color:#52666a;font-size:10px;font-weight:850}
.auth-form input,.auth-form select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fbfdfd;padding:11px 12px;outline:none;color:var(--ink)}
.auth-form input:focus,.auth-form select:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(66,214,196,.12)}
.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.professional-fields,.self-fields{display:grid;gap:13px}
.verification-note{padding:11px 12px;border-radius:10px;background:#fff5e8;color:#765c3e;font-size:9px}
.auth-message{min-height:18px;margin:0;color:var(--mint-dark);font-size:10px;text-align:center;font-weight:800}
.demo-access{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);text-align:center}
.demo-access>span{display:block;margin-bottom:10px;color:#829093;font-size:9px}
.demo-access>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.demo-access button{border:1px solid var(--line);border-radius:10px;background:white;padding:10px;color:#52666a;font-size:9px;font-weight:850}
.prototype-warning{margin:20px 0 0;color:#929d9f;font-size:8px;text-align:center}

/* SELF-GUIDED USER AREA */
.self-body{background:#f4f8f8}
.self-header{position:sticky;z-index:100;top:25px;display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:25px;padding:0 max(22px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(17px)}
.self-header .portal-brand{border:0;padding:0}.self-header nav{display:flex;gap:20px;color:#607276;font-size:11px;font-weight:800}
.self-header nav a:hover{color:var(--mint-dark)}
.self-account{display:flex;align-items:center;gap:8px}.self-account>span{display:grid;width:37px;height:37px;place-items:center;border-radius:50%;background:var(--ink);color:white;font-size:9px;font-weight:900}
.self-account b,.self-account small{display:block}.self-account b{font-size:10px}.self-account small{color:#879496;font-size:7px}.self-account button{border:1px solid var(--line);border-radius:8px;background:white;padding:7px 9px;color:#6f8083;font-size:8px}
.self-hero{position:relative;overflow:hidden;padding:95px 0;background:linear-gradient(145deg,#eafbf8,#f7fbfa)}
.self-hero:after{position:absolute;right:-170px;top:-230px;width:580px;height:580px;border-radius:50%;background:rgba(66,214,196,.14);content:""}
.self-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .75fr;align-items:center;gap:80px}
.self-hero h1{font-size:clamp(42px,5vw,64px)}.self-hero p{max-width:680px;color:#5d7074;font-size:17px}
.today-card{padding:27px;border:1px solid rgba(255,255,255,.9);border-radius:25px;background:rgba(255,255,255,.9);box-shadow:var(--shadow)}
.today-card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.today-card-head small{color:#899698;font-size:8px}.today-card-head h3{margin:3px 0 0;font-size:19px}.today-card-head>span{padding:7px 9px;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:9px;font-weight:900}
.today-task{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line);font-size:10px}.today-task i{width:8px;height:8px;border-radius:50%;background:var(--mint)}.today-task b{color:#819093;font-size:8px}
.today-card>p{margin:15px 0 0;color:#8b989a;font-size:8px}
.self-boundary{border-top:1px solid #e1eaea;border-bottom:1px solid #e1eaea;background:white}
.self-boundary .shell{display:flex;gap:11px;align-items:center;padding:18px 0}.self-boundary span{color:var(--mint-dark);font-size:20px}.self-boundary p{margin:0;color:#607276;font-size:10px}
.self-game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.self-game-grid article{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:white;box-shadow:var(--shadow-soft)}
.self-game-cover{display:grid;height:180px;place-items:center;font-size:58px}.self-game-cover.mint{background:linear-gradient(145deg,#dffaf5,#f5fffd);color:var(--mint-dark)}.self-game-cover.purple{background:linear-gradient(145deg,#ebe7ff,#f9f8ff);color:var(--purple)}.self-game-cover.orange{background:linear-gradient(145deg,#ffeedb,#fffaf5);color:var(--orange)}
.self-game-grid article>span,.self-game-grid article>h3,.self-game-grid article>p,.self-game-grid article>button{margin-right:20px;margin-left:20px}
.self-game-grid article>span{display:block;margin-top:18px;color:var(--mint-dark);font-size:8px;font-weight:900;text-transform:uppercase}.self-game-grid article>h3{margin-top:5px;margin-bottom:8px;font-size:20px}.self-game-grid article>p{min-height:55px;color:#728184;font-size:10px}.self-game-grid article>button{width:calc(100% - 40px);margin-bottom:20px;border:0;border-radius:10px;background:var(--ink);padding:10px;color:white;font-size:9px;font-weight:900}
.game-lab{margin-top:28px;padding:25px;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:var(--shadow-soft)}
.game-lab-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line)}.game-lab-head small{color:#899698;font-size:8px}.game-lab-head h3{margin:2px 0 0;font-size:20px}.game-lab-head button{border:1px solid var(--line);border-radius:9px;background:white;padding:8px 11px;color:#67797c;font-size:8px}
#game-content{padding:25px 0}.game-disclaimer{margin:0;color:#899698;font-size:8px;text-align:center}
.focus-toolbar{display:flex;justify-content:space-between;margin-bottom:15px;color:#617477;font-size:10px;font-weight:850}
.focus-grid{display:grid;max-width:500px;margin:auto;grid-template-columns:repeat(5,1fr);gap:8px}.focus-grid button{aspect-ratio:1;border:1px solid var(--line);border-radius:11px;background:#f7fafa;color:#8b989a;font-size:24px}.focus-grid button.focus-target{background:var(--mint-soft);color:var(--mint-dark);box-shadow:0 0 0 2px rgba(66,214,196,.18)}.focus-grid button:disabled{opacity:.28}
.game-instruction{text-align:center;color:#748487;font-size:10px}
.memory-status{margin-bottom:18px;color:#64777a;text-align:center;font-size:11px;font-weight:800}.memory-display{display:grid;width:130px;height:130px;margin:0 auto 20px;place-items:center;border-radius:27px;background:#eef3f3;color:var(--ink);font-size:55px;transition:.2s}.memory-display.active{transform:scale(1.05)}.memory-display.tone-0{background:#dffaf5;color:var(--mint-dark)}.memory-display.tone-1{background:#ebe7ff;color:var(--purple)}.memory-display.tone-2{background:#ffeedb;color:var(--orange)}.memory-display.tone-3{background:#e6f1fb;color:var(--blue)}
.memory-buttons{display:flex;justify-content:center;gap:10px}.memory-buttons button{display:grid;width:62px;height:62px;place-items:center;border:1px solid var(--line);border-radius:15px;background:white;color:#53676b;font-size:25px}.memory-buttons button:hover{border-color:var(--mint);background:var(--mint-soft)}
.game-result{text-align:center}.game-result>span{display:grid;width:70px;height:70px;margin:0 auto 15px;place-items:center;border-radius:50%;background:var(--mint-soft);color:var(--mint-dark);font-size:32px}.game-result h3{font-size:24px}.game-result p{color:#6b7d80}.game-result button,.breathing-game button{border:0;border-radius:10px;background:var(--ink);padding:10px 16px;color:white;font-size:9px;font-weight:900}
.breathing-game{text-align:center}.breathing-circle{display:grid;width:180px;height:180px;margin:0 auto 20px;place-items:center;border-radius:50%;background:var(--mint-soft);color:var(--mint-dark);transition:4s ease}.breathing-circle.expand{transform:scale(1.18);background:#d9faf5}.breathing-circle.hold{transform:scale(1.18);background:#e8e4ff;color:var(--purple)}.breathing-circle.contract{transform:scale(.86);background:#fff0df;color:var(--orange)}.breathing-circle.rest{transform:scale(.86);background:#eef3f3;color:#65777a}.breathing-circle span{font-weight:900}.breathing-game strong{display:block;font-size:22px}.breathing-game p{color:#748487;font-size:10px}
.self-progress-section{background:#edf4f3}.self-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.self-metrics article{padding:20px;border:1px solid var(--line);border-radius:16px;background:white}.self-metrics small,.self-metrics strong,.self-metrics span{display:block}.self-metrics small{color:#819093;font-size:8px}.self-metrics strong{font-size:26px}.self-metrics span{color:#8c999b;font-size:8px}
.history-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:white}.history-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #edf1f1}.history-row>span{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:var(--mint-soft);color:var(--mint-dark)}.history-row b,.history-row small{display:block}.history-row b{font-size:10px}.history-row small{color:#8a9799;font-size:8px}.history-row em{color:#637679;font-size:8px;font-style:normal}.personal-empty{display:grid;min-height:130px;place-items:center;color:#8b989a;font-size:10px}
.self-professional-cta{padding:80px 0;background:var(--ink);color:white}.self-professional-cta .shell{display:flex;align-items:center;justify-content:space-between;gap:50px}.self-professional-cta h2{max-width:760px;color:white}.self-professional-cta p{color:#bdd0d2}

/* account / verification / modal in professional portal */
.verification-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:13px 16px;border:1px solid #f1dab5;border-radius:12px;background:#fff5e6;color:#755c3b;font-size:9px}
.verification-banner.verified{border-color:#cfece7;background:#eaf9f6;color:#2f7169}
.verification-banner b{font-size:10px}.verification-banner span{opacity:.85}
.portal-logout{border:1px solid var(--line)!important;border-radius:8px!important;background:white!important;padding:8px 10px!important;color:#687a7e!important;font-size:8px!important}
.nefesh-modal{position:fixed;z-index:500;inset:0;display:none;place-items:center;padding:20px;background:rgba(7,27,32,.62);backdrop-filter:blur(6px)}
.nefesh-modal.open{display:grid}.modal-card{width:min(100%,570px);max-height:90vh;overflow:auto;border-radius:22px;background:white;box-shadow:0 35px 90px rgba(0,0,0,.25);padding:25px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line)}.modal-head small{color:#899698;font-size:8px}.modal-head h3{margin:3px 0 0}.modal-head button{border:0;background:transparent;color:#718184;font-size:22px}.modal-form{display:grid;gap:12px;margin-top:18px}.modal-form label{display:grid;gap:6px;color:#596d71;font-size:9px;font-weight:850}.modal-form input,.modal-form select,.modal-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fbfdfd;padding:10px;outline:none}.modal-message{min-height:18px;margin:0;color:var(--mint-dark);font-size:8px;text-align:center}

@media(max-width:980px){
  .auth-shell,.self-hero-grid{grid-template-columns:1fr}.auth-copy{text-align:center}.role-explainer{text-align:left}
  .self-header nav{display:none}.self-game-grid{grid-template-columns:1fr 1fr}.self-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .auth-shell{width:min(calc(100% - 24px),1180px);padding:35px 0}.auth-header{padding:0 15px}.auth-header .brand small{display:none}.auth-back{font-size:9px}
  .auth-form-grid,.account-type-grid,.demo-access>div{grid-template-columns:1fr}
  .self-header{top:25px;padding:0 13px}.self-header .portal-brand small{display:none}.self-account div{display:none}
  .self-hero{padding:68px 0}.self-game-grid,.self-metrics{grid-template-columns:1fr}.self-professional-cta .shell{align-items:flex-start;flex-direction:column}
  .memory-buttons{gap:6px}.memory-buttons button{width:52px;height:52px}.history-row{grid-template-columns:38px 1fr}.history-row em{grid-column:2}
}


/* INFORMES CLÍNICOS AVANZADOS */
.report-draft-badge{padding:6px 9px;border-radius:999px;background:#e8faf6;color:var(--mint-dark);font-size:8px;font-weight:900}
.session-results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}
.session-results-grid label{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfd;color:#5b6e72;font-size:8px;font-weight:900}
.session-results-grid label>span{display:flex;align-items:center;gap:5px}
.session-results-grid input,.session-results-grid select{width:100%;border:1px solid var(--line);border-radius:8px;background:white;padding:8px;outline:none;color:var(--ink)}
.session-results-grid input{min-width:0}
.clinical-record-warning{margin-top:15px;padding:13px 15px;border-left:4px solid var(--orange);border-radius:0 10px 10px 0;background:#fff5e8;color:#755b3d;font-size:8px}
.profile-actions{display:flex;align-items:center;gap:8px}
.profile-report-button{border:1px solid var(--mint);border-radius:8px;background:var(--mint-soft);padding:7px 9px;color:var(--mint-dark);font-size:8px;font-weight:900}
.report-export-actions{display:flex;gap:8px}
.report-controls{margin-bottom:14px}
.report-control-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:11px}
.report-control-grid label{display:grid;gap:6px;color:#5b6e72;font-size:8px;font-weight:900}
.report-control-grid select,.report-control-grid input{width:100%;border:1px solid var(--line);border-radius:9px;background:#fbfdfd;padding:9px;outline:none;color:var(--ink)}
.report-options{display:flex;flex-wrap:wrap;gap:17px;margin:16px 0;color:#637679;font-size:8px;font-weight:800}
.report-options label{display:flex;align-items:center;gap:6px}
.report-control-actions{display:flex;align-items:center;gap:14px;padding-top:14px;border-top:1px solid var(--line)}
.report-control-actions span{color:#728184;font-size:8px}
.automated-report-notice{margin-bottom:15px;padding:12px 14px;border:1px solid #f0d9af;border-radius:11px;background:#fff5e4;color:#735a38;font-size:8px}
.report-placeholder{display:grid;min-height:540px;place-items:center}
.report-placeholder-content{max-width:480px;text-align:center;color:#718184}
.report-placeholder-content>span{display:grid;width:70px;height:70px;margin:0 auto 16px;place-items:center;border-radius:50%;background:var(--mint-soft);color:var(--mint-dark);font-size:30px}
.report-placeholder-content h3{margin-bottom:8px}
.report-placeholder-content p{font-size:10px}
.report-auto-label{margin:-25px -25px 22px;padding:8px;background:#fff2d9;color:#74592e;font-size:8px;font-weight:900;letter-spacing:.1em;text-align:center}
.report-meta>div span{display:block;margin-top:3px;color:#839194;font-size:7px}
.report-summary-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.report-summary-metrics>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfdfd}
.report-summary-metrics small,.report-summary-metrics b,.report-summary-metrics span{display:block}
.report-summary-metrics small{color:#829092;font-size:7px}
.report-summary-metrics b{font-size:17px}
.report-summary-metrics span{color:#8b989a;font-size:7px}
.report-activity-table,.report-session-table{width:100%;border-collapse:collapse}
.report-activity-table th,.report-activity-table td,.report-session-table th,.report-session-table td{border:1px solid #dfe7e7;padding:8px;color:#5e7074;font-size:7px;text-align:left;vertical-align:top}
.report-activity-table th,.report-session-table th{background:#edf8f6;color:#274a4d;font-weight:900}
.report-chart-intro{margin-bottom:10px!important}
.report-canvas{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:white}
.domain-analysis-list{display:grid;gap:6px;margin-bottom:13px}
.domain-analysis-row{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;font-size:7px}
.domain-analysis-row b{color:#324e53}.domain-analysis-row span{color:#718184}.domain-analysis-row em{justify-self:end;font-style:normal;font-weight:900}
.domain-analysis-row em.up{color:#198b7d}.domain-analysis-row em.down{color:#bd5d5d}.domain-analysis-row em.stable{color:#7d8789}
.report-analysis-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:25px}
.report-analysis-box{padding:17px;border-radius:13px}
.report-analysis-box.positive{border:1px solid #ccebe5;background:#effaf8}
.report-analysis-box.attention{border:1px solid #f1d9c1;background:#fff7ee}
.report-analysis-box h3{font-size:12px}
.report-analysis-box ul{margin:0;padding-left:17px}.report-analysis-box li{color:#5c6e72;font-size:8px;line-height:1.7}.report-analysis-box li+li{margin-top:5px}
.consolidated-notes{display:grid;gap:8px}
.consolidated-notes article{padding:11px;border:1px solid var(--line);border-radius:10px;background:#fbfdfd}
.consolidated-notes b{display:block;color:#315056;font-size:8px}
.consolidated-notes p{margin:4px 0!important;font-size:8px!important}
.consolidated-notes small{color:#7d8b8e;font-size:7px}
.report-table-scroll{overflow-x:auto}
.report-session-table{min-width:850px}
.report-recommendations{padding-left:19px}.report-recommendations li{color:#5c6e72;font-size:9px;line-height:1.7}.report-recommendations li+li{margin-top:6px}
.report-conclusion{padding:16px;border-left:4px solid var(--mint);border-radius:0 11px 11px 0;background:#effaf8}
.report-review-box{margin-top:25px;padding:14px;border:1px solid #efd7ae;border-radius:11px;background:#fff5e4}
.report-review-box b{display:block;color:#725a39;font-size:9px}.report-review-box p{margin:5px 0 0!important;color:#755f43!important;font-size:8px!important}
.report-signature small{display:block;color:#8b989a;font-size:7px}
.report-footer-note{margin-top:32px;padding-top:12px;border-top:1px solid var(--line);color:#849295;font-size:7px;text-align:center}
.report-empty-block{padding:15px;border:1px dashed var(--line);border-radius:10px;color:#859295;font-size:8px;text-align:center}

@media(max-width:900px){
  .session-results-grid{grid-template-columns:1fr 1fr}
  .report-control-grid{grid-template-columns:1fr 1fr}
  .report-summary-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .session-results-grid,.report-control-grid,.report-summary-metrics,.report-analysis-columns{grid-template-columns:1fr}
  .report-export-actions{width:100%}.report-export-actions button{flex:1}
  .report-control-actions{align-items:flex-start;flex-direction:column}
  .profile-actions{align-items:flex-end;flex-direction:column}
  .domain-analysis-row{grid-template-columns:1fr 1fr}.domain-analysis-row em{justify-self:start}
}

@media print{
  body.printing-clinical-report .report-controls,
  body.printing-clinical-report .automated-report-notice,
  body.printing-clinical-report .report-export-actions,
  body.printing-clinical-report .view-head{display:none!important}
  body.printing-clinical-report .report-sheet{padding:18px!important}
  body.printing-clinical-report .report-auto-label{margin:-18px -18px 18px!important}
  body.printing-clinical-report .report-canvas{max-height:260px;object-fit:contain}
  body.printing-clinical-report .report-session-table{min-width:0;font-size:6px}
  body.printing-clinical-report .report-session-table th,
  body.printing-clinical-report .report-session-table td{padding:5px;font-size:6px}
  body.printing-clinical-report .report-analysis-box,
  body.printing-clinical-report .report-conclusion,
  body.printing-clinical-report .report-review-box{break-inside:avoid}
}


/* VINCULACIÓN ENTRE CUENTA PERSONAL Y PROFESIONAL */
.personal-link-section{background:#f7fbfa}
.personal-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.personal-link-card{padding:26px;border:1px solid var(--line);border-radius:21px;background:white;box-shadow:var(--shadow-soft)}
.personal-link-icon{display:grid;width:52px;height:52px;margin-bottom:20px;place-items:center;border-radius:15px;background:var(--mint-soft);color:var(--mint-dark);font-size:25px}
.personal-link-card h3{font-size:21px}.personal-link-card>p{color:#718184;font-size:10px}
.personal-link-card label{display:grid;gap:7px;margin-top:13px;color:#53676b;font-size:9px;font-weight:850}
.personal-link-card input[type="text"],.personal-link-card input:not([type]){width:100%;border:1px solid var(--line);border-radius:10px;background:#fbfdfd;padding:12px;outline:none;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.personal-link-message{min-height:18px;margin:10px 0 0;color:var(--mint-dark);font-size:9px;text-align:center;font-weight:850}
.connections-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}
.connections-head small{display:block;color:#899698;font-size:8px}.connections-head h3{margin:3px 0 0}.connections-head>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--mint-soft);color:var(--mint-dark);font-size:11px;font-weight:900}
.connection-item{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fbfdfd}
.connection-status{display:inline-block;margin-bottom:11px;padding:5px 8px;border-radius:999px;font-size:7px;font-weight:900}
.connection-status.active{background:#e2f8f4;color:var(--mint-dark)}.connection-status.paused{background:#fff0df;color:#9a642d}
.connection-professional{display:flex;align-items:center;gap:10px}.connection-professional>span{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:var(--ink);color:white;font-size:9px;font-weight:900}
.connection-professional b,.connection-professional small{display:block}.connection-professional b{font-size:10px}.connection-professional small{color:#849295;font-size:8px}
.connection-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.connection-stats>div{padding:9px;border:1px solid var(--line);border-radius:9px;background:white}.connection-stats small,.connection-stats b{display:block}.connection-stats small{color:#899698;font-size:7px}.connection-stats b{font-size:10px}
.connection-actions{display:flex;gap:7px}.connection-actions button{border:1px solid var(--line);border-radius:8px;background:white;padding:8px 9px;color:#5f7276;font-size:8px;font-weight:850}.connection-actions button.danger{color:#ad5d5d}
.sharing-explanation{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.sharing-explanation b{display:block;color:#40585d;font-size:8px}.sharing-explanation p{margin:3px 0 10px;color:#819093;font-size:8px}
.consent-rights{display:flex;gap:12px;margin-top:17px;padding:15px;border:1px solid #cfeae5;border-radius:13px;background:#edf9f7}.consent-rights>span{font-size:21px}.consent-rights b{font-size:10px}.consent-rights p{margin:3px 0 0;color:#64777a;font-size:9px}

/* PANEL DE VINCULACIÓN EN PERFIL PROFESIONAL */
.patient-link-panel{margin-top:15px;padding:18px;border:1px solid #cae8e3;border-radius:16px;background:#f2fbf9}
.patient-link-panel.linked{background:#eef9f7}
.patient-link-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.patient-link-head span{display:block;color:var(--mint-dark);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.patient-link-head h4{margin:4px 0;font-size:13px}.patient-link-head p{margin:0;color:#718184;font-size:8px}
.patient-link-head em{padding:6px 8px;border-radius:999px;font-size:7px;font-style:normal;font-weight:900}.patient-link-head em.active{background:#d9f5ef;color:#187e72}.patient-link-head em.paused{background:#fff0df;color:#946129}
.invite-code-box{display:grid;grid-template-columns:1.2fr .8fr auto;align-items:center;gap:10px;margin:15px 0;padding:13px;border:1px dashed #9ed8cf;border-radius:12px;background:white}.invite-code-box small,.invite-code-box b,.invite-code-box span{display:block}.invite-code-box small{color:#879496;font-size:7px}.invite-code-box b{font-size:18px;letter-spacing:.12em}.invite-code-box span{font-size:9px}.invite-code-box button{border:0;border-radius:8px;background:var(--ink);padding:8px 10px;color:white;font-size:8px;font-weight:900}
.patient-link-footnote{margin:11px 0 0!important;color:#819093!important;font-size:7px!important}
.patient-link-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.patient-link-metrics>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:white}.patient-link-metrics small,.patient-link-metrics b{display:block}.patient-link-metrics small{color:#879496;font-size:7px}.patient-link-metrics b{font-size:10px}
.shared-activity-preview{display:grid}.shared-activity-preview>div{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #dce9e7}.shared-activity-preview>div>span{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:white;color:var(--mint-dark)}.shared-activity-preview b,.shared-activity-preview small{display:block}.shared-activity-preview b{font-size:9px}.shared-activity-preview small{color:#879496;font-size:7px}.shared-activity-preview em{max-width:180px;color:#65777a;font-size:7px;font-style:normal;text-align:right}.shared-activity-preview>p{color:#7b8a8d;font-size:8px}
.patient-link-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.patient-link-actions small{color:#7f8e90;font-size:7px}

/* DATOS PERSONALES EN EL INFORME */
.personal-data-report-section{padding:17px;border:1px solid #cde9e4;border-radius:13px;background:#f4fbfa}
.personal-data-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.personal-data-title h3{margin-bottom:5px}.personal-data-title p{margin:0!important;font-size:8px!important}.personal-data-title>span{padding:7px 9px;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:8px;font-weight:900}
.report-summary-metrics.personal{margin:14px 0}.personal-results-table{margin-top:13px;background:white}
.personal-data-caution{margin-top:13px;padding:11px;border-left:4px solid var(--purple);border-radius:0 9px 9px 0;background:#f2efff;color:#625c86;font-size:7px}
.report-options label:has(#include-personal-data){color:var(--mint-dark)}

@media(max-width:800px){
  .personal-link-grid{grid-template-columns:1fr}
  .patient-link-metrics{grid-template-columns:1fr}
  .invite-code-box{grid-template-columns:1fr}
  .patient-link-actions{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .connection-stats{grid-template-columns:1fr}
  .connection-actions{flex-direction:column}
  .patient-link-head,.personal-data-title{flex-direction:column}
  .shared-activity-preview>div{grid-template-columns:30px 1fr}.shared-activity-preview em{grid-column:2;max-width:none;text-align:left}
}


/* REGISTRO INSTITUCIONAL */
.auth-shell-wide{grid-template-columns:.82fr 1.18fr;max-width:1280px}
.auth-card-institution{max-height:calc(100vh - 120px);overflow:auto}
.account-type-grid-three{grid-template-columns:repeat(3,1fr)}
.role-symbol.institution{background:#e7f1fb;color:var(--blue)}
.institution-section-title{display:flex;align-items:center;gap:10px;margin:8px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.institution-section-title>span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--ink);color:white;font-size:9px;font-weight:900}
.institution-section-title b,.institution-section-title small{display:block}.institution-section-title b{font-size:10px}.institution-section-title small{color:#899698;font-size:8px}
.institution-clinical-check{padding:13px;border:1px solid #cfeae5;border-radius:11px;background:#effaf8}
.demo-access-three{grid-template-columns:repeat(3,1fr)!important}

/* RUTAS DE CUENTA EN PÁGINA PÚBLICA */
.account-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.account-path-card{position:relative;min-height:310px;padding:31px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:var(--shadow-soft)}
.account-path-card.institution-path{border-color:#bbded9;background:linear-gradient(145deg,#eafbf8,#ffffff);transform:translateY(-10px)}
.account-path-icon{display:grid;width:54px;height:54px;margin-bottom:44px;place-items:center;border-radius:16px;background:var(--mint-soft);color:var(--mint-dark);font-size:25px}
.account-path-card.institution-path .account-path-icon{background:var(--ink);color:var(--mint)}
.account-path-card.personal-path .account-path-icon{background:#eeeafd;color:var(--purple)}
.account-path-card>small{display:block;color:var(--mint-dark);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.account-path-card h3{margin:7px 0 10px;font-size:26px}
.account-path-card p{color:var(--gray);font-size:12px}
.account-path-card a{position:absolute;right:31px;bottom:28px;left:31px;color:var(--mint-dark);font-size:10px;font-weight:900}

/* INSTITUTION PORTAL */
.institution-body{min-height:100vh;background:#eef3f3}
.institution-layout{display:grid;min-height:100vh;grid-template-columns:245px 1fr;grid-template-rows:88px 1fr;padding-top:25px}
.institution-sidebar{position:fixed;z-index:200;top:25px;bottom:0;left:0;display:flex;width:245px;flex-direction:column;padding:22px 16px;background:var(--ink);color:white;overflow-y:auto}
.institution-sidebar .portal-brand{padding-bottom:17px}
.institution-context{margin-top:16px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.04)}
.institution-context small,.institution-context b,.institution-context span{display:block}.institution-context small{color:#708d91;font-size:7px;text-transform:uppercase}.institution-context b{margin:3px 0;color:white;font-size:11px}.institution-context span{color:var(--mint);font-size:7px}
.institution-nav{display:grid;gap:4px;margin-top:17px}
.institution-nav-label{margin:14px 10px 3px;color:#607c80;font-size:7px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.institution-nav button{display:flex;align-items:center;gap:10px;border:0;border-radius:10px;background:transparent;padding:9px 11px;color:#a8bdc0;font-size:9px;font-weight:800;text-align:left}
.institution-nav button i{display:grid;width:22px;height:22px;place-items:center;color:#728c90;font-size:14px;font-style:normal}
.institution-nav button:hover,.institution-nav button.active{background:rgba(66,214,196,.13);color:white}.institution-nav button.active i{color:var(--mint)}
.institution-sidebar-bottom{display:grid;gap:7px;margin-top:auto;padding-top:18px}.institution-sidebar-bottom a,.institution-sidebar-bottom button{border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.04);padding:8px 10px;color:#9fb5b8;font-size:8px;text-align:left}
.institution-header{position:fixed;z-index:150;top:25px;right:0;left:245px;display:flex;height:88px;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid #dfe7e7;background:rgba(255,255,255,.95);backdrop-filter:blur(16px)}
.institution-header small{color:#899698;font-size:8px}.institution-header h1{margin:2px 0 0;font-size:22px}
.institution-account{display:flex;align-items:center;gap:10px}.institution-account b,.institution-account small{display:block;text-align:right}.institution-account b{font-size:10px}.institution-account small{color:#879496;font-size:7px}.institution-account>span{display:grid;width:39px;height:39px;place-items:center;border-radius:50%;background:var(--ink);color:white;font-size:9px;font-weight:900}
.institution-main{grid-column:2;grid-row:2;padding:31px}
.institution-view{display:none}.institution-view.active{display:block}
.institution-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:17px}.institution-welcome h2{margin:4px 0 7px;font-size:30px}.institution-welcome p{margin:0;color:#708084;font-size:11px}
.portal-primary.disabled{opacity:.55}
.institution-verification{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 15px;border:1px solid #efd7ae;border-radius:11px;background:#fff5e4;color:#735a38}.institution-verification div b,.institution-verification div span{display:block}.institution-verification b{font-size:9px}.institution-verification span{font-size:8px}.institution-verification em{padding:5px 8px;border-radius:999px;background:#ffe6bb;font-size:7px;font-style:normal;font-weight:900}.institution-verification.verified{border-color:#cbe9e4;background:#eef9f7;color:#316e67}.institution-verification.verified em{background:#d7f4ee;color:#1b7e72}
.institution-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:15px}.institution-metrics article{display:flex;align-items:center;gap:12px;padding:17px;border:1px solid #dfe7e7;border-radius:16px;background:white}.institution-metrics small,.institution-metrics strong,.institution-metrics em{display:block}.institution-metrics small{color:#849294;font-size:8px}.institution-metrics strong{font-size:23px;line-height:1.2}.institution-metrics em{color:#829194;font-size:7px;font-style:normal}
.institution-dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;margin-bottom:15px}.institution-dashboard-grid.second{grid-template-columns:1fr 1fr}
.license-usage-row{margin:14px 0}.license-usage-row>div{display:flex;justify-content:space-between;margin-bottom:6px}.license-usage-row b{font-size:8px}.license-usage-row span{color:#7d8b8e;font-size:7px}.license-usage-row>i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#edf2f2}.license-usage-row>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--mint-dark))}
.discipline-breakdown{display:grid;gap:10px}.discipline-breakdown>div{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:9px}.discipline-breakdown span{font-size:8px}.discipline-breakdown i{height:7px;overflow:hidden;border-radius:999px;background:#edf2f2}.discipline-breakdown i b{display:block;height:100%;border-radius:inherit;background:var(--purple)}.discipline-breakdown em{font-size:8px;font-style:normal;font-weight:900}
.assignment-summary,.institution-recent-audit{display:grid}.assignment-summary>div,.institution-recent-audit>div{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #edf1f1}.assignment-summary>div>span{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:var(--mint-soft);color:var(--mint-dark);font-size:8px;font-weight:900}.assignment-summary b,.assignment-summary small,.institution-recent-audit b,.institution-recent-audit small{display:block}.assignment-summary b,.institution-recent-audit b{font-size:9px}.assignment-summary small,.institution-recent-audit small{color:#899698;font-size:7px}.assignment-summary em{color:#64777a;font-size:7px;font-style:normal}.institution-recent-audit>div{grid-template-columns:12px 1fr}.institution-recent-audit>div>span{color:var(--mint);font-size:18px}
.institution-inline-form{margin-bottom:18px;padding:22px;border:1px solid #cde8e3;border-radius:17px;background:#f5fbfa}.inline-form-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.inline-form-head small{color:#899698;font-size:7px}.inline-form-head h3{margin:3px 0 0;font-size:18px}.inline-form-head button{border:0;background:transparent;color:#718184;font-size:20px}
.institution-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:12px}.institution-form-grid label,.institution-settings-form label{display:grid;gap:6px;color:#5d7074;font-size:8px;font-weight:850}.institution-form-grid input,.institution-form-grid select,.institution-settings-form input{width:100%;border:1px solid var(--line);border-radius:9px;background:white;padding:9px;outline:none;color:var(--ink)}
.institution-form-message{min-height:18px;margin:8px 0 0;color:var(--mint-dark);font-size:8px}
.institution-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.institution-toolbar .portal-search{width:290px}.institution-toolbar>select{border:1px solid var(--line);border-radius:9px;background:white;padding:9px;color:#637679;font-size:8px}
.institution-table-card{overflow:hidden;border:1px solid #dfe7e7;border-radius:16px;background:white}.institution-table-scroll{overflow-x:auto}.institution-table{width:100%;min-width:850px;border-collapse:collapse}.institution-table th,.institution-table td{padding:12px;border-bottom:1px solid #e8eeee;color:#5d7074;font-size:8px;text-align:left;vertical-align:middle}.institution-table th{background:#f7fafa;color:#40585d;font-size:7px;text-transform:uppercase}.table-person{display:flex;align-items:center;gap:9px}.table-person>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--mint-soft);color:var(--mint-dark);font-size:8px;font-weight:900}.table-person b,.table-person small{display:block}.table-person b{font-size:9px}.table-person small{color:#8a9799;font-size:7px}.table-status{padding:5px 7px;border-radius:999px;font-size:7px;font-weight:900}.table-status.active{background:#def7f2;color:#1f8478}.table-status.pending{background:#fff0d9;color:#90602f}.table-status.suspended{background:#f7e3e3;color:#a45454}.table-action{border:1px solid var(--line);border-radius:7px;background:white;padding:6px 8px;color:#5d7074;font-size:7px}.account-linked{color:var(--mint-dark);font-size:7px;font-weight:900}.invitation-cell{display:flex;align-items:center;gap:6px}.invitation-cell b{letter-spacing:.1em}.invitation-cell button{border:0;border-radius:6px;background:var(--ink);padding:5px 7px;color:white;font-size:6px}
.institution-patient-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.institution-patient-card{padding:17px;border:1px solid #dfe7e7;border-radius:16px;background:white;box-shadow:0 7px 20px rgba(19,45,53,.035)}.institution-patient-head{display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:10px}.institution-patient-head>span{display:grid;width:41px;height:41px;place-items:center;border-radius:12px;background:var(--mint-soft);color:var(--mint-dark);font-size:10px;font-weight:900}.institution-patient-head h3{margin:0;font-size:15px}.institution-patient-head p{margin:3px 0 0;color:#879496;font-size:7px}.institution-patient-head em{padding:5px 7px;border-radius:999px;background:#edf8f6;color:#28776e;font-size:6px;font-style:normal;font-weight:900}.institution-patient-info{display:grid;grid-template-columns:1fr 1fr .6fr;gap:7px;margin:14px 0}.institution-patient-info>div{padding:8px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.institution-patient-info small,.institution-patient-info b{display:block}.institution-patient-info small{color:#8a9799;font-size:6px}.institution-patient-info b{font-size:8px}.institution-patient-card>label{display:grid;gap:5px;color:#687a7e;font-size:7px;font-weight:800}.institution-patient-card select{border:1px solid var(--line);border-radius:8px;background:white;padding:8px;font-size:8px}.institution-patient-actions{margin-top:10px}.institution-patient-actions button{width:100%;border:0;border-radius:8px;background:var(--ink);padding:8px;color:white;font-size:7px;font-weight:900}
.institution-site-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.institution-site-card{display:grid;grid-template-columns:50px 1fr;gap:12px;padding:20px;border:1px solid var(--line);border-radius:17px;background:white}.site-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:#e8f2fb;color:var(--blue);font-size:23px}.institution-site-card small{color:#899698;font-size:7px}.institution-site-card h3{margin:2px 0 5px;font-size:17px}.institution-site-card p{margin:0;color:#718184;font-size:8px}.site-metrics{grid-column:1/3;display:flex;gap:8px;padding-top:13px;border-top:1px solid var(--line)}.site-metrics span{padding:7px 8px;border-radius:8px;background:#f4f7f7;color:#687a7e;font-size:7px}.site-metrics b{color:var(--ink)}
.clinical-access-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:20px;padding:30px;border-radius:22px;background:linear-gradient(140deg,var(--ink),#1e4852);color:white}.clinical-access-hero h2{margin:4px 0 8px;color:white}.clinical-access-hero p{max-width:720px;margin:0;color:#bed0d2;font-size:10px}.institution-clinical-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.institution-clinical-preview article{display:flex;align-items:center;gap:12px;padding:17px;border:1px solid var(--line);border-radius:15px;background:white}.institution-clinical-preview article>span{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:var(--mint-soft);color:var(--mint-dark);font-size:18px}.institution-clinical-preview small{color:var(--mint-dark);font-size:6px;text-transform:uppercase}.institution-clinical-preview h3{margin:2px 0;font-size:13px}.institution-clinical-preview p{margin:0;color:#849295;font-size:7px}
.institution-session-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:15px}.institution-session-metrics article{padding:17px;border:1px solid var(--line);border-radius:14px;background:white}.institution-session-metrics small,.institution-session-metrics b{display:block}.institution-session-metrics small{color:#879496;font-size:7px}.institution-session-metrics b{font-size:24px}.institution-session-row{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.institution-session-row>span{color:#718184;font-size:7px}.institution-session-row b,.institution-session-row small{display:block}.institution-session-row b{font-size:9px}.institution-session-row small{color:#899698;font-size:7px}.institution-session-row em{color:var(--mint-dark);font-size:9px;font-style:normal;font-weight:900}
.institutional-report-card{max-width:1050px;margin:auto}.institution-report-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:3px solid var(--mint)}.institution-report-header img{width:145px}.institution-report-header div{text-align:right}.institution-report-header b,.institution-report-header span{display:block}.institution-report-header b{font-size:15px}.institution-report-header span{color:#829092;font-size:7px}
.institution-license-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.institution-plan-card{padding:30px;border-radius:23px;background:linear-gradient(145deg,var(--ink),#1f4852);color:white}.institution-plan-card h2{color:white}.institution-plan-card p{color:#bed0d2}.institution-plan-card .license-usage-row>i{background:rgba(255,255,255,.12)}.institution-plan-card .license-usage-row b{color:white}.institution-plan-card .license-usage-row span{color:#b9ccce}.institution-plan-features{display:grid;align-content:start;gap:11px}.institution-plan-features span{padding-bottom:9px;border-bottom:1px solid var(--line);color:#5f7276;font-size:9px}
.institution-settings-form{display:grid;gap:14px;max-width:900px}.institution-settings-form>.portal-label{margin:0}

@media(max-width:1100px){
  .institution-layout{grid-template-columns:205px 1fr}.institution-sidebar{width:205px}.institution-header{left:205px}
  .institution-patient-grid,.institution-site-grid{grid-template-columns:1fr 1fr}
  .institution-form-grid{grid-template-columns:1fr 1fr}
  .institution-clinical-preview{grid-template-columns:1fr 1fr}
}
@media(max-width:800px){
  .auth-shell-wide{grid-template-columns:1fr}.auth-card-institution{max-height:none}
  .account-type-grid-three,.account-path-grid{grid-template-columns:1fr}.account-path-card.institution-path{transform:none}
  .institution-layout{display:block}.institution-sidebar{transform:translateX(-110%);transition:.25s}.institution-sidebar.open{transform:translateX(0)}
  .institution-header{left:0;padding:0 15px}.institution-main{padding:108px 14px 25px}
  .institution-welcome,.clinical-access-hero{align-items:flex-start;flex-direction:column}
  .institution-metrics,.institution-dashboard-grid,.institution-dashboard-grid.second,.institution-license-layout{grid-template-columns:1fr 1fr}
  .institution-account div{display:none}
}
@media(max-width:560px){
  .institution-metrics,.institution-dashboard-grid,.institution-dashboard-grid.second,.institution-patient-grid,.institution-site-grid,.institution-form-grid,.institution-clinical-preview,.institution-session-metrics,.institution-license-layout{grid-template-columns:1fr}
  .institution-toolbar{align-items:stretch;flex-direction:column}.institution-toolbar .portal-search{width:100%}
  .institution-patient-head{grid-template-columns:43px 1fr}.institution-patient-head em{grid-column:2}
  .institution-patient-info{grid-template-columns:1fr}
}

@media print{
  body.printing-institution-report .institution-sidebar,
  body.printing-institution-report .institution-header,
  body.printing-institution-report .view-head,
  body.printing-institution-report .clinical-access-hero,
  body.printing-institution-report .institutional-report-card .portal-card-head{display:none!important}
  body.printing-institution-report .institution-layout,
  body.printing-institution-report .institution-main{display:block!important;padding:0!important;margin:0!important}
  body.printing-institution-report .institution-view{display:none!important}
  body.printing-institution-report .institution-view[data-institution-panel="reports"]{display:block!important}
  body.printing-institution-report .institutional-report-card{border:0;box-shadow:none;max-width:none}
}

/* FARO ATENCIONAL — PRIMER JUEGO CLÍNICO DEL MVP */
.attention-body{min-height:100vh;background:#edf4f3;color:var(--ink)}
.attention-safety-bar{position:fixed;z-index:250;top:0;right:0;left:0;height:25px;background:#fff1d8;color:#735a35;font-size:8px;font-weight:900;letter-spacing:.09em;text-align:center;line-height:25px}
.attention-header{position:fixed;z-index:200;top:25px;right:0;left:0;display:flex;height:82px;align-items:center;justify-content:space-between;gap:20px;padding:0 max(20px,calc((100vw - 1240px)/2));border-bottom:1px solid #dce7e6;background:rgba(255,255,255,.95);backdrop-filter:blur(18px)}
.attention-header .portal-brand{border:0;padding:0}.attention-session-identity{text-align:center}.attention-session-identity small,.attention-session-identity b{display:block}.attention-session-identity small{color:#829194;font-size:8px}.attention-session-identity b{font-size:11px}.attention-exit{border:1px solid var(--line);border-radius:9px;background:white;padding:9px 12px;color:#66797d;font-size:8px;font-weight:850}
.attention-main{min-height:100vh;padding:137px max(18px,calc((100vw - 1240px)/2)) 55px}
[data-attention-view]{display:none}[data-attention-view].active{display:block}
.attention-intro-grid{display:grid;grid-template-columns:1fr .95fr;align-items:center;gap:68px;min-height:calc(100vh - 205px)}
.attention-intro-copy{position:relative}.attention-kicker{display:inline-block;margin-bottom:15px;color:var(--mint-dark);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.attention-intro-copy h1,.attention-results-header h1{margin-bottom:21px;font-size:clamp(48px,6vw,78px)}.attention-intro-copy>p{max-width:690px;color:#5c7074;font-size:17px}
.attention-domain-chips{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.attention-domain-chips span{padding:8px 11px;border:1px solid #cae9e4;border-radius:999px;background:#effaf8;color:#36756e;font-size:9px;font-weight:850}
.attention-boundary-card{display:flex;gap:12px;max-width:690px;padding:16px;border-left:4px solid var(--mint);border-radius:0 13px 13px 0;background:white;box-shadow:var(--shadow-soft)}.attention-boundary-card>span{color:var(--mint-dark);font-size:20px}.attention-boundary-card p{margin:0;color:#64777a;font-size:10px}
.attention-setup-card{padding:29px;border:1px solid #d9e5e4;border-radius:26px;background:white;box-shadow:0 28px 75px rgba(19,45,53,.14)}
.attention-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.attention-card-heading small{display:block;color:#899698;font-size:8px}.attention-card-heading h2{margin:3px 0 0;font-size:25px}.attention-card-heading>span{padding:6px 9px;border-radius:999px;background:#e6f8f4;color:var(--mint-dark);font-size:7px;font-weight:900;text-transform:uppercase}
.attention-context-card{padding:13px;border:1px solid #cce9e4;border-radius:12px;background:#f0faf8}.attention-context-card small,.attention-context-card b,.attention-context-card p{display:block}.attention-context-card small{color:#819093;font-size:7px}.attention-context-card b{margin:2px 0;font-size:11px}.attention-context-card p{margin:0;color:#6d7e82;font-size:8px}
.attention-assignment-note{margin-top:12px;padding:12px;border-left:4px solid var(--purple);border-radius:0 10px 10px 0;background:#f2efff}.attention-assignment-note b{display:block;color:#5c5681;font-size:8px}.attention-assignment-note p{margin:3px 0 0;color:#706a94;font-size:8px}
#attention-setup-form{display:grid;gap:13px;margin-top:17px}.attention-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.attention-form-grid label,#attention-setup-form>label,.attention-professional-fields label,.attention-supervised-review label{display:grid;gap:6px;color:#576b6f;font-size:8px;font-weight:850}.attention-form-grid select,.attention-form-grid input,#attention-setup-form select,.attention-professional-fields textarea,.attention-supervised-review input,.attention-supervised-review select,.attention-supervised-review textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fbfdfd;padding:10px;outline:none;color:var(--ink)}
.attention-check{grid-template-columns:auto 1fr!important;align-items:start;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfd}.attention-check input{margin-top:3px}.attention-check b,.attention-check small{display:block}.attention-check b{font-size:9px}.attention-check small{margin-top:2px;color:#849295;font-size:7px;font-weight:500}
.attention-accessibility{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px}.attention-accessibility legend{padding:0 6px;color:#607377;font-size:8px;font-weight:900}.attention-accessibility label{display:flex;align-items:center;gap:7px;color:#64777a;font-size:8px}
.attention-professional-fields{display:grid;gap:11px;padding:13px;border:1px solid #d7e8e5;border-radius:12px;background:#f5fbfa}.attention-form-status{min-height:17px;margin:0;color:#718184;font-size:8px;text-align:center}

.attention-stage-shell{width:min(100%,900px);margin:25px auto;padding:30px;border:1px solid #dbe7e6;border-radius:27px;background:white;box-shadow:var(--shadow)}.attention-stage-heading{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line)}.attention-stage-heading small{color:#899698;font-size:8px}.attention-stage-heading h2{margin:3px 0 0}.attention-stage-heading>span{padding:7px 10px;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:8px;font-weight:900}
.attention-target-reference{display:grid;justify-items:center;margin:22px 0}.attention-target-reference>span{color:#7e8d8f;font-size:8px;text-transform:uppercase}.attention-target-reference>b{display:grid;width:88px;height:88px;margin:7px 0;place-items:center;border-radius:23px;background:#dff9f5;color:var(--mint-dark);font-size:48px}.attention-target-reference p{margin:0;color:#6d7f82;font-size:9px}
.attention-practice-instruction{text-align:center;color:#3f5c61;font-size:11px;font-weight:900}.attention-feedback{min-height:22px;margin:13px 0 0;text-align:center;font-size:9px;font-weight:900}.attention-feedback.success{color:#168576}.attention-feedback.error{color:#b45c5c}
.attention-grid{display:grid;grid-template-columns:repeat(var(--attention-columns,5),minmax(0,1fr));gap:10px;width:min(100%,760px);margin:20px auto}.attention-grid.practice-grid{grid-template-columns:repeat(3,95px);justify-content:center}.attention-grid button{display:grid;min-height:76px;place-items:center;border:1px solid #dce7e6;border-radius:16px;background:#f9fbfb;color:#63777a;font-size:34px;transition:transform .12s,border-color .12s,background .12s}.attention-grid button:hover:not(:disabled),.attention-grid button:focus-visible{transform:translateY(-2px);border-color:var(--mint);background:#edf9f7;outline:3px solid rgba(66,214,196,.16)}.attention-grid.practice-grid button.attention-target{background:#e2faf6;color:var(--mint-dark)}.attention-grid button:disabled{opacity:.48}
.attention-absent-button{display:block;width:min(100%,340px);margin:10px auto;border:1px solid #bacdcd;border-radius:12px;background:white;padding:12px;color:#496166;font-size:10px;font-weight:900}.attention-absent-button:hover{border-color:var(--purple);background:#f6f4ff}

.attention-ready-view{padding-top:50px}.attention-ready-card{width:min(100%,630px);margin:auto;padding:42px;border:1px solid var(--line);border-radius:28px;background:white;box-shadow:var(--shadow);text-align:center}.attention-ready-icon{display:grid;width:78px;height:78px;margin:0 auto 18px;place-items:center;border-radius:50%;background:var(--mint-soft);color:var(--mint-dark);font-size:34px}.attention-ready-card h2{font-size:34px}.attention-ready-card>p{color:#64777a}.attention-ready-summary{display:flex;justify-content:center;gap:9px;margin:22px 0}.attention-ready-summary span{min-width:120px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fbfdfd;color:#718184;font-size:8px}.attention-ready-summary b{display:block;color:var(--ink);font-size:11px}

.attention-game-view{position:relative;min-height:calc(100vh - 170px)}.attention-game-topbar{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:20px;padding:15px 18px;border:1px solid #dbe6e5;border-radius:15px;background:white;box-shadow:var(--shadow-soft)}.attention-progress-copy small,.attention-progress-copy b{display:block}.attention-progress-copy small{color:#829194;font-size:7px}.attention-progress-copy b{font-size:10px}.attention-progress-track{height:9px;overflow:hidden;border-radius:999px;background:#e9efef}.attention-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--mint-dark));transition:width .25s}.attention-live-stats{display:flex;gap:10px}.attention-live-stats span{padding:7px 9px;border-radius:9px;background:#f3f7f7;color:#718184;font-size:7px}.attention-live-stats b{color:var(--ink)}.attention-game-topbar>button{border:1px solid var(--line);border-radius:9px;background:white;padding:8px 11px;color:#65777a;font-size:8px}
.attention-game-canvas{display:grid;grid-template-columns:180px 1fr;gap:20px;margin-top:18px}.attention-target-panel{display:grid;align-content:center;justify-items:center;min-height:520px;border:1px solid #cce9e4;border-radius:22px;background:linear-gradient(160deg,#eafbf8,#ffffff);box-shadow:var(--shadow-soft)}.attention-target-panel small{color:#78898c;font-size:9px;text-transform:uppercase}.attention-target-panel>b{display:grid;width:110px;height:110px;margin:14px 0;place-items:center;border-radius:29px;background:var(--mint);color:#123e39;font-size:62px}.attention-target-panel p{color:#64777a;font-size:9px}.attention-trial-area{display:grid;align-content:center;min-height:520px;padding:25px;border:1px solid #dbe6e5;border-radius:22px;background:white;box-shadow:var(--shadow-soft)}.attention-trial-prompt{text-align:center;color:#4b6267;font-size:10px;font-weight:900}.attention-time-track{width:min(100%,620px);height:6px;margin:18px auto 0;overflow:hidden;border-radius:999px;background:#edf2f2}.attention-time-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orange),#e36f5f)}
.attention-pause-overlay{position:fixed;z-index:400;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,32,38,.67);backdrop-filter:blur(8px)}.attention-pause-overlay[hidden]{display:none}.attention-pause-overlay>div{width:min(100%,450px);padding:36px;border-radius:24px;background:white;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.28)}.attention-pause-overlay span{display:grid;width:68px;height:68px;margin:0 auto 16px;place-items:center;border-radius:50%;background:var(--mint-soft);color:var(--mint-dark);font-size:28px}.attention-pause-overlay p{color:#6d7f82}

.attention-block-view{padding-top:45px}.attention-block-card{width:min(100%,650px);margin:auto;padding:40px;border:1px solid var(--line);border-radius:27px;background:white;box-shadow:var(--shadow);text-align:center}.attention-block-icon{display:grid;width:70px;height:70px;margin:0 auto 15px;place-items:center;border-radius:20px;background:#edeaff;color:var(--purple);font-size:31px}.attention-block-card>small{color:#879496;font-size:8px;text-transform:uppercase}.attention-block-card h2{margin-top:4px;font-size:32px}.attention-block-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0}.attention-block-metrics span{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfdfd}.attention-block-metrics small,.attention-block-metrics b{display:block}.attention-block-metrics small{color:#879496;font-size:7px}.attention-block-metrics b{font-size:16px}.attention-block-card>p{color:#64777a;font-size:10px}

.attention-results-view{padding-bottom:40px}.attention-results-header{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:25px}.attention-results-header h1{margin:3px 0 9px;font-size:48px}.attention-results-header p{margin:0;color:#64777a}.attention-result-score{display:grid;width:170px;height:170px;place-items:center;align-content:center;border-radius:50%;background:radial-gradient(circle closest-side,#fff 73%,transparent 74%),conic-gradient(var(--mint) var(--attention-score,75%),#e2ebea 0);box-shadow:var(--shadow-soft)}.attention-result-score small,.attention-result-score strong,.attention-result-score span{display:block;text-align:center}.attention-result-score small{color:#839194;font-size:8px}.attention-result-score strong{font-size:34px}.attention-result-score span{color:#6d7e82;font-size:8px}
.attention-result-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:15px}.attention-result-grid article{padding:16px;border:1px solid var(--line);border-radius:14px;background:white}.attention-result-grid small,.attention-result-grid strong,.attention-result-grid span{display:block}.attention-result-grid small{color:#819093;font-size:7px}.attention-result-grid strong{font-size:22px}.attention-result-grid span{color:#8a9799;font-size:7px}
.attention-result-layout{display:grid;grid-template-columns:1.45fr .55fr;gap:15px}.attention-result-chart-card,.attention-interpretation-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:var(--shadow-soft)}.attention-result-chart-card canvas{display:block;width:100%;height:auto}.attention-interpretation-card>span{color:var(--mint-dark);font-size:8px;font-weight:900;text-transform:uppercase}.attention-interpretation-card h2{margin:5px 0 10px;font-size:23px}.attention-interpretation-card>p{color:#5f7276;font-size:10px}.attention-result-caution{margin-top:17px;padding:12px;border-left:4px solid var(--orange);border-radius:0 9px 9px 0;background:#fff5e8;color:#745a3b;font-size:8px}
.attention-supervised-review{display:grid;gap:12px;margin-top:16px;padding:22px;border:1px solid #cde8e3;border-radius:18px;background:#f4fbfa}.attention-supervised-review h2{margin-bottom:3px;font-size:20px}.attention-supervised-review .attention-form-grid label>span{display:flex;align-items:center;gap:6px}.attention-supervised-review textarea{resize:vertical}
.attention-save-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:17px;border:1px solid var(--line);border-radius:14px;background:white}.attention-save-panel b,.attention-save-panel p{display:block}.attention-save-panel b{font-size:10px}.attention-save-panel p{margin:3px 0 0;color:#7b8a8d;font-size:8px}.attention-results-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}

.attention-large-targets .attention-grid button{min-height:92px;font-size:43px}.attention-large-targets .attention-grid{gap:13px}.attention-high-contrast{--mint:#00e8c8;--mint-dark:#006d5e;--ink:#071b20;--line:#879597}.attention-high-contrast .attention-grid button{border-width:2px;background:#fff;color:#000}.attention-high-contrast .attention-grid.practice-grid button.attention-target{background:#00e8c8;color:#000}.attention-reduced-motion .attention-grid button,.attention-reduced-motion .attention-progress-track span{transition:none!important}

@media(max-width:1000px){
  .attention-intro-grid,.attention-result-layout{grid-template-columns:1fr}.attention-intro-grid{gap:35px}.attention-game-canvas{grid-template-columns:1fr}.attention-target-panel{min-height:150px;display:flex;align-items:center;justify-content:center;gap:20px}.attention-target-panel>b{width:75px;height:75px;margin:0;font-size:42px}.attention-trial-area{min-height:480px}.attention-result-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .attention-header{padding:0 12px}.attention-header .portal-brand small,.attention-session-identity{display:none}.attention-exit{font-size:7px}.attention-main{padding-right:12px;padding-left:12px}.attention-intro-copy h1{font-size:48px}.attention-form-grid,.attention-accessibility{grid-template-columns:1fr}.attention-game-topbar{grid-template-columns:1fr auto}.attention-progress-track{grid-column:1/3}.attention-live-stats{display:none}.attention-grid{grid-template-columns:repeat(var(--attention-columns,4),minmax(0,1fr));gap:7px}.attention-grid button{min-height:62px;border-radius:11px;font-size:28px}.attention-grid.practice-grid{grid-template-columns:repeat(3,70px)}.attention-ready-summary{flex-direction:column}.attention-block-metrics{grid-template-columns:1fr 1fr}.attention-results-header{align-items:flex-start;flex-direction:column}.attention-result-score{width:135px;height:135px}.attention-result-grid{grid-template-columns:1fr 1fr}.attention-save-panel{align-items:flex-start;flex-direction:column}.attention-results-actions{align-items:stretch;flex-direction:column}.attention-results-actions .button{width:100%}
}
@media(max-width:430px){
  .attention-result-grid{grid-template-columns:1fr}.attention-stage-shell,.attention-ready-card,.attention-block-card,.attention-setup-card{padding:20px}.attention-grid{grid-template-columns:repeat(var(--attention-columns,3),minmax(0,1fr))}.attention-grid.practice-grid{grid-template-columns:repeat(3,60px)}.attention-grid button{min-height:55px;font-size:24px}.attention-target-panel{gap:10px}.attention-target-panel>b{width:62px;height:62px;font-size:35px}
}

/* ASIGNACIONES EN NÉFESH PERSONAL */
.personal-assignments-section{background:white}
.personal-assignment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.personal-assignment-card{position:relative;display:grid;grid-template-columns:64px 1fr;gap:15px;padding:24px;border:1px solid #cce8e3;border-radius:20px;background:linear-gradient(145deg,#effaf8,#ffffff);box-shadow:var(--shadow-soft)}
.assignment-game-icon{display:grid;width:60px;height:60px;place-items:center;border-radius:17px;background:var(--mint);color:#123e39;font-size:32px}
.assignment-card-heading>span{display:block;color:var(--mint-dark);font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.assignment-card-heading h3{margin:4px 0 7px;font-size:22px}.assignment-card-heading p{margin:0;color:#65777a;font-size:9px}
.assignment-context{grid-column:1/3;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 2px}.assignment-context>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:white}.assignment-context small,.assignment-context b{display:block}.assignment-context small{color:#899698;font-size:6px}.assignment-context b{font-size:8px}
.personal-assignment-card>.button{grid-column:1/3}.self-game-link{display:flex;width:calc(100% - 40px);min-height:38px;align-items:center;justify-content:center;margin:0 20px 20px;border-radius:10px;background:var(--ink);color:white;font-size:9px;font-weight:900}.featured-clinical-game{border-color:#bfe3dd!important;box-shadow:0 15px 38px rgba(36,169,153,.12)!important}
@media(max-width:850px){.personal-assignment-grid{grid-template-columns:1fr}.assignment-context{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.personal-assignment-card{grid-template-columns:1fr}.assignment-game-icon{margin:auto}.assignment-card-heading{text-align:center}.assignment-context,.personal-assignment-card>.button{grid-column:1}.assignment-context{grid-template-columns:1fr}}

/* CENTRO DE JUEGOS CLÍNICOS EN NÉFESH PRO */
.clinical-game-launch{display:inline-flex;align-items:center;text-decoration:none}
.clinical-game-overview{display:grid;grid-template-columns:90px 1fr .75fr;align-items:center;gap:20px;margin-bottom:16px;padding:24px;border-radius:21px;background:linear-gradient(140deg,var(--ink),#1d4650);color:white;box-shadow:var(--shadow)}
.clinical-game-symbol{display:grid;width:82px;height:82px;place-items:center;border-radius:24px;background:var(--mint);color:#123e39;font-size:47px}.clinical-game-overview>div:nth-child(2)>span{display:block;color:#86e5d9;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.clinical-game-overview h3{margin:5px 0 8px;color:white;font-size:24px}.clinical-game-overview p{margin:0;color:#bed0d2;font-size:9px}.clinical-game-boundary{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05)}.clinical-game-boundary b,.clinical-game-boundary small{display:block}.clinical-game-boundary b{color:#fff;font-size:9px}.clinical-game-boundary small{margin-top:4px;color:#b6cacc;font-size:7px}
.clinical-game-workspace{display:grid;grid-template-columns:1.05fr .95fr;gap:15px}.clinical-game-config{align-self:start}.clinical-game-accessibility-options{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.clinical-game-accessibility-options label{display:flex;align-items:center;gap:6px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fbfdfd;color:#65777a;font-size:7px}.clinical-game-actions{display:flex;gap:8px;margin-top:13px}.clinical-game-monitor{display:grid;align-content:start;gap:15px}.clinical-game-assignment-row,.clinical-game-run-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #edf1f1}.clinical-game-assignment-row>span,.clinical-game-run-row>span{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:var(--mint-soft);color:var(--mint-dark);font-size:16px}.clinical-game-run-row>span.supervised{background:#e8e4ff;color:var(--purple);font-size:8px;font-weight:900}.clinical-game-run-row>span.personal{font-size:8px;font-weight:900}.clinical-game-assignment-row b,.clinical-game-assignment-row small,.clinical-game-run-row b,.clinical-game-run-row small{display:block}.clinical-game-assignment-row b,.clinical-game-run-row b{font-size:9px}.clinical-game-assignment-row small,.clinical-game-run-row small{color:#899698;font-size:7px}.clinical-game-assignment-row button{border:1px solid #ead2d2;border-radius:7px;background:#fff7f7;padding:6px 8px;color:#a35a5a;font-size:7px}.clinical-game-assignment-row em{color:#7b898c;font-size:7px;font-style:normal}.clinical-game-run-row em{color:var(--mint-dark);font-size:10px;font-style:normal;font-weight:900;text-align:right}.clinical-game-run-row em small{font-weight:500}
@media(max-width:900px){.clinical-game-overview{grid-template-columns:75px 1fr}.clinical-game-boundary{grid-column:1/3}.clinical-game-workspace{grid-template-columns:1fr}}
@media(max-width:520px){.clinical-game-overview{grid-template-columns:1fr;text-align:center}.clinical-game-symbol{margin:auto}.clinical-game-boundary{grid-column:1}.clinical-game-actions{flex-direction:column}.clinical-game-assignment-row,.clinical-game-run-row{grid-template-columns:34px 1fr}.clinical-game-assignment-row button,.clinical-game-assignment-row em,.clinical-game-run-row em{grid-column:2;text-align:left}}

/* FARO ATENCIONAL DENTRO DE INFORMES */
.attention-clinical-report-section{padding:17px;border:1px solid #c7e7e1;border-radius:13px;background:#f2fbf9}.attention-clinical-report-section>p{margin-bottom:0!important;color:#607377!important;font-size:8px!important}


/* Motor adaptativo universal y patrones automáticos */
.attention-pattern-policy{display:flex;gap:11px;align-items:flex-start;margin:12px 0;padding:13px;border:1px solid #cfeae5;border-radius:12px;background:#effaf8}.attention-pattern-policy>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:var(--mint);color:#123e39;font-size:18px}.attention-pattern-policy b,.attention-pattern-policy small{display:block}.attention-pattern-policy b{font-size:9px}.attention-pattern-policy small{margin-top:3px;color:#718184;font-size:8px;line-height:1.55}
.attention-pattern-live b{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.attention-grid:not(.practice-grid) button.attention-target,.attention-grid:not(.practice-grid) button.attention-distractor{background:#f9fbfb;color:#63777a}
.attention-high-contrast .attention-grid:not(.practice-grid) button.attention-target,.attention-high-contrast .attention-grid:not(.practice-grid) button.attention-distractor{background:#fff;color:#000}
.attention-grid.attention-grid-medium{gap:7px}.attention-grid.attention-grid-medium button{min-height:58px;border-radius:11px;font-size:27px}
.attention-grid.attention-grid-dense{gap:5px}.attention-grid.attention-grid-dense button{min-height:43px;border-radius:8px;font-size:21px}
.attention-grid.attention-grid-ultra{gap:3px}.attention-grid.attention-grid-ultra button{min-height:32px;border-radius:6px;font-size:16px}
.attention-large-targets .attention-grid.attention-grid-dense button{min-height:50px;font-size:25px}.attention-large-targets .attention-grid.attention-grid-ultra button{min-height:38px;font-size:19px}
@media(max-width:720px){.attention-pattern-live{display:none}.attention-grid.attention-grid-medium button{min-height:46px;font-size:23px}.attention-grid.attention-grid-dense button{min-height:34px;font-size:18px}.attention-grid.attention-grid-ultra button{min-height:27px;font-size:14px}}

/* CAMBIO DE CLAVE · SEGUNDO JUEGO CLÍNICO */
.switching-body{background:#eef4f3;color:var(--ink)}
.switching-main{padding:54px 0 90px}
.switching-view{display:none;width:min(calc(100% - 36px),1180px);margin-inline:auto}.switching-view.active{display:block}
.switching-intro-grid{display:grid;grid-template-columns:1fr .92fr;align-items:start;gap:58px}
.switching-example-card{margin-top:25px;padding:18px;border:1px solid #dfe8e8;border-radius:16px;background:white}.switching-example-card>small{display:block;color:var(--mint-dark);font-size:8px;font-weight:900;text-transform:uppercase}.switching-example-card>div{display:grid;grid-template-columns:1fr 1fr 1.2fr;align-items:center;gap:10px;margin:12px 0;padding:14px;border-radius:12px;background:#f6f9f9}.switching-example-card>div span{font-size:9px;font-weight:900}.switching-example-card>div b{font-size:28px;text-align:center}.switching-example-card>div em{color:#607276;font-size:9px;font-style:normal}.switching-example-card>p{margin:0;color:#738386;font-size:9px}
.switching-stage-shell{max-width:840px;margin:auto;padding:28px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:var(--shadow-soft)}
.switching-rule-banner{max-width:520px;margin:20px auto 15px;padding:13px 16px;border-radius:12px;background:var(--ink);color:white;font-size:16px;font-weight:900;letter-spacing:.06em;text-align:center;transition:opacity .2s}.switching-rule-banner.recorded{margin-top:8px}.switching-rule-banner.cue-hidden{opacity:.14}
.switching-cue-help{min-height:26px;margin-bottom:8px;color:#687a7e;font-size:10px;text-align:center}
.switching-stimulus-card{display:grid;min-height:220px;max-width:520px;margin:0 auto 20px;place-items:center;align-content:center;gap:17px;border:5px solid #aebbbc;border-radius:24px;background:#fff;box-shadow:0 12px 32px rgba(19,45,53,.08)}.switching-stimulus-card.recorded{min-height:260px}.switching-stimulus-card.border-thick{border-width:12px;border-color:var(--ink)}.switching-stimulus-card.border-thin{border-width:3px;border-color:#879496}
.switching-word{font-size:clamp(35px,7vw,72px);font-weight:900;letter-spacing:.03em;line-height:1}.switching-symbol-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;min-height:70px}.switching-symbol-row span{font-size:clamp(34px,6vw,62px);line-height:1}.switching-stimulus-card>small{color:#718184;font-size:8px;text-transform:uppercase}
.switching-response-grid{display:grid;max-width:760px;margin:0 auto;grid-template-columns:repeat(4,1fr);gap:10px}.switching-response-grid.inhibition{opacity:.45}.switching-option{display:flex;min-height:64px;align-items:center;justify-content:center;gap:9px;border:1px solid #d6e1e1;border-radius:13px;background:white;color:var(--ink);font-size:11px;font-weight:900;transition:transform .15s,border-color .15s,background .15s}.switching-option:hover{transform:translateY(-2px);border-color:var(--mint);background:#effaf8}.switching-option i{display:block;width:24px;height:24px;border-radius:50%}.switching-option b{font-size:25px}.switching-option.number,.switching-option.text{font-size:18px}
.switching-game-canvas{position:relative;max-width:930px;margin:20px auto;padding:25px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:var(--shadow-soft)}
.switching-large-controls .switching-option{min-height:82px;font-size:15px}.switching-large-controls .switching-option i{width:34px;height:34px}.switching-large-controls .switching-option b{font-size:32px}
.switching-high-contrast{background:#fff}.switching-high-contrast .switching-game-canvas,.switching-high-contrast .switching-stage-shell,.switching-high-contrast .attention-setup-card{border:3px solid #000}.switching-high-contrast .switching-option{border:3px solid #000}.switching-high-contrast .switching-rule-banner{background:#000;color:#fff}.switching-high-contrast .switching-stimulus-card{box-shadow:none}
.clinical-game-selector{display:flex;gap:8px;align-items:center;margin-bottom:18px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfdfd}.clinical-game-selector label{display:grid;flex:1;gap:5px;color:#637679;font-size:8px;font-weight:900}.clinical-game-selector select{border:1px solid var(--line);border-radius:9px;background:white;padding:9px;color:var(--ink)}.clinical-game-selector span{padding:8px 10px;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:8px;font-weight:900}
@media(max-width:850px){.switching-intro-grid{grid-template-columns:1fr}.switching-response-grid{grid-template-columns:1fr 1fr}.switching-example-card>div{grid-template-columns:1fr;text-align:center}}
@media(max-width:520px){.switching-main{padding-top:35px}.switching-view{width:min(calc(100% - 20px),1180px)}.switching-stage-shell,.switching-game-canvas{padding:16px}.switching-response-grid{grid-template-columns:1fr 1fr}.switching-option{min-height:58px}.switching-stimulus-card{min-height:190px}.switching-word{font-size:38px}.switching-symbol-row span{font-size:35px}}


/* CAMBIO DE CLAVE 1.1 · AMPLITUD EQUIVALENTE A FARO */
.switching-amplitude-map{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
.switching-amplitude-map>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.78)}
.switching-amplitude-map span,.switching-amplitude-map b,.switching-amplitude-map small{display:block}
.switching-amplitude-map span{color:var(--mint-dark);font-size:8px;font-weight:900}
.switching-amplitude-map b{margin:3px 0;font-size:11px}
.switching-amplitude-map small{color:#748487;font-size:8px}
.switching-practice-explanation{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:#eef8f6;color:#4e6b6e;font-size:9px;font-weight:800;text-align:center}
.switching-game-canvas{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:25px}
.switching-rule-reference{padding:20px;border:1px solid var(--line);border-radius:18px;background:white;text-align:center}
.switching-rule-reference small,.switching-rule-reference b,.switching-rule-reference p{display:block}
.switching-rule-reference small{color:#899698;font-size:8px;text-transform:uppercase}
.switching-rule-reference b{margin:10px 0;color:var(--mint-dark);font-size:22px}
.switching-rule-reference p{margin:0;color:#667a7e;font-size:9px}
.switching-trial-area{min-width:0}
.switching-block-card-wide{max-width:850px}
.switching-result-grid-expanded{grid-template-columns:repeat(4,1fr)}
.switching-session-breadth{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}
.switching-session-breadth article{padding:15px;border:1px solid var(--line);border-radius:13px;background:#f8fbfb}
.switching-session-breadth small,.switching-session-breadth strong,.switching-session-breadth span{display:block}
.switching-session-breadth small{color:#839194;font-size:7px}
.switching-session-breadth strong{font-size:20px}
.switching-session-breadth span{color:#8b989a;font-size:7px}
.switching-chart-layout{grid-template-columns:1fr}
.switching-results-analysis{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:15px}
.switching-rule-analysis-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:white}
.switching-rule-row{display:grid;grid-template-columns:1fr 55px 1.2fr 70px;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #edf1f1}
.switching-rule-row b,.switching-rule-row small{display:block}
.switching-rule-row b{font-size:9px}
.switching-rule-row small{color:#899698;font-size:7px}
.switching-rule-row>span{color:var(--mint-dark);font-size:9px;font-weight:900}
.switching-rule-row>i{height:8px;overflow:hidden;border-radius:999px;background:#edf2f2}
.switching-rule-row>i>b{display:block;height:100%;border-radius:inherit;background:var(--mint)}
.switching-rule-row>em{color:#66797c;font-size:8px;font-style:normal;text-align:right}
@media(max-width:900px){
  .switching-game-canvas,.switching-results-analysis{grid-template-columns:1fr}
  .switching-rule-reference{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
  .switching-rule-reference b{margin:0}
  .switching-result-grid-expanded,.switching-session-breadth{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .switching-amplitude-map,.switching-result-grid-expanded,.switching-session-breadth{grid-template-columns:1fr}
  .switching-rule-row{grid-template-columns:1fr 55px}
  .switching-rule-row>i{grid-column:1/3}
  .switching-rule-row>em{text-align:left}
}


/* RUTA DE MEMORIA */
.memory-body{background:#f1f6f6}.memory-main{padding:72px 0 55px}.memory-view{display:none;width:min(calc(100% - 32px),1220px);margin:auto}.memory-view.active{display:block}.memory-intro-grid{display:grid;grid-template-columns:1fr .9fr;align-items:start;gap:65px}.memory-level-map{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.memory-level-map>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:white}.memory-level-map span,.memory-level-map b,.memory-level-map small{display:block}.memory-level-map span{color:var(--purple);font-size:8px;font-weight:900}.memory-level-map b{font-size:10px}.memory-level-map small{color:#7d8b8e;font-size:8px}.memory-stage-shell{max-width:900px;margin:auto;padding:28px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:var(--shadow)}.memory-instruction{text-align:center;color:#5c7074;font-weight:800}.memory-display{display:grid;min-height:230px;place-items:center;margin:18px auto;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#f5fbfa,#eef3f3)}.memory-display.recorded{min-height:310px}.memory-token{display:grid;width:120px;height:120px;place-items:center;border:5px solid color-mix(in srgb,var(--token-color) 55%,white);border-radius:28px;background:white;color:var(--token-color);box-shadow:0 12px 30px rgba(19,45,53,.09)}.memory-token b{font-size:62px}.memory-token.small{display:inline-grid;width:55px;height:55px;border-width:3px;border-radius:14px}.memory-token.small b{font-size:29px}.memory-hidden-item{display:grid;width:120px;height:120px;place-items:center;border:3px dashed #9ba9ab;border-radius:28px;color:#758588;font-size:55px}.memory-response-area{max-width:820px;margin:auto}.memory-response-slots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:70px;margin-bottom:15px}.memory-empty-slot{display:grid;width:55px;height:55px;place-items:center;border:2px dashed #cbd8d8;border-radius:14px;color:#9aa6a8}.memory-token-palette{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.memory-token-palette button{border:0;background:transparent;padding:3px}.memory-response-actions{display:flex;justify-content:center;gap:8px;margin-top:15px}.memory-response-actions button{border:1px solid var(--line);border-radius:9px;background:white;padding:9px 15px;color:#556a6e;font-size:9px;font-weight:900}.memory-response-actions button:last-child{border-color:var(--mint);background:var(--mint);color:#123b37}.memory-response-actions button:disabled{opacity:.4}.memory-game-canvas{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:25px;min-height:620px}.memory-task-reference{padding:20px;border:1px solid var(--line);border-radius:18px;background:white;text-align:center}.memory-task-reference small,.memory-task-reference b,.memory-task-reference p{display:block}.memory-task-reference small{color:#899698;font-size:8px}.memory-task-reference b{margin:8px 0;color:var(--purple);font-size:18px}.memory-task-reference p{margin:0;color:#687a7e;font-size:9px}.memory-trial-panel{min-width:0}.memory-phase-badge{width:max-content;margin:0 auto;padding:7px 11px;border-radius:999px;background:#eeeafd;color:var(--purple);font-size:9px;font-weight:900}.memory-operation{margin:10px auto;padding:12px;border:1px solid #eadfbe;border-radius:11px;background:#fff8e9;color:#745c35;font-size:10px;text-align:center;font-weight:850}.memory-display.spatial{padding:25px}.memory-spatial-grid,.memory-spatial-response{display:grid;grid-template-columns:repeat(var(--grid),1fr);gap:9px;width:min(100%,420px);margin:auto}.memory-spatial-grid span,.memory-spatial-response button{aspect-ratio:1;border:1px solid #cfdada;border-radius:12px;background:white}.memory-spatial-grid span.active{background:var(--purple);border-color:var(--purple);transform:scale(.9)}.memory-spatial-response button{position:relative}.memory-spatial-response button span{display:grid;position:absolute;inset:8px;place-items:center;border-radius:8px;background:#eeeafd;color:var(--purple);font-weight:900}.memory-interference{font-size:38px;letter-spacing:12px;color:#65777a}.memory-delay{color:#66797c;font-size:17px;font-weight:850}.memory-recognition-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.memory-recognition-options button{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:16px;background:white;padding:14px}.memory-block-wide{max-width:900px}.memory-result-grid{grid-template-columns:repeat(4,1fr)}.memory-chart-layout{grid-template-columns:1fr}.memory-results-analysis{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:15px}.memory-family-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:white}.memory-family-row{display:grid;grid-template-columns:1fr 55px 1.1fr;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #edf1f1}.memory-family-row b,.memory-family-row small{display:block}.memory-family-row b{font-size:9px}.memory-family-row small{color:#899698;font-size:7px}.memory-family-row>span{color:var(--purple);font-size:9px;font-weight:900}.memory-family-row>i{height:8px;overflow:hidden;border-radius:999px;background:#edf2f2}.memory-family-row>i>b{display:block;height:100%;border-radius:inherit;background:var(--purple)}.memory-large-items .memory-token{width:150px;height:150px}.memory-large-items .memory-token b{font-size:76px}.memory-high-contrast .memory-display{background:#fff;border-color:#111}.memory-high-contrast .memory-token{border-color:#111;color:#111}.memory-featured-game .self-game-cover{background:linear-gradient(145deg,#fff1df,#fffaf5);color:#d27d2d}
@media(max-width:900px){.memory-intro-grid,.memory-game-canvas,.memory-results-analysis{grid-template-columns:1fr}.memory-task-reference{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.memory-task-reference b{margin:0}.memory-result-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.memory-level-map,.memory-result-grid,.memory-recognition-options{grid-template-columns:1fr}.memory-token{width:95px;height:95px}.memory-token b{font-size:48px}.memory-display.recorded{min-height:250px}.memory-family-row{grid-template-columns:1fr 55px}.memory-family-row>i{grid-column:1/3}}


/* SUITE MULTIDOMINIO V7 */
.universal-game-body{background:#f3f8f7}
.universal-main{padding:52px min(5vw,65px) 80px}
.universal-view{display:none}.universal-view.active{display:block}
.universal-intro-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;max-width:1220px;margin:auto}
.universal-level-map{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:22px 0}
.universal-level-map article{padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.8)}
.universal-level-map span,.universal-level-map b,.universal-level-map small{display:block}.universal-level-map span{color:var(--mint-dark);font-size:8px;font-weight:900}.universal-level-map b{font-size:10px}.universal-level-map small{color:#718184;font-size:8px}
.universal-stage-shell{max-width:880px;margin:auto;padding:28px;border:1px solid var(--line);border-radius:22px;background:white}
.universal-game-stage{max-width:920px;margin:35px auto;padding:30px;border:1px solid var(--line);border-radius:24px;background:white;text-align:center}
#universal-prompt{max-width:760px;margin:0 auto 18px;color:var(--ink);font-size:20px;font-weight:800;white-space:pre-line}
#universal-study{margin-bottom:20px}
.universal-story,.universal-intention{max-width:720px;margin:auto;padding:24px;border:1px solid #cfe9e4;border-radius:17px;background:#effaf8;color:#35565a;font-size:17px;text-align:left}
.universal-dual-display{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:560px;margin:20px auto}
.universal-dual-display>div{display:grid;min-height:155px;place-items:center;border:1px solid var(--line);border-radius:19px;background:#f8fbfb}
.universal-dual-display span{font-size:66px}.universal-dual-display b{font-size:68px}.universal-dual-display small{color:#718184}
#universal-response{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.universal-choice{min-width:135px;border:1px solid var(--line);border-radius:13px;background:white;padding:13px 17px;color:var(--ink);font-weight:800}
.universal-choice:hover{border-color:var(--mint);background:var(--mint-soft)}
.universal-order-selected{display:flex;flex-wrap:wrap;gap:7px;width:100%;min-height:55px;padding:10px;border:1px dashed #b9ceca;border-radius:12px}
.universal-order-selected span{padding:7px 9px;border-radius:8px;background:var(--mint-soft);color:#315e59;font-size:10px}
.universal-order-items{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;margin:12px 0}
.universal-order-actions{display:flex;gap:8px}.universal-order-actions button{border:1px solid var(--line);border-radius:9px;background:white;padding:9px 13px}
.universal-grid{display:grid;gap:7px;width:min(100%,500px);margin:auto}.universal-grid button,.universal-grid span{display:grid;aspect-ratio:1;place-items:center;border:1px solid var(--line);border-radius:9px;background:#f8fbfb}.universal-grid button.chosen,.universal-grid.study span.active{border-color:var(--mint);background:var(--mint-soft);color:var(--mint-dark);font-weight:900}
.universal-paced{display:grid;justify-items:center;gap:10px;width:100%}
.universal-practice-card{padding:25px;border-radius:17px;background:#eef9f7;text-align:center}
.universal-result-grid{grid-template-columns:repeat(3,1fr)}
.universal-results-analysis{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:15px}
@media(max-width:850px){.universal-intro-grid,.universal-results-analysis{grid-template-columns:1fr}.universal-result-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.universal-main{padding:35px 13px 60px}.universal-level-map,.universal-result-grid{grid-template-columns:1fr}.universal-dual-display{grid-template-columns:1fr}.universal-game-stage{padding:18px}}

/* CATÁLOGO 100 JUEGOS POR CAPACIDAD */
.mass-library-body{background:#f3f8f7}.mass-library-main{width:min(calc(100% - 32px),1280px);margin:auto;padding:55px 0 90px}.mass-library-hero{text-align:center}.mass-library-hero h1{font-size:clamp(38px,5vw,66px);margin:8px 0 15px}.mass-library-hero p{max-width:850px;margin:auto;color:var(--gray);font-size:17px}.mass-library-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0}.mass-library-metrics article{padding:20px;border:1px solid var(--line);border-radius:16px;background:white}.mass-library-metrics b,.mass-library-metrics span{display:block}.mass-library-metrics b{font-size:30px}.mass-library-metrics span{color:var(--gray);font-size:10px}.mass-library-controls{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;margin:25px 0;padding:18px;border:1px solid var(--line);border-radius:17px;background:white}.mass-library-controls label{display:grid;gap:6px;font-size:10px;font-weight:850;color:#53676b}.mass-library-controls input,.mass-library-controls select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fbfdfd}.mass-library-status{margin-bottom:12px;color:var(--mint-dark);font-size:10px;font-weight:900}.mass-game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.mass-game-card{display:flex;min-height:315px;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:18px;background:white}.mass-game-icon{display:grid;width:45px;height:45px;place-items:center;border-radius:13px;background:var(--mint-soft);color:var(--mint-dark);font-size:21px}.mass-game-card>small{margin-top:16px;color:var(--mint-dark);font-size:7px;text-transform:uppercase}.mass-game-card h3{margin:5px 0 8px;font-size:18px}.mass-game-card p{color:#718184;font-size:9px}.mass-game-card>div{display:flex;flex-wrap:wrap;gap:5px}.mass-game-card>div span{padding:4px 6px;border-radius:6px;background:#f0f4f4;color:#687a7e;font-size:7px}.mass-game-card footer{display:grid;gap:8px;margin-top:auto;padding-top:15px}.mass-game-card footer b{color:#7b898b;font-size:7px}.mass-game-card footer a{border-radius:9px;background:var(--ink);padding:9px;color:white;font-size:8px;font-weight:900;text-align:center}.mass-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:25px}.mass-pagination button{border:1px solid var(--line);border-radius:9px;background:white;padding:9px 14px}.mass-pagination span{font-size:10px}.mass-library-note{margin-top:28px;padding:15px;border-left:4px solid var(--orange);border-radius:0 12px 12px 0;background:#fff5e8;color:#735a3e;font-size:10px}@media(max-width:1100px){.mass-game-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.mass-library-metrics,.mass-game-grid{grid-template-columns:1fr 1fr}.mass-library-controls{grid-template-columns:1fr}}@media(max-width:520px){.mass-library-metrics,.mass-game-grid{grid-template-columns:1fr}}


/* SEPARACIÓN DE CUENTAS V8.1 */
.access-shell{width:min(calc(100% - 36px),1180px);margin:auto;padding:70px 0 90px}
.access-intro{max-width:760px;margin:0 auto 38px;text-align:center}.access-intro h1{font-size:clamp(40px,5vw,64px)}.access-intro p{color:var(--gray);font-size:16px}
.access-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.access-choice-card{display:flex;min-height:470px;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:var(--shadow-soft)}
.access-choice-card.particular-choice{border-color:#d7d1ff;background:linear-gradient(155deg,#f3f0ff,#fff)}
.access-choice-card.institution-choice{border-color:#c8e8e2;background:linear-gradient(155deg,#effbf9,#fff)}
.access-choice-icon{display:grid;width:55px;height:55px;margin-bottom:35px;place-items:center;border-radius:16px;background:var(--mint-soft);color:var(--mint-dark);font-size:25px}
.particular-choice .access-choice-icon{background:#eae6ff;color:var(--purple)}.institution-choice .access-choice-icon{background:var(--ink);color:var(--mint)}
.access-choice-card>small{color:var(--mint-dark);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.access-choice-card h2{margin:7px 0 10px;font-size:27px}.access-choice-card p{color:var(--gray);font-size:12px}
.access-choice-card ul{display:grid;gap:8px;margin:14px 0 30px;padding:0;list-style:none}.access-choice-card li{position:relative;padding-left:18px;color:#607377;font-size:10px}.access-choice-card li:before{position:absolute;left:0;color:var(--mint-dark);content:"✓"}.access-choice-card .button{margin-top:auto}
.access-privacy-note{margin:25px 0 0;color:#7d8c8e;font-size:10px;text-align:center}
.particular-auth-body{background:linear-gradient(145deg,#f1efff,#f8fbfb)}
.particular-auth-shell{grid-template-columns:1fr .9fr;max-width:1180px}.particular-auth-copy h1{font-size:clamp(40px,4.6vw,62px)}
.particular-benefits{display:grid;gap:11px;margin:28px 0}.particular-benefits article{display:flex;align-items:flex-start;gap:13px;padding:15px;border:1px solid #ddd9f6;border-radius:15px;background:rgba(255,255,255,.76)}
.particular-benefits article>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:#eae6ff;color:var(--purple);font-size:8px;font-weight:900}.particular-benefits h3{margin:0 0 3px;font-size:14px}.particular-benefits p{margin:0;color:#718184;font-size:10px}
.particular-boundary{padding:16px;border-left:4px solid var(--purple);border-radius:0 13px 13px 0;background:white;color:#5d6678;font-size:10px}.particular-boundary b{color:var(--purple)}
.particular-auth-card{border-color:#ddd9f6}.particular-form-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}.particular-form-heading>span{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:#eae6ff;color:var(--purple);font-size:21px}.particular-form-heading small,.particular-form-heading h2,.particular-form-heading p{display:block;margin:0}.particular-form-heading small{color:var(--purple);font-size:8px;font-weight:900;text-transform:uppercase}.particular-form-heading h2{margin:2px 0;font-size:22px}.particular-form-heading p{color:#7d8c8e;font-size:9px}.particular-form-heading.compact{margin-bottom:18px}
.optional-label{color:#8e999b;font-size:8px;font-weight:600}.particular-understanding{padding:12px;border:1px solid #ddd9f6;border-radius:11px;background:#f5f2ff}
.auth-route-switch{display:grid;gap:4px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);text-align:center}.auth-route-switch span{color:#839194;font-size:9px}.auth-route-switch a{color:var(--purple);font-size:9px;font-weight:900}.professional-route-switch{margin:5px 0 0;padding:12px;border:1px solid #ddd9f6;border-radius:10px;background:#f8f6ff;text-align:left}.professional-route-switch a{color:var(--purple)}
@media(max-width:900px){.access-choice-grid{grid-template-columns:1fr}.access-choice-card{min-height:0}.particular-auth-shell{grid-template-columns:1fr}}
@media(max-width:520px){.access-shell{width:min(calc(100% - 22px),1180px);padding:40px 0 60px}.access-choice-card{padding:23px}.particular-benefits article{padding:12px}}

/* CUENTAS V8.2: REGISTRO PARTICULAR SIN CAMPOS PROFESIONALES */
.personal-fields-summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:14px 0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f6fbfa;
}
.personal-fields-summary b{
  width:100%;
  color:var(--ink);
  font-size:9px;
}
.personal-fields-summary span{
  padding:6px 9px;
  border-radius:999px;
  background:var(--mint-soft);
  color:var(--mint-dark);
  font-size:8px;
  font-weight:800;
}

/* V8.8 · BIBLIOTECA CON PORTADAS Y FILTROS CLÍNICOS */
.mass-clinical-overview{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:24px;align-items:center;margin:26px 0;padding:23px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fff,#f0faf8)}
.mass-clinical-overview h2{margin:7px 0 8px;font-size:27px;line-height:1.1}.mass-clinical-overview p{margin:0;color:#687d80;font-size:13px}.mass-clinical-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mass-clinical-chips button{display:grid;min-height:67px;align-content:center;gap:3px;border:1px solid #dbe9e7;border-radius:12px;padding:9px 11px;background:#fff;text-align:left;cursor:pointer}.mass-clinical-chips button:hover{border-color:var(--mint);background:var(--mint-soft)}.mass-clinical-chips b{color:#29494e;font-size:11px;line-height:1.25}.mass-clinical-chips span{color:#819194;font-size:9px}
.mass-library-controls{grid-template-columns:1.45fr .92fr 1.18fr .92fr .92fr;position:sticky;top:8px;z-index:10;box-shadow:0 12px 30px rgba(18,50,58,.08)}
.mass-game-grid{align-items:stretch}.mass-game-card{min-height:470px;overflow:hidden;padding:0;box-shadow:0 12px 30px rgba(18,50,58,.07);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.mass-game-card:hover{transform:translateY(-4px);border-color:#b8ddd7;box-shadow:0 19px 42px rgba(18,50,58,.12)}
.mass-game-cover{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#15384a}.mass-game-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.mass-game-card:hover .mass-game-cover img{transform:scale(1.025)}.mass-cover-domain,.mass-cover-number{position:absolute;top:10px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(9,29,43,.72);backdrop-filter:blur(8px);color:#fff;font-size:8px;font-weight:900}.mass-cover-domain{left:10px;max-width:72%;overflow:hidden;padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.mass-cover-number{right:10px;padding:6px 8px}
.mass-game-content{display:flex;min-height:275px;flex:1;flex-direction:column;padding:16px}.mass-game-card>small{margin:0}.mass-game-content>small{color:var(--mint-dark);font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.mass-game-content h3{margin:6px 0 7px;font-size:18px;line-height:1.18}.mass-game-content p{min-height:51px;margin:0 0 10px;color:#687d80;font-size:11px;line-height:1.5}.mass-game-abilities,.mass-game-clinical{display:flex;flex-wrap:wrap;gap:5px}.mass-game-abilities span{padding:5px 7px;border-radius:7px;background:#edf5f4;color:#5e7478;font-size:8px}.mass-game-clinical{margin-top:8px}.mass-game-clinical span{padding:5px 7px;border:1px solid #d6e9e6;border-radius:999px;background:#f8fcfb;color:#278c81;font-size:8px}.mass-game-content footer{display:grid;gap:8px;margin-top:auto;padding-top:13px}.mass-game-content footer b{color:#75878a;font-size:8px;line-height:1.4}.mass-game-content footer a{border-radius:10px;background:var(--ink);padding:11px;color:#fff;font-size:10px;font-weight:900;text-align:center}.mass-game-content footer a:hover{background:var(--mint-dark)}
@media(max-width:1180px){.mass-library-controls{grid-template-columns:1.35fr 1fr 1fr}.mass-library-controls label:nth-child(4),.mass-library-controls label:nth-child(5){grid-column:auto}.mass-clinical-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.mass-clinical-overview{grid-template-columns:1fr}.mass-library-controls{position:static;grid-template-columns:1fr 1fr}.mass-library-controls label:first-child{grid-column:1/-1}}
@media(max-width:560px){.mass-library-controls,.mass-clinical-chips{grid-template-columns:1fr}.mass-library-controls label:first-child{grid-column:auto}.mass-game-card{min-height:0}.mass-game-content{min-height:0}}

/* V8.8 · PORTADA Y RECUPERACIÓN DEL JUEGO UNIVERSAL */
.universal-game-cover-hero{position:relative;overflow:hidden;margin:0 0 22px;border:1px solid var(--line);border-radius:20px;background:#14384b;box-shadow:0 16px 36px rgba(18,50,58,.11)}.universal-game-cover-hero img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}.universal-game-cover-hero figcaption{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:linear-gradient(transparent,rgba(8,28,39,.88));color:#fff}.universal-game-cover-hero figcaption span{font-size:11px;font-weight:900}.universal-game-cover-hero figcaption b{font-size:9px;font-weight:750}.universal-trial-status{min-height:24px;margin:12px 0 0;color:#60777b;font-size:12px;font-weight:750;text-align:center}.universal-trial-status[data-kind="error"]{color:#a43f4d}.universal-trial-status[data-kind="success"]{color:#148276}.universal-auto-progress{min-height:20px;color:#687d80;font-size:11px}.universal-choice:disabled,.universal-order-actions button:disabled,.universal-grid button:disabled{cursor:not-allowed;opacity:.55}.universal-game-recovery{display:grid;gap:12px;max-width:650px;margin:15px auto;padding:22px;border:1px solid #f0c8cd;border-radius:16px;background:#fff5f6;text-align:center}.universal-game-recovery b{color:#8f3442}.universal-game-recovery p{margin:0;color:#795d62}.universal-game-recovery button{justify-self:center}
@media(max-width:620px){.universal-game-cover-hero figcaption{align-items:flex-start;flex-direction:column}.universal-game-cover-hero img{aspect-ratio:16/9}}


/* V8.8 · Portadas visibles en bibliotecas personal y profesional */
.activity-cover{position:relative;overflow:hidden;padding:0!important;background:#eaf4f3!important}
.activity-cover img{width:100%;height:100%;object-fit:cover;display:block}
.activity-cover>span{position:absolute;right:9px;bottom:8px;display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:rgba(10,40,48,.76);color:#fff;font-size:18px;backdrop-filter:blur(5px)}
.clinical-game-symbol{width:154px!important;height:94px!important;overflow:hidden;position:relative;padding:0!important;background:#173f46!important}
.clinical-game-symbol img{width:100%;height:100%;object-fit:cover;display:block}
.clinical-game-symbol span{position:absolute;right:8px;bottom:8px;display:grid;width:31px;height:31px;place-items:center;border-radius:9px;background:rgba(11,42,49,.76);font-size:18px;color:white}
.assignment-game-icon{position:relative;overflow:hidden;width:100%!important;height:128px!important;border-radius:15px!important;padding:0!important}
.assignment-game-icon img{width:100%;height:100%;object-fit:cover;display:block}
.assignment-game-icon span{position:absolute;right:9px;bottom:9px;display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:rgba(9,37,44,.76);color:#fff;font-size:19px}
.personal-assignment-card{grid-template-columns:180px 1fr!important}
.personal-assignment-card .assignment-context,.personal-assignment-card>a{grid-column:1/-1}
@media(max-width:720px){.personal-assignment-card{grid-template-columns:1fr!important}.assignment-game-icon{height:180px!important}.clinical-game-symbol{width:100%!important;height:160px!important}}

/* Néfesh v9.0: separación entre biblioteca clínica específica y general */
.library-mode-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
.library-mode-selector button{display:flex;flex-direction:column;gap:6px;text-align:left;padding:18px;border:1px solid #d9e8e8;border-radius:18px;background:#fff;color:#173f5f;cursor:pointer}
.library-mode-selector button.active{border-color:#11a7a4;background:#eafafa;box-shadow:0 0 0 2px rgba(17,167,164,.12)}
.library-mode-selector button b{font-size:1rem}.library-mode-selector button span{font-size:.86rem;color:#587278;line-height:1.4}
.mass-game-card[data-library-type="clinical-specific"]{border-top:4px solid #0aa7a4}
.mass-game-card[data-library-type="general"]{border-top:4px solid #78909c}
.mass-library-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e7f7f6;color:#087f7c;font-size:.72rem;font-weight:700;margin-bottom:6px}
.mass-template-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#f1f5f7;color:#36545f;font-size:.72rem;font-weight:700}
@media(max-width:800px){.library-mode-selector{grid-template-columns:1fr}}

/* Néfesh v9.2 · Reportes descriptivos por juego */
.game-narrative-report-section{margin-top:28px}
.game-narrative-card{margin-top:14px;padding:18px;border:1px solid #dce8e7;border-radius:15px;background:#fbfdfd;break-inside:avoid}
.game-narrative-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #e6eeee;padding-bottom:11px;margin-bottom:11px}
.game-narrative-heading span{display:block;color:var(--mint-dark);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.game-narrative-heading h4{margin:3px 0;font-size:13px;color:#17353c}
.game-narrative-heading small{color:#6f8184;font-size:8px}
.game-narrative-heading>b{min-width:75px;text-align:center;padding:9px 10px;border-radius:11px;background:#e8f8f5;color:#147c70;font-size:16px}
.game-narrative-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.game-narrative-grid>div{padding:12px;border-radius:11px;background:#fff;border:1px solid #e4ecec}
.game-narrative-grid strong{font-size:9px;color:#25464d}
.game-narrative-grid ul{margin:7px 0 0;padding-left:16px}
.game-narrative-grid li{font-size:8px;line-height:1.6;color:#607276}
.game-narrative-recommendation{margin-top:12px!important;padding:11px 13px;border-left:3px solid var(--mint);background:#effaf8;border-radius:0 9px 9px 0}
@media(max-width:700px){.game-narrative-grid{grid-template-columns:1fr}.game-narrative-heading{flex-direction:column}.game-narrative-heading>b{min-width:0}}
@media print{.game-narrative-card{box-shadow:none;background:#fff}.game-narrative-grid{grid-template-columns:1fr 1fr}}

/* Néfesh v9.3 · Centro profesional de informes */
.report-period-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.report-period-presets button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 11px;color:#5d7074;font-size:8px;font-weight:900;cursor:pointer}
.report-period-presets button.active,.report-period-presets button:hover{border-color:var(--mint);background:var(--mint-soft);color:var(--mint-dark)}
.report-control-grid-v93{grid-template-columns:1.4fr repeat(3,1fr)}
.report-options-v93{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfdfd}
.report-professional-note{display:grid;gap:7px;margin:15px 0;color:#5b6e72;font-size:8px;font-weight:900}
.report-professional-note textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;color:var(--ink);font:inherit;font-size:10px;line-height:1.55;outline:none}
.report-professional-note textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(52,205,187,.12)}
.report-cover{display:grid;min-height:420px;align-content:center;justify-items:center;text-align:center;padding:45px 30px;border-bottom:5px solid var(--mint);page-break-after:always}
.report-cover img{width:190px;margin-bottom:35px}
.report-cover h1{max-width:650px;margin:0;color:#132d35;font-size:27px;line-height:1.25}
.report-cover h2{margin:13px 0 28px;color:var(--mint-dark);font-size:15px;font-weight:800}
.report-cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:620px;text-align:left}
.report-cover-grid>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfdfd}
.report-cover-grid small,.report-cover-grid b{display:block}.report-cover-grid small{color:#7d8e91;font-size:7px}.report-cover-grid b{margin-top:4px;font-size:10px}
.report-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid #dff3ef;padding-bottom:7px}
.report-section-heading span{border-radius:999px;background:var(--mint-soft);padding:5px 8px;color:var(--mint-dark);font-size:7px;font-weight:900}
.quantitative-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}
.quantitative-detail-grid>div{padding:11px;border:1px solid var(--line);border-radius:9px;background:#fbfdfd}
.quantitative-detail-grid small,.quantitative-detail-grid b,.quantitative-detail-grid span{display:block}.quantitative-detail-grid small{font-size:7px;color:#809092}.quantitative-detail-grid b{font-size:14px}.quantitative-detail-grid span{font-size:7px;color:#7c8a8d}
.report-comparison-table{width:100%;border-collapse:collapse;margin-top:10px}
.report-comparison-table th,.report-comparison-table td{border:1px solid #dfe7e7;padding:8px;font-size:8px;text-align:left}.report-comparison-table th{background:#edf8f6;color:#274a4d}.report-comparison-table .positive{color:#168f7d;font-weight:900}.report-comparison-table .negative{color:#b45555;font-weight:900}.report-comparison-table .stable{color:#67787b;font-weight:900}
.report-qualitative-summary{display:grid;gap:11px}.report-qualitative-summary article{border-left:4px solid var(--mint);border-radius:0 10px 10px 0;background:#f6fbfa;padding:12px}.report-qualitative-summary h4{margin:0 0 6px;color:#213f45;font-size:11px}.report-qualitative-summary p{margin:0}
.report-professional-observation-output{border:1px solid #cfe6e1;border-radius:11px;background:#f4fbf9;padding:14px;white-space:pre-wrap}
.report-methodology-box{border:1px solid #dfe7e7;border-radius:10px;background:#fafcfc;padding:13px}.report-methodology-box ul{margin:8px 0 0;padding-left:20px;color:#5e7074;font-size:9px;line-height:1.7}
.report-document-id{font-family:monospace;color:#7b898c;font-size:7px}
.report-page-break{break-before:page;page-break-before:always}
@media(max-width:760px){.report-control-grid-v93,.quantitative-detail-grid,.report-cover-grid{grid-template-columns:1fr}.report-cover{min-height:auto;padding:30px 15px}.report-period-presets button{flex:1 1 auto}}
@media print{
  @page{size:A4;margin:16mm 14mm 17mm}
  .report-cover{min-height:235mm;border-bottom:0}
  .report-sheet{font-size:10pt!important}
  .report-sheet section,.game-narrative-card,.report-analysis-box,.quantitative-detail-grid>div{break-inside:avoid;page-break-inside:avoid}
  .report-session-table thead,.report-activity-table thead,.report-comparison-table thead{display:table-header-group}
  .report-footer-note{position:running(reportFooter)}
}
