/* Retained view layouts from portal.css; shared controls retired. */
ul{padding-left: 1.2rem;}
li + li{margin-top: 0.5rem;}
[hidden]{display: none !important;}
.demo-notice{display: flex; align-items: center; gap: 12px; padding: 11px clamp(20px, 4vw, 64px); background: rgb(236, 241, 237); font-size: .875rem; line-height: 1.5; border-bottom: 1px solid var(--line);}
.demo-badge{display: inline-flex; align-items: center; border: 1px solid rgb(129, 151, 138); color: rgb(56, 81, 69); background: rgb(255, 255, 255); border-radius: 5px; white-space: nowrap; font-weight: 500; font-size: .875rem; padding: 2px 7px;}
.page-shell{max-width: 1320px; margin: 0px auto; padding: 38px 36px 72px; min-height: calc(-240px + 100vh);}
.greeting{display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px;}
.greeting .hello{font-size: 0.95rem; color: var(--muted); margin-bottom: 8px;}
.greeting h1{; font-size: clamp(2.7rem, 5vw, 4.8rem); font-weight: 400; letter-spacing: 0.015em; line-height: 1;}
.route-pill{display: inline-flex; align-items: center; gap: 8px; color: var(--green); background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 30px; padding: 7px 14px; font-size: .875rem; white-space: nowrap;}
.route-pill::before{content: ""; height: 7px; width: 7px; border-radius: 100%; background: var(--accent);}
.lead-grid{display: grid; grid-template-columns: 1.3fr 1fr; gap: 30px; align-items: stretch;}
.next-session{background: var(--green); color: rgb(255, 255, 255); border-radius: 24px; padding: 32px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; min-height: 264px; position: relative; overflow: hidden;}
.next-session::after{content: ""; position: absolute; right: -18px; top: 30px; width: 130px; height: 230px; border-width: 24px 24px 24px 0px; border-style: solid solid solid none; border-color: rgba(255, 255, 255, 0.1) rgba(255, 255, 255, 0.1) rgba(255, 255, 255, 0.1) currentcolor; border-image: none; border-top-right-radius: 100px; border-bottom-right-radius: 100px; transform: rotate(16deg); pointer-events: none;}
.next-session > *{position: relative; z-index: 1;}
.next-session h2{font-size: clamp(1.6rem, 2.6vw, 2.1rem); max-width: 22ch; margin: 9px 0px 14px;}
.next-session p{font-size: 0.88rem; color: rgb(224, 242, 231); max-width: 48ch;}
.small-label{font-size: .875rem; font-weight: 500; color: var(--muted);}
.next-session .small-label{color: rgb(202, 233, 215);}
.readiness{background: rgb(255, 255, 255); border-radius: 24px; border: 1px solid var(--line); padding: 28px 30px; display: flex; flex-direction: column; gap: 12px;}
.readiness h2{font-size: 1.45rem; max-width: 28ch;}
.readiness .status-mark{width: 34px; height: 5px; border-radius: 8px; background: var(--accent); margin-bottom: 1px;}
.readiness p, .readiness li{font-size: .875rem; color: var(--muted);}
.readiness details{margin-top: auto;}
.readiness summary{font-size: .875rem;}
.evidence-list{margin: 12px 0px; padding-left: 18px;}
.details-note{border-top: 1px solid var(--line); padding-top: 10px; font-size: .875rem !important;}
.section{margin-top: 42px;}
.section-head{display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px;}
.section-head p{font-size: .875rem; color: var(--muted); margin-top: 6px;}
.journey{display: grid; grid-template-columns: repeat(4, 1fr); padding: 0px 0px 4px;}
.dimension{padding: 0px 22px; border-right: 1px solid rgb(205, 216, 207); min-width: 0px;}
.dimension:first-child{padding-left: 0px;}
.dimension:last-child{border: 0px; padding-right: 0px;}
.dimension-head{display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 15px;}
.dimension h3{font-size: 0.95rem;}
.dimension .percent{font-size: 1.1rem; line-height: 1.2; font-weight: 600;}
.progress-track{height: 7px; background: rgb(220, 231, 223); border-radius: 8px; overflow: hidden;}
.progress-fill{height: 100%; background: var(--green); border-radius: 8px; min-width: 0px;}
.dimension .fraction{font-size: .875rem; color: var(--muted); margin-top: 11px; line-height: 1.5;}
.dimension details{font-size: .875rem; margin-top: 12px; line-height: 1.6;}
.dimension details p{margin-top: 10px;}
.two-column{display: grid; grid-template-columns: 1.6fr 1fr; gap: 38px;}
.area-list{border-top: 1px solid var(--line);}
.area-row{display: grid; grid-template-columns: minmax(170px, 1fr) 130px auto; gap: 22px; align-items: center; padding: 19px 0px; border-bottom: 1px solid var(--line);}
.area-name h3{font-size: 0.95rem;}
.area-name p{font-size: .875rem; color: var(--muted); margin-top: 4px;}
.area-metrics{min-width: 0px;}
.area-metrics .metric-line{font-size: .875rem; display: flex; justify-content: space-between; gap: 10px; margin-bottom: 7px;}
.critical-tag{display: inline-block; font-size: .875rem; color: rgb(127, 80, 32); background: var(--warm); padding: 1px 6px; border-radius: 4px; margin-top: 5px;}
.study-note{background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 18px; padding: 24px;}
.study-note h3{margin: 0px 0px 9px;}
.study-note p{font-size: .875rem; color: var(--muted);}
.mock-list{margin-top: 14px;}
.mock-row{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0px; border-top: 1px solid var(--line); font-size: .875rem;}
.mock-row p{font-size: .875rem; color: var(--muted);}
.empty-note{font-size: .875rem; color: var(--muted); padding: 16px 0px;}
.button-row{display: flex; gap: 12px; flex-wrap: wrap; align-items: center;}
.page-heading{margin-bottom: 30px;}
.page-heading h1{font-size: clamp(2rem, 4vw, 3rem);}
.page-heading p{margin-top: 12px; color: var(--muted); max-width: 65ch;}
.mode-grid{display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px;}
.mode-card{background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 18px; padding: 26px; display: flex; flex-direction: column; align-items: flex-start;}
.mode-card .mode-symbol{width: 42px; height: 42px; background: var(--soft); border-radius: 11px; color: var(--green); display: flex; justify-content: center; align-items: center; margin-bottom: 22px; font-size: 1.3rem;}
.mode-card h2{font-size: 1.3rem; margin-bottom: 10px;}
.mode-card p{font-size: .875rem; color: var(--muted); margin-bottom: 18px;}
.question-footer{display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap;}
.question-footer p{font-size: .875rem; color: var(--muted);}
.source-line{margin-top: 12px; font-size: .875rem !important; color: var(--muted) !important;}
.tutor-form{display: flex; gap: 8px; align-items: stretch;}
.tutor-form textarea{min-height: 50px; resize: vertical; flex: 1 1 0%; margin: 0px;}
.conversation{display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px;}
.question-error{margin: 15px 0px; color: var(--danger); font-size: .875rem;}
.result-list{display: flex; flex-direction: column; gap: 14px;}
.page-intro-row{display: flex; justify-content: space-between; align-items: flex-start; gap: 24px;}
.materials-list{display: flex; flex-direction: column; gap: 14px; margin-top: 24px;}
.material-row{display: flex; align-items: center; gap: 22px; justify-content: space-between; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 14px; padding: 22px;}
.material-row h3{font-size: 1rem;}
.material-row p{font-size: .875rem; color: var(--muted); margin-top: 4px;}
.pdf-mark{border: 1px solid rgb(183, 203, 189); border-radius: 5px; padding: 9px; font-size: .875rem; font-weight: 600; color: var(--green); background: var(--soft);}
.material-info{flex: 1 1 0%;}
.loading-state, .error-state{padding: 70px 25px; text-align: center; font-size: 0.95rem; color: var(--muted);}
.loading-dot{display: inline-block; width: 9px; height: 9px; background: var(--accent); border-radius: 100%; margin-right: 10px; animation: 1.1s ease-in-out 0s infinite normal none running pulse;}
.error-state h2{color: var(--ink); margin-bottom: 12px;}
.error-state p{margin: 0px auto 20px;}
.toast{position: fixed; bottom: 25px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 32px); background: var(--ink); color: rgb(255, 255, 255); padding: 13px 22px; border-radius: 10px; font-size: .875rem; z-index: 100; box-shadow: rgba(0, 0, 0, 0.133) 0px 5px 20px;}
dialog{border: 1px solid var(--line); border-radius: 20px; color: var(--a-ink); background: #fff; padding: 28px; max-height: 90dvh; overflow: auto; box-shadow: rgba(16, 46, 36, 0.2) 0px 20px 80px;}
dialog::backdrop{background: rgba(18, 37, 29, 0.8); backdrop-filter: blur(2px);}
.area-dialog{width: min(820px, 100% - 32px);}
.compact-dialog{width: min(520px, 100% - 32px);}
.compact-dialog h2{font-size: 1.4rem;}
.compact-dialog p{font-size: 0.9rem; color: var(--muted); margin: 16px 0px 24px;}
.dialog-top{display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 10px;}
.area-dialog h2{margin: 6px 0px 16px; font-size: 1.7rem;}
.area-dialog .button-row{margin: 22px 0px;}
.objective{border-top: 1px solid var(--line); padding: 19px 0px;}
.objective h3{font-size: 1rem; margin-bottom: 10px;}
.objective p{font-size: .875rem; line-height: 1.75;}
.objective .source-line{margin-top: 12px;}
.objective .critical-tag{margin-bottom: 7px;}
.area-stat-line{display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .875rem; color: var(--muted);}
.muted{color: var(--muted);}
.tiny{font-size: .875rem;}
.teacher-tabs{display: flex; gap: 10px; margin: 22px 0px;}
.teacher-section{margin-top: 30px;}
.table-wrap{overflow: auto; border: 1px solid var(--line); background: white; border-radius: 13px;}
table{border-collapse: collapse; width: 100%; font-size: .875rem; text-align: left;}
th, td{padding: 14px 18px; vertical-align: top; border-bottom: 1px solid var(--line);}
th{background: rgb(237, 243, 238); font-weight: 600;}
tr:last-child td{border-bottom: 0px;}
.request-card{padding: 22px; background: white; border: 1px solid var(--line); border-radius: 14px; margin-top: 15px;}
.request-card h3{font-size: 1rem;}
.request-card p{font-size: .875rem; margin: 10px 0px;}
.request-card form{margin-top: 15px;}
.source-row{display: flex; align-items: center; gap: 20px; justify-content: space-between; padding: 15px 0px; border-bottom: 1px solid var(--line);}
.source-row p{font-size: .875rem; color: var(--muted);}
.login-body{background: rgb(255, 255, 255);}
.login-layout{min-height: 100dvh; display: grid; grid-template-columns: 1fr 1fr;}
.login-story{background: var(--green); color: rgb(255, 255, 255); padding: 48px clamp(30px, 6vw, 100px); display: flex; flex-direction: column; justify-content: space-between; gap: 60px; min-height: 100dvh; overflow: hidden;}
.login-logo{width: 160px; max-height: 70px; object-fit: contain; object-position: left center;}
.login-kicker{font-size: .875rem; color: rgb(203, 234, 218); margin-bottom: 18px;}
.login-story h1{; font-size: clamp(4rem, 7.5vw, 8rem); font-weight: 400; letter-spacing: 0.01em; line-height: 0.98; margin-bottom: 24px;}
.login-story p:not(.login-kicker){font-size: 0.94rem; color: rgb(225, 242, 232); max-width: 40ch;}
.login-route{display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; max-width: 550px;}
.login-route span{font-size: .875rem; border-top: 3px solid rgb(96, 194, 139); padding-top: 12px;}
.login-panel{display: flex; align-items: center; justify-content: center; padding: 50px clamp(26px, 5vw, 80px);}
.login-form-wrap{max-width: 430px; width: 100%;}
.login-form-wrap h2{font-size: clamp(1.8rem, 3vw, 2.6rem); margin: 25px 0px 13px; max-width: 20ch;}
.login-form-wrap > .muted{font-size: 0.88rem;}
.login-form{margin: 30px 0px;}
.login-form label{margin: 18px 0px 7px;}
.demo-accounts{border-top: 1px solid var(--line); padding-top: 20px; font-size: .875rem;}
.demo-accounts summary{font-weight: 500; cursor: pointer;}
.demo-accounts p{font-size: .875rem; color: var(--muted); margin: 14px 0px;}
.demo-accounts select{margin-top: 7px;}
.login-disclaimer{color: var(--muted); line-height: 1.7; margin-top: 25px; font-size: .875rem !important;}
.status-inline{font-size: .875rem; font-weight: 500; color: var(--green); background: var(--soft); padding: 3px 7px; border-radius: 4px;}
.notice-box{padding: 16px 19px; background: var(--soft); border-left: 3px solid var(--green); font-size: .875rem; color: rgb(53, 85, 71); margin: 22px 0px;}
.resume-note{padding: 15px 20px; border: 1px solid rgb(189, 212, 197); border-radius: 12px; display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 24px; background: rgb(255, 255, 255); font-size: .875rem;}
@keyframes pulse {
50% { opacity: 0.25; }
}
@media (min-width: 1450px) {
.page-shell{max-width: 1380px;}
.lead-grid{gap: 36px;}
.next-session{min-height: 280px;}
}
@media (max-width: 1050px) {
.page-shell{padding: 30px 26px 55px;}
.lead-grid{gap: 20px;}
.next-session, .readiness{padding: 26px;}
.two-column{gap: 25px; grid-template-columns: 1.4fr 1fr;}
.area-row{grid-template-columns: minmax(120px, 1fr) 95px auto; gap: 14px;}
.dimension{padding: 0px 15px;}
}
@media (max-width: 760px) {
.demo-notice{padding: 10px 20px; align-items: flex-start; font-size: .875rem; gap: 8px;}
.demo-badge{font-size: .875rem;}
.page-shell{padding: 26px 20px 45px;}
.greeting{align-items: flex-start; gap: 12px;}
.greeting h1{font-size: 2.8rem;}
.greeting .hello{font-size: .875rem;}
.route-pill{padding: 5px 10px; font-size: .875rem;}
.lead-grid{grid-template-columns: 1fr; gap: 17px;}
.next-session{min-height: 230px; border-radius: 18px; padding: 25px;}
.next-session h2{font-size: 1.7rem;}
.readiness{padding: 23px; border-radius: 18px;}
.readiness h2{font-size: 1.25rem;}
.section{margin-top: 32px;}
.section-head{margin-bottom: 20px;}
.section-head h2{font-size: 1.3rem;}
.section-head p{font-size: .875rem;}
.journey{grid-template-columns: 1fr 1fr; gap: 26px 0px;}
.dimension{padding: 0px 19px !important;}
.dimension:nth-child(2n+1){padding-left: 0px !important;}
.dimension:nth-child(2n){border-right: 0px; padding-right: 0px !important;}
.dimension h3{font-size: .875rem;}
.dimension .percent{font-size: 0.97rem;}
.two-column{grid-template-columns: 1fr; gap: 0px;}
.two-column .section{margin-top: 32px;}
.area-row{grid-template-columns: minmax(150px, 1fr) 105px auto; gap: 14px;}
.area-name h3{font-size: .875rem;}
.area-metrics .metric-line{font-size: .875rem;}
.mode-grid{gap: 15px;}
.mode-card{padding: 22px 19px;}
.mode-card h2{font-size: 1.1rem;}
.mode-card p{font-size: .875rem;}
.page-heading h1{font-size: 2rem;}
.page-heading p{font-size: .875rem;}
.page-intro-row{flex-direction: column; gap: 0px;}
.material-row{padding: 18px; gap: 15px; flex-wrap: wrap;}
.material-info{min-width: 160px;}
.source-row{align-items: flex-start; flex-direction: column; gap: 10px;}
.login-layout{grid-template-columns: 1fr;}
.login-story{min-height: auto; padding: 26px 25px 33px; gap: 30px;}
.login-logo{width: 120px; max-height: 40px;}
.login-story h1{font-size: 4.1rem; margin-bottom: 14px;}
.login-story h1 br{display: none;}
.login-kicker{font-size: .875rem; margin-bottom: 15px;}
.login-story p:not(.login-kicker){font-size: .875rem; max-width: 50ch;}
.login-route{display: none;}
.login-panel{padding: 35px 25px 45px; align-items: flex-start;}
.login-form-wrap{max-width: none;}
.login-form-wrap h2{font-size: 1.8rem; margin-top: 20px;}
.compact-dialog, .area-dialog{padding: 22px;}
.tutor-form{flex-wrap: wrap;}
.tutor-form textarea{width: 100%; min-width: 200px;}
}
@media (max-width: 420px) {
.demo-notice{padding-left: 16px; padding-right: 16px; flex-direction: column; gap: 5px;}
.page-shell{padding: 23px 16px 40px;}
.greeting h1{font-size: 2.5rem;}
.greeting{flex-direction: column; gap: 13px;}
.route-pill{align-self: flex-start;}
.next-session{padding: 23px;}
.readiness{padding: 22px;}
.area-row{grid-template-columns: minmax(135px, 1fr) 88px; gap: 10px 16px;}
.area-name p{font-size: .875rem;}
.mode-grid{grid-template-columns: 1fr;}
.mode-card{padding: 24px;}
.mode-card .mode-symbol{margin-bottom: 16px;}
.question-footer{align-items: stretch;}
.question-footer p{order: 2;}
.login-story h1{font-size: 3.4rem;}
.source-line{overflow-wrap: anywhere;}
}
@media (prefers-reduced-motion: reduce) {
::before, ::after{animation: auto ease 0s 1 normal none running none !important; transition: none !important;}
}
li{overflow-wrap: anywhere;}
.lead-grid > *, .two-column > *, .greeting > *, .section-head > *, .next-session > *, .readiness > *, .button-row > *, .area-row > *{min-width: 0px; max-width: 100%;}
.lead-grid{grid-template-columns: minmax(0px, 1.3fr) minmax(0px, 1fr);}
.two-column{grid-template-columns: minmax(0px, 1.6fr) minmax(0px, 1fr);}
.dimension-head{flex-wrap: wrap; row-gap: 8px;}
.dimension-head h3{min-width: 0px; max-width: 100%;}
.area-metrics .metric-line{flex-wrap: wrap; row-gap: 3px;}
.resume-note{flex-wrap: wrap;}
.resume-note > span{min-width: 0px; flex: 1 1 14rem;}
.demo-badge, .route-pill{max-width: 100%; white-space: normal; overflow-wrap: anywhere;}
.mock-row{flex-wrap: wrap;}
.tutor-form textarea{min-width: 0px;}
@media (max-width: 760px) {
.lead-grid, .two-column{grid-template-columns: minmax(0px, 1fr);}
.journey{grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 24px 20px;}
.dimension, .dimension:nth-child(2n+1), .dimension:nth-child(2n){border: 0px; padding: 0px !important;}
.area-row{grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: 12px 16px;}
.page-intro-row, .section-head{flex-wrap: wrap;}
.material-info{min-width: 0px; flex-basis: 10rem;}
.login-route{min-width: 0px;}
}
.teaching-layout{grid-template-columns: minmax(0px, 1fr); max-width: 940px; margin-inline: auto;}
.explanation-stack{display: grid; gap: 18px; margin-top: 22px;}
.explanation-stack h3{font-size: 1.25rem;}
.decisive-data{padding-left: 16px; border-left: 3px solid var(--accent);}
.decisive-data p, .chosen-reason p{margin-top: 5px;}
.option-explanations, .evidence-panel{border-top: 1px solid var(--line); padding-top: 16px;}
.option-explanations summary, .evidence-panel summary{cursor: pointer; font-weight: 500;}
.option-reason{padding: 16px 0px; border-bottom: 1px solid var(--line);}
.option-reason h4{font-size: 0.95rem;}
.option-reason p{margin-top: 8px;}
.remember-line{background: var(--soft); padding: 16px; border-radius: 8px;}
.correct-answer{font-weight: 500; margin-top: 12px;}
.tutor-block + .tutor-block{margin-top: 16px;}
.tutor-block h4{font-size: 1rem; margin-bottom: 7px;}
.tutor-block p{white-space: pre-line;}
.evidence-panel .tiny{margin-top: 12px;}
.review-counts{display: flex; flex-wrap: wrap; gap: 20px; margin: 24px 0px;}
.review-counts p{flex: 1 1 180px;}
.review-counts strong{display: block; font-size: 1.8rem; color: var(--green);}
@media (max-width: 550px) {
.explanation-stack h3{font-size: 1.1rem;}
.evidence-panel a{overflow-wrap: anywhere;}
.review-counts p{flex-basis: 140px;}
}
.demo-notice{background: rgb(255, 255, 255); padding-block: 9px; color: var(--muted);}
.page-shell{max-width: 1280px; padding-top: 36px;}
.greeting{margin-bottom: 28px;}
.greeting h1{; font-size: clamp(1.8rem, 3.1vw, 2.75rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.17; max-width: 25ch;}
.greeting .hello{font-size: 0.9rem; margin-bottom: 12px;}
.lead-grid{grid-template-columns: minmax(0px, 1.2fr) minmax(0px, 1fr); gap: 24px;}
.next-session{background: rgb(255, 255, 255); color: var(--ink); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 5px solid var(--green); border-radius: 12px; min-height: 242px; padding: 28px;}
.next-session::after{display: none;}
.next-session h2{font-size: 1.7rem; max-width: 28ch; margin-top: 10px;}
.next-session p, .next-session .small-label{color: var(--muted);}
.readiness{border-radius: 12px; padding: 25px; background: transparent;}
.readiness h2{font-size: 1.2rem; line-height: 1.4;}
.readiness .status-mark{display: none;}
.readiness details{margin-top: 2px;}
.learning-shortcuts{display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px;}
.review-queue{display: flex; align-items: center; gap: 20px; justify-content: space-between; margin-top: 24px; padding: 22px 24px; border: 1px solid var(--line); background: rgb(255, 255, 255); border-radius: 10px; flex-wrap: wrap;}
.review-queue > div{flex: 1 1 20rem;}
.review-queue h2{font-size: 1.05rem; line-height: 1.4;}
.review-queue p{font-size: .875rem; color: var(--muted); margin-top: 6px;}
.review-queue.has-reviews{border-left: 4px solid var(--accent); background: rgb(240, 248, 243);}
.empty-reviews{background: transparent; border-style: dashed;}
.review-queue-details{width: 100%; font-size: .875rem; border-top: 1px solid var(--line); padding-top: 12px;}
.review-queue-details summary{cursor: pointer;}
.review-queue-details li{padding: 8px 0px;}
.review-queue-details li strong{display: block; font-weight: 500;}
.review-queue-details li span{font-size: .875rem; color: var(--muted);}
.learning-evidence{border-block: 1px solid var(--line); padding-block: 20px; margin-top: 32px;}
.learning-evidence > summary{display: flex; gap: 18px; justify-content: space-between; cursor: pointer; list-style: none; font-size: 0.95rem; font-weight: 500;}
.learning-evidence > summary::after{content: "+"; color: var(--green); font-size: 1.2rem;}
.learning-evidence[open] > summary::after{content: "−";}
.learning-evidence > summary > .muted{font-size: .875rem; font-weight: 400; margin-left: auto;}
.evidence-intro{font-size: .875rem; color: var(--muted); margin: 14px 0px 24px;}
.mode-grid{gap: 20px;}
.mode-card{border-radius: 12px; box-shadow: none; padding: 28px; background: rgb(255, 255, 255);}
.mode-card:first-child{border-top: 4px solid var(--green);}
.mode-symbol{background: var(--soft); color: var(--green); border-radius: 8px;}
.mode-card h2{font-size: 1.25rem;}
.mode-card p{font-size: .875rem;}
.in-session .page-shell{max-width: 1220px;}
.teaching-layout{grid-template-columns: minmax(0px, 1fr) 275px; max-width: none; gap: 24px; align-items: start;}
.teaching-layout.has-feedback{grid-template-columns: minmax(0px, 1fr); max-width: 880px;}
.question-footer{border-top: 1px solid var(--line); padding-top: 22px;}
.question-footer p{font-size: .875rem;}
.support-symbol{width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: white; font-size: 1.1rem; font-weight: 500; margin-bottom: 17px;}
.correct-answer{font-size: 0.95rem !important;}
.conversation:empty{display: none;}
.conversation{margin: 20px 0px;}
.tutor-block h4{font-size: 1rem;}
.tutor-block p{font-size: 0.9rem;}
.more-help, .full-explanation{border-top: 1px solid var(--line); padding-top: 16px; margin-top: 20px; font-size: .875rem;}
.more-help summary, .full-explanation summary{cursor: pointer; font-weight: 500; color: var(--green); padding-block: 3px;}
.tutor-limits{color: var(--muted); margin-top: 10px; font-size: .875rem !important;}
.full-explanation .explanation-stack{font-size: 0.9rem; gap: 15px;}
.full-explanation h3{font-size: 1.05rem;}
.review-actions{display: flex; flex-wrap: wrap; gap: 10px; align-items: center; border-top: 1px solid var(--line); padding-top: 20px; margin-top: 22px;}
.review-actions [aria-pressed="true"]{background: var(--soft); color: var(--green); border-color: rgb(181, 214, 195);}
.review-feedback{color: var(--green); margin-top: 10px; font-size: .875rem !important;}
.review-feedback:empty{display: none;}
.session-next{display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line);}
.study-note{border-radius: 12px;}
.material-row{border-radius: 10px;}
.login-story{background: rgb(0, 116, 71);}
.login-story h1{font-size: clamp(4.1rem, 7vw, 7.5rem);}
.login-form-wrap h2{font-size: 2.15rem;}
.login-route{max-width: 480px;}
@media (min-width: 1450px) {
.page-shell{max-width: 1280px;}
.next-session{min-height: 242px;}
.lead-grid{gap: 24px;}
}
@media (max-width: 1050px) {
.teaching-layout{grid-template-columns: minmax(0px, 1fr) 245px; gap: 18px;}
}
@media (max-width: 760px) {
.page-shell{padding: 25px 20px 45px;}
.greeting h1{font-size: 2rem;}
.lead-grid{grid-template-columns: minmax(0px, 1fr);}
.next-session{min-height: auto;}
.next-session h2{font-size: 1.5rem;}
.teaching-layout{grid-template-columns: minmax(0px, 1fr);}
.learning-evidence > summary{flex-wrap: wrap; gap: 8px;}
.learning-evidence > summary > .muted{order: 3; width: 100%; margin: 0px;}
.learning-evidence > summary::after{margin-left: auto;}
.learning-shortcuts{gap: 8px;}
.review-queue{padding: 20px; gap: 14px;}
.session-next{flex-wrap: wrap;}
.review-actions{flex-direction: column; align-items: stretch;}
.mode-grid{grid-template-columns: 1fr;}
.mode-card{padding: 24px;}
.login-form-wrap h2{font-size: 1.85rem;}
}
@media (max-width: 420px) {
.page-shell{padding-inline: 16px;}
.greeting h1{font-size: 1.8rem;}
.review-queue > div{min-width: 0px;}
}
@media (prefers-reduced-motion: reduce) {
.progress-fill{transition: none;}
}
#feedback-slot{scroll-margin-top: 100px;}
@media (max-width: 700px) {
#feedback-slot{scroll-margin-top: 145px;}
}

/* Retained view layouts from beta.css; shared controls retired. */
[hidden]{display: none !important;}
.sr-only{position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px;}
.beta-header{display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 88px; padding: 18px clamp(20px, 5vw, 72px); background: rgb(255, 255, 255); border-bottom: 1px solid var(--beta-line);}
.beta-brand{display: flex; align-items: center; gap: 18px; color: var(--beta-dark); text-decoration: none; white-space: nowrap;}
.beta-brand img{width: 113px; height: 41px; object-fit: contain;}
.beta-brand span{padding-left: 18px; border-left: 1px solid var(--beta-line); font-size: 0.94rem;}
.beta-header-end{display: flex; align-items: center; gap: 20px; font-size: .875rem;}
.beta-header-end form{margin: 0px;}
.beta-tag{font-size: .875rem; background: var(--beta-paper); padding: 5px 9px; border: 1px solid var(--beta-line); border-radius: 5px; color: var(--beta-muted); white-space: nowrap;}
.beta-header-link{display: flex; align-items: center; min-height: 48px; font-weight: 500;}
.beta-nav{display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; background: rgb(255, 255, 255); padding: 6px 20px; border-bottom: 1px solid var(--beta-line);}
.beta-nav a{display: flex; align-items: center; min-height: 48px; font-size: .875rem; color: var(--beta-muted); text-decoration: none;}
.beta-nav a:hover, .beta-nav a[aria-current="page"]{color: var(--beta-link); text-decoration: underline;}
.beta-shell{max-width: 1180px; margin: 0px auto; padding: 52px 36px 72px; min-height: calc(-280px + 100vh);}
.beta-narrow{max-width: 700px; margin: 0px auto;}
.beta-page-intro{margin-bottom: 36px;}
.beta-page-intro p{margin-top: 17px; color: var(--beta-muted);}
.step-note{color: var(--beta-muted); font-size: .875rem; margin-bottom: 14px;}
.quiet-copy{font-size: .875rem; color: var(--beta-muted);}
.beta-lead{font-size: 1.15rem; line-height: 1.65;}
.beta-actions{display: flex; flex-wrap: wrap; align-items: center; gap: 12px;}
.beta-note{padding: 18px 20px; border-left: 4px solid var(--beta-green); background: rgb(255, 255, 255); font-size: .875rem; margin: 24px 0px;}
.beta-note p + p{margin-top: 10px;}
.beta-panel{background: rgb(255, 255, 255); border: 1px solid var(--beta-line); padding: 32px; border-radius: 16px;}
.beta-panel > p{margin-top: 20px;}
.beta-messages{margin-bottom: 24px;}
.beta-message{padding: 14px 18px; border: 1px solid var(--beta-line); background: var(--beta-soft); border-radius: 8px; font-size: 0.88rem;}
.beta-entry-layout{display: grid; grid-template-columns: 1fr 1fr; min-height: 600px; background: rgb(255, 255, 255); border-radius: 22px; overflow: hidden; border: 1px solid var(--beta-line);}
.beta-entry-story{background: var(--beta-dark); color: rgb(255, 255, 255); padding: 48px 40px; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start;}
.beta-entry-story h1{font-size: clamp(2.5rem, 4vw, 3.65rem); max-width: 11ch; position: relative; z-index: 1;}
.beta-entry-story > p{margin-top: 25px; color: rgb(220, 233, 226); position: relative; z-index: 1; font-size: 0.95rem;}
.beta-entry-story .entry-note{margin-top: auto; padding-top: 110px; font-size: .875rem; line-height: 1.9;}
.entry-road{position: absolute; right: -64px; bottom: 36px; width: 290px; height: 230px; border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 0px; border-radius: 0px 125px 125px 0px; transform: rotate(-26deg); opacity: 0.82;}
.entry-road span{position: absolute; top: -24px; height: 3px; width: 35px; background: var(--beta-dark);}
.entry-road span:first-child{left: 18px;}
.entry-road span:nth-child(2){left: 72px;}
.entry-road span:nth-child(3){right: 20px; top: 4px; transform: rotate(40deg);}
.beta-form-panel{background: rgb(255, 255, 255); padding: 40px;}
.beta-form-panel h1{font-size: 2.2rem;}
.beta-form-panel h2{font-size: 1.8rem;}
.intro{margin: 13px 0px 25px; color: var(--beta-muted); font-size: 0.9rem;}
.optional{font-size: .875rem; color: var(--beta-muted); font-weight: 400;}
.form-after{margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--beta-line); font-size: .875rem;}
.profile-form{background: rgb(255, 255, 255); border: 1px solid var(--beta-line); border-radius: 16px; padding: 28px 32px; gap: 30px;}
.welcome-layout{display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 64px; align-items: center;}
.welcome-main h1{max-width: 14ch;}
.welcome-main > p{margin-top: 22px;}
.welcome-main > form:first-of-type{margin-top: 30px;}
.welcome-main .basic-start{margin: 22px 0px 5px;}
.basic-start p{font-size: .875rem; color: var(--beta-muted); max-width: 48ch;}
.welcome-route{background: rgb(255, 255, 255); padding: 32px; border: 1px solid var(--beta-line); border-radius: 20px;}
.welcome-route h2{max-width: 18ch;}
.beta-route{display: flex; list-style: none; padding: 0px; margin: 32px 0px 24px; gap: 0px; width: 100%;}
.beta-route li{flex: 1 1 0%; position: relative; text-align: center; min-width: 0px;}
.beta-route li::after{content: ""; height: 4px; position: absolute; left: 50%; right: -50%; top: 20px; background: var(--beta-line); z-index: 0;}
.beta-route li:last-child::after{display: none;}
.route-node{width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; margin: auto; position: relative; z-index: 1; border: 2px solid var(--beta-line); background: rgb(255, 255, 255); color: var(--beta-muted); border-radius: 50%; font-size: 0.9rem;}
.route-label{display: block; font-size: .875rem; white-space: nowrap; margin-top: 9px; color: var(--beta-muted);}
.route-done .route-node{background: var(--beta-dark); color: rgb(255, 255, 255); border-color: var(--beta-dark);}
.route-done::after{background: var(--beta-dark) !important;}
.route-current .route-node{border-color: var(--beta-dark); background: var(--beta-green); color: var(--beta-dark); box-shadow: 0 0 0 4px var(--beta-soft);}
.route-current .route-label{font-weight: 600; color: var(--beta-dark);}
.route-description{margin: 28px 0px 22px;}
.route-description p{padding: 18px 0px; border-top: 1px solid var(--beta-line);}
.route-description strong{display: block; font-size: 0.9rem; font-weight: 500;}
.route-description span{display: block; font-size: .875rem; color: var(--beta-muted); margin-top: 5px;}
.resume-note{margin-top: 24px; padding-left: 15px; border-left: 4px solid var(--beta-green); font-size: .875rem;}
.clear-confidence{font-size: .875rem; margin-top: 5px;}
.beta-question-figure{margin: 24px 0px 15px;}
.beta-image-zoom{display: block; width: 100%; background: var(--beta-paper); border: 1px solid var(--beta-line); border-radius: 10px; padding: 12px; text-align: center;}
.beta-image-zoom img{max-height: 320px; width: auto; object-fit: contain; margin: auto; display: block;}
.beta-image-zoom span{display: block; margin-top: 8px; color: var(--beta-link); font-size: .875rem;}
.beta-question-figure figcaption{font-size: .875rem; color: var(--beta-muted); margin-top: 7px;}
.beta-image-dialog{border: 1px solid var(--beta-line); border-radius: 12px; padding: 16px; max-width: 95vw; max-height: 95dvh;}
.beta-image-dialog::backdrop{background: rgba(31, 47, 48, 0.8);}
.beta-image-dialog button{display: block; margin-left: auto;}
.beta-image-dialog img{display: block; max-height: 75dvh; max-width: 100%; object-fit: contain;}
.report-summary{display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--beta-line); border: 1px solid var(--beta-line); border-radius: 12px; overflow: hidden;}
.report-summary div{background: rgb(255, 255, 255); padding: 25px;}
.report-summary strong{display: block; font-size: 2rem; line-height: 1.25; font-weight: 500;}
.report-summary span{display: block; color: var(--beta-muted); font-size: .875rem; margin-top: 6px;}
.report-next{display: flex; gap: 25px; align-items: center; justify-content: space-between; background: var(--beta-dark); color: rgb(255, 255, 255); padding: 28px 30px; border-radius: 14px; margin: 30px 0px 45px;}
.report-next h2{font-size: 1.35rem; max-width: 32ch;}
.report-next p{font-size: .875rem; color: rgb(218, 229, 223); margin-top: 10px;}
.report-areas > p, .diagnostic-corrections > p{margin: 12px 0px 24px;}
.report-area{display: grid; grid-template-columns: 1.15fr 1fr 1fr; align-items: center; gap: 24px; padding: 23px 0px; border-top: 1px solid var(--beta-line);}
.report-area > div > p{margin-top: 7px; font-size: .875rem; color: var(--beta-link);}
.report-area > div > span{display: block; font-size: .875rem; color: var(--beta-muted);}
.report-area > p{font-size: .875rem;}
.diagnostic-corrections{margin-top: 50px;}
.correction-item{background: rgb(255, 255, 255); border: 1px solid var(--beta-line); border-radius: 9px; margin-top: 12px;}
.correction-item > summary{cursor: pointer; padding: 19px; font-size: 0.88rem; min-height: 60px;}
.correction-item > div{padding: 0px 22px 22px; font-size: 0.88rem;}
.correction-item p{margin-top: 13px;}
.correction-item details{margin-top: 18px;}
.correction-item details summary{cursor: pointer; min-height: 48px; padding: 11px 0px; color: var(--beta-link);}
.personal-actions{list-style: none; padding: 0px; margin: 0px;}
.personal-actions > li{display: flex; gap: 28px; padding: 30px 0px; border-top: 1px solid var(--beta-line);}
.action-number{display: flex; align-items: center; justify-content: center; background: var(--beta-dark); color: rgb(255, 255, 255); flex: 0 0 43px; height: 43px; border-radius: 50%; font-size: 0.95rem;}
.action-content{max-width: 800px;}
.action-content > p{margin-top: 14px; font-size: 0.94rem;}
.action-content > .action-reason{font-size: .875rem; color: var(--beta-muted); max-width: 72ch;}
.plan-footer{margin-top: 35px; padding: 28px; background: rgb(255, 255, 255); border: 1px solid var(--beta-line); border-radius: 14px; display: flex; justify-content: space-between; align-items: center; gap: 26px;}
.plan-footer h2{font-size: 1.25rem;}
.plan-footer p{font-size: .875rem; color: var(--beta-muted); margin-top: 12px; max-width: 45ch;}
.plan-footer .beta-actions{flex-direction: column; align-items: flex-start; flex-shrink: 0;}
.plan-transparency{margin-top: 25px; font-size: .875rem; color: var(--beta-muted);}
.plan-transparency summary{min-height: 48px; padding: 13px 0px; cursor: pointer;}
.plan-transparency p{margin: 12px 0px;}
.beta-portal .beta-portal-links{display: flex; flex-wrap: wrap; align-items: center; gap: 18px;}
.beta-portal .beta-portal-links a{font-size: .875rem; min-height: 48px; display: inline-flex; align-items: center;}
.beta-portal summary{min-height: 48px;}
.beta-portal .beta-session-filters{background: rgb(255, 255, 255); border: 1px solid var(--beta-line); padding: 25px; border-radius: 15px; margin-bottom: 28px;}
.beta-session-filters h2{font-size: 1.3rem; margin-bottom: 8px;}
.beta-session-filters > p{font-size: .875rem; color: var(--beta-muted); margin-bottom: 20px;}
.beta-filter-grid{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 18px;}
.beta-filter-grid label{font-size: .875rem; font-weight: 500; display: block; margin-bottom: 7px;}
.filter-status{margin-top: 16px; font-size: .875rem; color: var(--beta-muted);}
.beta-portal .mode-card.selected-mode{border: 2px solid var(--beta-link);}
.beta-portal .mode-card.selected-mode::before{content: "Elegido para este paso"; display: block; color: var(--beta-link); font-size: .875rem; margin-bottom: 12px;}
.beta-portal .beta-launcher{display: flex; align-items: center; justify-content: space-between; gap: 24px; background: rgb(255, 255, 255); border: 1px solid var(--beta-line); border-radius: 15px; padding: 22px 26px; margin: 0px 0px 28px;}
.beta-launcher h2{font-size: 1.25rem;}
.beta-launcher p{font-size: .875rem; color: var(--beta-muted); margin-top: 10px;}
@keyframes route-arrival {
0% { transform: translateY(6px); opacity: 0.5; }
100% { transform: translateY(0px); opacity: 1; }
}
.welcome-route{animation: 300ms ease-out 0s 1 normal both running route-arrival;}
@media (max-width: 900px) {
.beta-shell{padding: 36px 24px 55px;}
.welcome-layout{gap: 30px;}
.welcome-route{padding: 25px;}
.beta-entry-story{padding: 35px 28px;}
.beta-form-panel{padding: 32px 28px;}
.report-area{grid-template-columns: 1fr 1fr;}
.report-area > p{grid-column: 1 / -1;}
.beta-filter-grid{grid-template-columns: repeat(2, minmax(0px, 1fr));}
.beta-header-end{gap: 12px;}
.beta-nav{gap: 18px;}
.report-next{align-items: flex-start;}
}
@media (max-width: 650px) {
.beta-header{padding: 14px 18px; min-height: 76px; gap: 10px; flex-wrap: wrap;}
.beta-brand{gap: 10px;}
.beta-brand img{width: 94px; height: 35px;}
.beta-brand span{font-size: .875rem; padding-left: 10px;}
.beta-tag{font-size: .875rem; padding: 4px 6px;}
.beta-header-end{gap: 12px;}
.beta-header-link{display: none;}
.beta-nav{padding: 3px 12px; gap: 0px; justify-content: space-around;}
.beta-nav a{font-size: .875rem; padding: 0px 8px;}
.beta-shell{padding: 30px 18px 46px;}
.beta-entry-layout{grid-template-columns: 1fr; border-radius: 15px; min-height: 0px;}
.beta-entry-story{padding: 28px; min-height: 240px;}
.beta-entry-story h1{font-size: 2.45rem; max-width: 13ch;}
.beta-entry-story > p{font-size: .875rem; max-width: 25ch; margin-top: 18px;}
.beta-entry-story .entry-note{display: none;}
.entry-road{width: 170px; height: 140px; border-width: 28px; right: -42px; bottom: -10px;}
.entry-road span{display: none;}
.beta-form-panel{padding: 28px 22px;}
.beta-form-panel h2{font-size: 1.5rem;}
.intro{font-size: .875rem;}
.profile-form{padding: 24px 20px; border-radius: 12px;}
.beta-page-intro{margin-bottom: 26px;}
.beta-page-intro h1{font-size: 2rem; max-width: 18ch;}
.beta-page-intro p{font-size: 0.88rem;}
.welcome-layout{display: flex; flex-direction: column; align-items: stretch; gap: 30px;}
.welcome-main h1{font-size: 2.35rem; max-width: 14ch;}
.welcome-main > p{font-size: 0.91rem; margin-top: 19px;}
.welcome-main > .beta-lead{font-size: 1.03rem;}
.welcome-route{border-radius: 14px; padding: 25px 22px;}
.welcome-route h2{font-size: 1.45rem; max-width: 22ch;}
.beta-route{margin: 24px 0px 20px;}
.route-label{font-size: .875rem;}
.route-node{height: 38px; width: 38px;}
.beta-route li::after{top: 17px;}
.route-description p{padding: 14px 0px;}
.route-description span{font-size: .875rem;}
.beta-image-zoom img{max-height: 220px;}
.report-summary{grid-template-columns: repeat(2, 1fr);}
.report-summary div{padding: 20px;}
.report-summary strong{font-size: 1.8rem;}
.report-summary span{font-size: .875rem;}
.report-next{display: block; padding: 25px;}
.report-next h2{font-size: 1.25rem;}
.report-areas h2, .diagnostic-corrections h2{font-size: 1.45rem;}
.report-area{grid-template-columns: 1fr; gap: 10px; padding: 20px 0px;}
.report-area > p{grid-column: auto;}
.report-area h3{font-size: 1rem;}
.correction-item > summary{padding: 16px; font-size: .875rem;}
.correction-item > div{padding: 0px 16px 20px; font-size: .875rem;}
.personal-actions > li{gap: 16px; padding: 24px 0px;}
.action-number{height: 33px; flex-basis: 33px; font-size: .875rem;}
.action-content h2{font-size: 1.32rem;}
.action-content > p{font-size: .875rem;}
.action-content > .action-reason{font-size: .875rem;}
.plan-footer{display: block; padding: 22px;}
.plan-footer .beta-actions{margin-top: 18px;}
.beta-portal .page-shell{padding-left: 18px; padding-right: 18px;}
.beta-portal .beta-session-filters{padding: 20px 17px;}
.beta-filter-grid{grid-template-columns: 1fr;}
.beta-portal .beta-portal-links{gap: 10px;}
.beta-portal .beta-portal-links a{font-size: .875rem;}
.beta-portal .beta-launcher{display: block; padding: 22px;}
}
@media (prefers-reduced-motion: reduce) {
::before, ::after{animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important;}
}
.profile-topics{font-size: .875rem;}
.profile-topics > summary{cursor: pointer; min-height: 48px; padding: 11px 0px; color: var(--beta-link);}
.action-completed{color: var(--beta-link); border-left: 3px solid var(--beta-green); padding-left: 10px; font-size: .875rem !important;}
.plan-itinerary article{padding: 18px 0px; border-top: 1px solid var(--beta-line);}
.plan-itinerary h3{font-size: 0.9rem;}
.plan-itinerary a{display: inline-flex; min-height: 48px; align-items: center;}
.beta-teacher-override{padding: 24px; background: rgb(255, 255, 255); border: 1px solid var(--beta-line); border-radius: 12px; margin: 28px 0px;}
.beta-teacher-override .beta-filter-grid{margin: 22px 0px;}
.beta-teacher-override textarea{width: 100%; min-height: 100px; border: 1px solid var(--beta-control-border); border-radius: 8px; padding: 12px; font-size: 1rem; margin: 8px 0px 16px;}
.beta-teacher-override label{font-size: .875rem;}
.beta-portal .teacher-section .table-wrap{overflow-x: auto;}
.beta-portal .teacher-section table{min-width: 650px;}
.diagnostic-screen .beta-nav{display: none;}
.entry-road{opacity: 0.3;}
.plan-itinerary > .itinerary-area{border-top: 1px solid var(--beta-line); margin: 16px 0px;}
.itinerary-area > summary{font-weight: 500; color: var(--beta-dark);}
.itinerary-family{padding-left: 18px; border-left: 2px solid var(--beta-line); margin: 10px 0px 20px;}
.itinerary-family > summary{font-weight: 500; color: var(--beta-link); cursor: pointer; min-height: 48px; padding: 10px 0px;}
.itinerary-family article{margin-left: 4px;}
.beta-portal .beta-portal-links{flex: 1 1 0%;}
@media (max-width: 650px) {
.beta-portal .demo-notice{align-items: flex-start; gap: 10px; padding: 10px 16px;}
.beta-portal .beta-portal-links{gap: 2px 12px;}
.beta-portal .beta-portal-links a{font-size: .875rem; min-height: 38px;}
}
.beta-portal.in-session .beta-portal-links{display: none;}
.beta-portal.in-session .demo-notice{padding-block: 8px;}
@media (max-width: 650px) {
.beta-portal.in-session .demo-notice{min-height: 34px;}
}
.beta-portal .beta-portal-links a{min-height: 48px;}
.beta-ui .correction-item details a{display: inline-flex; align-items: center; min-height: 48px;}
.library-list{grid-template-columns: minmax(0px, 1fr);}
.library-images .beta-library-image{min-width: 0px; width: 340px; max-width: 100%; padding: 0px; border: 1px solid var(--beta-line); border-radius: 10px; background: var(--beta-paper); overflow: hidden; color: var(--beta-link);}
.library-images .beta-library-image img{display: block; width: 100%; height: auto; max-height: none; border-radius: 0px; object-fit: contain;}
.beta-library-image span{display: block; padding: 12px; font-size: .875rem; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px;}
.beta-image-dialog{width: min(1200px, 95vw); max-width: 95vw; max-height: 95dvh; background: rgb(255, 255, 255); color: var(--beta-dark); overflow: hidden;}
.beta-image-dialog[open]{display: flex; flex-direction: column;}
.beta-image-dialog .beta-image-dialog-actions{display: flex; flex-shrink: 0; justify-content: space-between; gap: 16px; align-items: center;}
.beta-image-dialog .beta-image-dialog-actions button{margin: 0px;}
.beta-image-viewport{min-height: 0px; max-height: 70dvh; overflow: auto; overscroll-behavior: contain;}
.beta-image-dialog .beta-image-viewport img{width: auto; height: auto; max-width: 100%; max-height: 70dvh; object-fit: contain; margin: 0px auto;}
.beta-image-dialog.is-original-size .beta-image-viewport img{max-width: none; max-height: none; margin: 0px;}
.beta-image-dialog .quiet-copy:not(:empty){margin-top: 12px; flex-shrink: 0;}

/* Retained view layouts from portal_fixes.css; shared controls retired. */
.beta-portal .exam-conditions{padding-left: 1.2rem; margin: 12px 0px 24px; font-size: .875rem; line-height: 1.65;}
.beta-portal .exam-conditions li + li{margin-top: 9px;}
.beta-portal .exam-brief{margin-top: 12px;}
#exam-start-dialog .details-note{margin-bottom: 24px;}

/* Retained view layouts from corporate.css; shared controls retired. */
.corporate-ui *, .corporate-ui ::before, .corporate-ui ::after{box-sizing: border-box;}
.corporate-ui [hidden]{display: none !important;}
.corporate-ui .small-label{text-transform: none; letter-spacing: 0px;}
.corporate-ui button:disabled{background: rgb(214, 224, 216); color: rgb(63, 80, 75); opacity: 1; cursor: not-allowed; filter: none;}
.corporate-ui .demo-notice{display: flex; justify-content: space-between; align-items: center; min-height: 64px; padding: 14px 32px; background: transparent; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 0.875rem; gap: 16px;}
.corporate-ui .aurel-main, .corporate-ui .page-shell{width: 100%; max-width: 1440px; margin: 0px auto; padding: 32px; min-width: 0px;}
.corporate-ui .page-heading{margin-bottom: 24px;}
.corporate-ui .page-heading p{font-size: 1rem; margin-top: 8px;}
.corporate-ui :is(.mode-card, .beta-card, .study-note){padding: 24px;}
.corporate-ui .mode-grid{gap: 20px;}
.corporate-ui .mode-card p{font-size: 1rem;}
.corporate-ui .mode-symbol{background: var(--soft); color: var(--green);}
.corporate-ui .teaching-layout, .corporate-ui .teaching-layout.has-feedback{display: grid; grid-template-columns: minmax(0px, 1fr) 320px; gap: 24px; max-width: none; align-items: start;}
.corporate-ui .selection-status{font-size: 0.875rem; color: var(--muted); min-height: 24px; margin: 12px 0px;}
.corporate-ui .question-footer{border-top: 1px solid var(--line); padding-top: 20px;}
.corporate-ui .question-footer p{font-size: 0.875rem;}
.corporate-ui .chat-label{color: var(--muted); font-size: 0.875rem !important;}
.corporate-ui .conversation{max-height: none; overflow: visible;}
.corporate-ui .tutor-form{display: flex; flex-wrap: wrap;}
.corporate-ui .tutor-form textarea{flex-basis: 100%; min-width: 0px;}
.corporate-ui .tutor-block + .tutor-block{margin-top: 16px;}
.corporate-ui .tutor-block h4{font-size: 1rem;}
.corporate-ui .feedback-label{font-size: 1rem !important;}
.corporate-ui .explanation-stack{font-size: 1rem;}
.corporate-ui .review-actions, .corporate-ui .session-next{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px;}
.corporate-ui .session-next{justify-content: space-between;}
.corporate-ui .result-counts{display: flex; flex-wrap: wrap; gap: 24px; margin: 24px 0px;}
.corporate-ui .result-counts div{border-left: 3px solid rgb(0, 108, 64); padding-left: 16px;}
.corporate-ui .result-counts strong{display: block; font-size: 2rem; font-weight: 500;}
.corporate-ui .result-counts span{font-size: 1rem;}
.corporate-ui .result-filter{display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0px; align-items: end;}
.corporate-ui .result-filter label{font-size: 0.9375rem;}
.corporate-ui .materials-list{gap: 0px; background: white; border: 1px solid var(--line); border-radius: 14px; overflow: clip;}
.corporate-ui .material-row{border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); border-radius: 0px; padding: 20px; gap: 18px;}
.corporate-ui .material-row:last-child{border-bottom: 0px;}
.corporate-ui .material-info p, .corporate-ui .material-info h3{font-size: 0.9375rem;}
.corporate-ui .history-row{display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 20px; align-items: center;}
.corporate-ui .history-result{font-size: 0.9375rem;}
.corporate-ui .review-queue{background: rgb(215, 230, 220); border: 1px solid var(--line); border-radius: 14px; padding: 24px;}
.corporate-ui .review-queue p{font-size: 1rem;}
.corporate-ui .review-queue-details li{padding: 12px 0px;}
.corporate-ui .review-queue-details li span{display: block; font-size: 0.875rem;}
.corporate-ui .teacher-tabs{display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0px;}
.corporate-ui .teacher-tabs [aria-current="page"]{background: var(--brand-green); color: var(--ink); border-color: rgb(0, 108, 64);}
.corporate-ui .teacher-search{display: flex; gap: 12px; align-items: end; flex-wrap: wrap;}
.corporate-ui .teacher-search > div{flex: 1 1 0%; min-width: 200px;}
.corporate-ui table{font-size: 0.9375rem;}
.corporate-ui th{background: rgb(215, 230, 220);}
.corporate-ui td{line-height: 1.6;}
.corporate-ui .table-wrap{max-width: 100%;}
.corporate-ui .teacher-pagination{display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 20px;}
.corporate-ui .notice-box{background: rgb(215, 230, 220); color: rgb(31, 47, 48); font-size: 0.9375rem; border-color: rgb(0, 108, 64);}
.corporate-ui .demo-badge{font-size: .875rem; background: rgb(255, 255, 255); color: rgb(63, 80, 75); border: 1px solid rgb(113, 138, 128);}
.corporate-ui .loading-dot{animation: auto ease 0s 1 normal none running none;}
@media (max-width: 1199px) {
.corporate-ui .teaching-layout, .corporate-ui .teaching-layout.has-feedback{grid-template-columns: minmax(0px, 1fr);}
}
@media (max-width: 1000px) {
.corporate-ui .aurel-main, .corporate-ui .page-shell{padding: 28px 24px;}
.corporate-ui .demo-notice{padding-inline: 24px;}
}
@media (max-width: 600px) {
.corporate-ui :is(.aurel-main, .page-shell){padding: 24px 16px;}
.corporate-ui .demo-notice{padding: 12px 16px; min-height: 52px; flex-wrap: wrap;}
.corporate-ui .question-footer{flex-direction: column; align-items: stretch;}
.corporate-ui .mode-grid{grid-template-columns: minmax(0px, 1fr);}
.corporate-ui .result-counts{gap: 16px;}
.corporate-ui .result-counts div{padding-left: 12px;}
.corporate-ui .history-row{grid-template-columns: minmax(0px, 1fr); gap: 12px;}
.corporate-ui .material-row{flex-wrap: wrap;}
.corporate-ui .material-info{min-width: 0px;}
.corporate-ui .teacher-search > div{min-width: 0px; flex-basis: 100%;}
.corporate-ui .table-wrap table{min-width: 560px;}
}
@media (prefers-reduced-motion: reduce) {
.corporate-ui *, .corporate-ui ::before, .corporate-ui ::after{animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important;}
}
.corporate-ui .plan-spotlight{display: grid; grid-template-columns: minmax(0px, 1.2fr) minmax(0px, 1fr); background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 18px; overflow: clip; margin: 24px 0px;}
.corporate-ui .plan-focus{padding: 32px;}
.corporate-ui .plan-focus h2{font-size: clamp(1.6rem, 2.4vw, 2.1rem); max-width: 30ch; margin: 12px 0px 16px;}
.corporate-ui .plan-focus p{margin: 12px 0px 20px; font-size: 1rem;}
.corporate-ui .plan-reason{background: rgb(211, 226, 216); padding: 32px; display: flex; flex-direction: column; justify-content: center; gap: 16px;}
.corporate-ui .plan-reason h3{font-size: 1.125rem;}
.corporate-ui .plan-reason p{font-size: 1rem; line-height: 1.7;}
.corporate-ui .plan-stages{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 16px; list-style: none; padding: 0px; margin: 24px 0px 32px;}
.corporate-ui .plan-stages li{display: flex; flex-direction: column; gap: 8px; margin: 0px; padding: 18px 12px; border-top: 3px solid rgb(135, 159, 145); font-size: 0.9375rem; min-width: 0px;}
.corporate-ui .plan-stages li[aria-current="step"]{border-color: rgb(0, 108, 64); background: rgb(215, 230, 220); border-radius: 0px 0px 10px 10px;}
.corporate-ui .plan-stages li strong{font-size: 1.0625rem;}
.corporate-ui .plan-stages li a{min-height: 44px; padding-block: 8px; display: grid; gap: 8px; align-items: center; text-decoration: none;}
.corporate-ui .plan-stages li a:hover strong{text-decoration: underline; text-underline-offset: 4px;}
.corporate-ui .plan-stages li span{font-size: 0.875rem; color: var(--muted);}
.corporate-ui .plan-continuity{border-left: 3px solid rgb(0, 108, 64); padding: 16px 20px; margin: 24px 0px; background: rgb(215, 230, 220);}
.corporate-ui .plan-continuity p + p{margin-top: 12px;}
.corporate-ui .report-filters{display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 24px 0px; border-block: 1px solid var(--line); margin: 24px 0px;}
.corporate-ui .report-filters > div{flex: 1 1 0%; min-width: 180px;}
.corporate-ui .lesson-options{list-style: none; margin: 24px 0px; padding: 0px;}
.corporate-ui .lesson-options li{border-top: 1px solid var(--line); padding: 16px 0px; margin: 0px; line-height: 1.7;}
.corporate-ui .lesson-options li strong{display: block; margin-bottom: 8px;}
.corporate-ui .lesson-options li p{font-size: 1rem; margin-top: 8px;}
.corporate-ui .area-lesson{padding: 24px 0px;}
.corporate-ui .area-lesson h4{font-size: 1.125rem; line-height: 1.5; margin: 16px 0px;}
@media (max-width: 700px) {
.corporate-ui .plan-spotlight{grid-template-columns: minmax(0px, 1fr);}
.corporate-ui .plan-focus, .corporate-ui .plan-reason{padding: 24px;}
.corporate-ui .plan-stages{grid-template-columns: minmax(0px, 1fr); gap: 8px;}
.corporate-ui .plan-stages li{padding: 16px;}
.corporate-ui .report-filters > div{min-width: 0px; flex-basis: 100%;}
}
.corporate-ui.beta-portal #app > .loading-state{min-height: calc(-80px + 100svh); display: flex; justify-content: center; align-items: flex-start; padding-top: 64px; gap: 10px;}
.corporate-ui.beta-portal #app > .loading-state .loading-dot{flex: 0 0 auto; margin-top: 8px;}
.corporate-ui .practice-focus{max-width: 880px; background: rgb(255, 255, 255); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 5px solid var(--green); border-radius: 12px; padding: 28px; margin-bottom: 32px;}
.corporate-ui .practice-focus > p{margin: 12px 0px 24px;}
.corporate-ui .practice-basic-fields{display: grid; grid-template-columns: minmax(0px, 1fr) 130px; gap: 20px; max-width: 720px;}
.corporate-ui .practice-basic-fields label{display: block; margin-bottom: 8px;}
.corporate-ui .practice-basic-fields :is(select, input){width: 100%; min-width: 0px;}
.corporate-ui .practice-personalize{margin-top: 20px; border-top: 1px solid var(--line); padding-top: 8px;}
.corporate-ui .practice-personalize summary, .corporate-ui .progress-method summary{min-height: 48px; cursor: pointer; padding: 10px 0px; font-weight: 500; color: var(--green);}
.corporate-ui .practice-personalize > p{margin: 8px 0px 16px; font-size: 0.9375rem;}
.corporate-ui .practice-personalize .beta-filter-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px;}
.corporate-ui .practice-personalize label{display: block; margin-bottom: 6px;}
.corporate-ui .practice-focus .filter-status{font-size: 0.9375rem; color: var(--muted); margin: 20px 0px 16px; min-height: 3.3em;}
.corporate-ui .practice-resume{max-width: 880px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0px; margin: 0px 0px 24px; border-block: 1px solid var(--control-border);}
.corporate-ui .practice-resume h2{font-size: 1.125rem;}
.corporate-ui .practice-resume p{margin: 8px 0px 0px;}
.corporate-ui .practice-other{max-width: 880px;}
.corporate-ui .practice-other > h2{font-size: 1.25rem; margin-bottom: 8px;}
.corporate-ui .practice-secondary-row{padding: 24px 0px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 24px; justify-content: space-between;}
.corporate-ui .practice-secondary-row > div{min-width: 0px; flex: 1 1 0%;}
.corporate-ui .practice-secondary-row p{margin-top: 8px; font-size: 0.9375rem;}
.corporate-ui .progress-overview{border-left: 4px solid var(--green); padding: 4px 0px 4px 20px; margin: 28px 0px 40px; max-width: 780px;}
.corporate-ui .progress-overview > p{margin: 12px 0px 20px;}
.corporate-ui .progress-history{margin-bottom: 32px;}
.corporate-ui .progress-method{border-top: 1px solid var(--control-border); padding-top: 8px;}
.corporate-ui .progress-method > p{margin: 16px 0px;}
.corporate-ui .progress-dimension{display: grid; gap: 8px; max-width: 640px; padding: 16px 0px; border-bottom: 1px solid var(--line);}
.corporate-ui .progress-dimension h3{margin: 0px;}
.corporate-ui .study-materials-secondary{margin: 40px 0px 24px;}
.corporate-ui .review-queue{background: rgb(255, 255, 255); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 4px solid var(--green);}
.corporate-ui .review-queue h2{font-size: 1.25rem;}
.corporate-ui .review-queue-details > summary{min-height: 44px; display: flex; align-items: center;}
.corporate-ui .review-queue-details li{list-style: none; border-bottom: 1px solid var(--line);}
.corporate-ui .full-explanation summary, .corporate-ui .more-help summary{min-height: 44px; padding-block: 10px;}
@media (max-width: 600px) {
.corporate-ui .practice-focus{padding: 22px 16px;}
.corporate-ui .practice-basic-fields{grid-template-columns: minmax(0px, 1fr) 100px; gap: 12px;}
.corporate-ui .practice-personalize .beta-filter-grid{grid-template-columns: minmax(0px, 1fr);}
.corporate-ui .practice-secondary-row, .corporate-ui .practice-resume{flex-direction: column; align-items: stretch; gap: 16px;}
.corporate-ui .practice-focus h2{font-size: 1.3rem;}
.corporate-ui .practice-resume{padding-block: 16px;}
.corporate-ui .practice-focus .filter-status{min-height: 3.3em;}
}
.corporate-ui .plan-spotlight:not(:has(.plan-reason)){grid-template-columns: minmax(0px, 1fr); max-width: 920px;}
.corporate-ui .plan-spotlight:not(:has(.plan-reason)) .plan-focus{background: linear-gradient(115deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 72%, rgb(215, 230, 220) 72%, rgb(215, 230, 220) 76%, rgb(228, 236, 231) 76%);}
.corporate-ui .diagnostic-image-button{display: block; width: 100%; max-width: 680px; overflow: hidden; padding: 0px; border: 1px solid var(--control-border); border-radius: 12px; background: rgb(255, 255, 255);}
.corporate-ui .diagnostic-image-button img{display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain;}
.corporate-ui .practice-focus{background: linear-gradient(145deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 89%, rgb(228, 236, 231) 89%, rgb(228, 236, 231) 94%, rgb(215, 230, 220) 94%);}
.corporate-ui .view-enter{animation: 180ms ease-out 0s 1 normal both running aurel-view-enter;}
@keyframes aurel-view-enter {
0% { opacity: 0.4; transform: translateY(6px); }
100% { opacity: 1; transform: translateY(0px); }
}
@media (prefers-reduced-motion: reduce) {
.corporate-ui .view-enter{animation: auto ease 0s 1 normal none running none !important;}
}
.corporate-ui .progress-topics, .corporate-ui .progress-readiness{border-block: 1px solid var(--line); padding: 8px 0px; margin: 24px 0px;}
.corporate-ui .progress-topics > summary, .corporate-ui .progress-readiness > summary, .corporate-ui .progress-dimension summary{min-height: 44px; padding: 10px 0px; cursor: pointer; font-weight: 500; color: var(--green);}
.corporate-ui .progress-topics .area-list{margin-top: 16px;}
.corporate-ui .progress-dimension details p{margin: 8px 0px; font-size: 0.9375rem;}
.corporate-ui .teacher-inbox{margin: 40px 0px;}
.corporate-ui .teacher-inbox .section-head{align-items: start;}
.corporate-ui .request-state{display: flex; align-items: center; justify-content: space-between; gap: 16px;}
.corporate-ui .teacher-reply{border-left: 3px solid var(--green); padding: 12px 16px; margin-top: 16px; background: var(--soft);}
.corporate-ui .teacher-reply p{margin-top: 8px;}
.corporate-ui .teacher-inbox .request-card{background: white; border: 1px solid var(--line); border-radius: 12px; padding: 24px; margin: 16px 0px;}
.corporate-ui .teacher-inbox .request-card p{overflow-wrap: anywhere;}
.corporate-ui .teacher-inbox .visually-hidden{position: absolute; width: 1px; height: 1px; padding: 0px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
@media (max-width: 600px) {
.corporate-ui .teacher-inbox .section-head, .corporate-ui .request-state{display: flex; flex-direction: column; align-items: start; gap: 12px;}
.corporate-ui .teacher-inbox .request-card{padding: 20px 16px;}
}

/* Retained view layouts from proposal4.css; shared controls retired. */
.p4-ui h2{font-size: clamp(1.5rem, 2.4vw, 2.1rem);}
.p4-ui h3{font-size: 1.18rem; line-height: 1.3; letter-spacing: -0.025em;}
.p4-ui img{max-width: 100%;}
.p4-ui :is(.small-label, .eyebrow, .step-note){text-transform: none; letter-spacing: 0px; font-weight: 600;}
.p4-ui form[data-pending="true"] [type="submit"]:disabled::after{content: ""; width: 14px; height: 14px; border-width: 2px; border-style: solid; border-color: currentcolor transparent currentcolor currentcolor; border-image: none; border-radius: 50%; animation: 0.8s linear 0s infinite normal none running p4-spin; flex: 0 0 auto;}
.p4-ui summary{cursor: pointer; min-height: 48px; align-content: center; list-style: none; position: relative; padding: 12px 30px 12px 0px; font-weight: 650; line-height: 1.5;}
.p4-ui summary::-webkit-details-marker{display: none;}
.p4-ui summary::after{content: "+"; position: absolute; right: 3px; top: 50%; transform: translateY(-50%); font-size: 1.25rem; font-weight: 400;}
.p4-ui details[open] > summary::after{content: "−";}
.p4-ui details{border-color: var(--p4-line);}
.p4-ui details[open] > summary{margin-bottom: 10px;}
.p4-ui :is(.aurel-main, .page-shell){max-width: 1260px; padding: 48px clamp(24px, 4vw, 64px); margin: 0px auto;}
.p4-ui .p4-mobile-staff{display: none;}
.p4-ui .beta-message{background: var(--p4-sage); border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 3px solid var(--p4-green); border-radius: 0px; padding: 12px 16px; font-size: 0.9rem; color: var(--p4-ink);}
.p4-ui .beta-panel{background: transparent; border: 0px; border-radius: 0px; padding: 24px 0px; max-width: 760px; margin: auto;}
.p4-ui .beta-panel > p{margin: 20px 0px; line-height: 1.75;}
.p4-ui .report-summary{background: var(--p4-ink); color: rgb(255, 255, 255); display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 0px; border: 0px; border-radius: 12px; overflow: hidden; margin: 32px 0px;}
.p4-ui .report-summary > div{background: transparent; color: inherit; border-width: 0px 1px 0px 0px; border-style: none solid none none; border-color: currentcolor rgba(255, 255, 255, 0.19) currentcolor currentcolor; border-image: none; border-radius: 0px; padding: 28px;}
.p4-ui .report-summary strong{font-size: clamp(2.25rem, 4vw, 3.5rem); font-weight: 450; line-height: 1.1; color: rgb(255, 255, 255); letter-spacing: -.025em;}
.p4-ui .report-summary span{display: block; margin-top: 12px; color: rgb(211, 228, 219); font-size: .875rem;}
.p4-ui .report-next{padding: 28px 0px; border: 0px; border-block: 1px solid var(--p4-line); background: transparent; border-radius: 0px; gap: 24px;}
.p4-ui .report-next h2{font-size: 1.5rem; margin: 0px 0px 8px;}
.p4-ui .report-area{background: transparent; border-bottom: 1px solid var(--p4-line); padding: 24px 0px;}
.p4-ui .report-filters{padding: 20px; background: var(--p4-sage); border-radius: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px;}
.p4-ui .correction-item{border: 0px; border-block: 1px solid var(--p4-line); border-radius: 0px; margin: 0px;}
.p4-ui .correction-item > summary{padding: 20px 28px 20px 0px; font-size: 1rem;}
.p4-ui .correction-item > div{padding: 0px 0px 24px;}
.p4-ui .correction-item p{font-size: 1rem;}
.p4-ui .library-search{background: var(--p4-sage); border: 0px; border-radius: 10px; padding: 24px; gap: 16px;}
.p4-ui .library-navigation{border-block: 1px solid var(--p4-line); padding: 8px 0px; gap: 24px;}
.p4-ui .library-navigation a{min-height: 44px; display: inline-flex; align-items: center;}
.p4-ui .library-list{gap: 0px;}
.p4-ui .library-question{border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--p4-line); border-radius: 0px; padding: 32px 0px; box-shadow: none; background: transparent; min-width: 0px;}
.p4-ui .library-question h2{font-size: 1.4rem; line-height: 1.4; max-width: 60ch;}
.p4-ui .library-question > p{color: var(--p4-muted);}
.p4-ui .library-empty{background: var(--p4-sage); padding: 28px; border-radius: 8px;}
.p4-ui .library-scope{border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--p4-line); background: transparent;}
.p4-ui .library-pagination{gap: 14px; flex-wrap: wrap;}
.p4-ui .study-document{max-width: 820px; background: rgb(255, 255, 255); border: 0px; border-radius: 0px; padding: 32px 0px; margin: auto; box-shadow: none;}
.p4-ui .study-document h1{font-size: clamp(2rem, 4vw, 3rem);}
.p4-ui .study-document h2{margin: 42px 0px 22px;}
.p4-ui .study-document nav{padding: 18px; background: var(--p4-sage); border-radius: 8px;}
.p4-ui .study-document a{overflow-wrap: anywhere;}
.p4-ui dialog{border: 1px solid var(--p4-line); border-radius: 14px; padding: 28px; max-width: calc(-32px + 100vw); max-height: calc(100dvh - 32px); color: var(--p4-ink); box-shadow: rgba(31, 47, 48, 0.157) 0px 24px 80px; overscroll-behavior: contain;}
.p4-ui dialog::backdrop{background: rgba(31, 47, 48, 0.5); backdrop-filter: blur(4px);}
.p4-ui dialog[open]{animation: p4-dialog-in var(--p4-time) var(--p4-ease);}
.p4-ui dialog h2{font-size: 1.6rem; line-height: 1.2;}
.p4-ui dialog textarea{width: 100%;}
.p4-ui .toast{background: var(--p4-ink); color: rgb(255, 255, 255); border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.19); z-index: 120;}
.p4-ui .notice-box{background: var(--p4-sage); border-width: 0px 0px 0px 3px; border-style: none none none solid; border-color: currentcolor currentcolor currentcolor rgb(0, 108, 64); border-image: none; border-radius: 0px; color: var(--p4-ink);}
@keyframes p4-spin {
100% { transform: rotate(360deg); }
}
@keyframes p4-enter {
0% { opacity: 0.2; transform: translateY(8px); }
100% { opacity: 1; transform: translateY(0px); }
}
@keyframes p4-dialog-in {
0% { opacity: 0; transform: translateY(14px) scale(0.985); }
100% { opacity: 1; transform: none; }
}
@media (min-width: 1001px) {
.p4-ui.p4-guest .aurel-main, .p4-ui.p4-auth .aurel-main{max-width: 1240px; padding-top: 20px;}
.p4-ui .p4-mobile-staff{display: none !important;}
}
@media (max-width: 1000px) {
.p4-ui.p4-member{padding-bottom: 84px;}
.p4-ui :is(.aurel-main, .page-shell){padding: 30px 24px 40px;}
.p4-ui .toast{bottom: calc(88px + env(safe-area-inset-bottom)); left: 16px; right: 16px; max-width: 500px; margin: auto;}
}
@media (max-width: 600px) {
.p4-ui h2{font-size: 1.5rem;}
.p4-ui .aurel-main, .p4-ui .page-shell{padding: 26px 22px 36px;}
.p4-ui .report-summary{grid-template-columns: repeat(2, minmax(0px, 1fr));}
.p4-ui .report-summary > div{padding: 24px; border-bottom: 1px solid rgba(255, 255, 255, 0.125);}
.p4-ui .report-next{display: block;}
.p4-ui .report-filters{display: grid; grid-template-columns: minmax(0px, 1fr);}
.p4-ui .library-search{padding: 18px;}
.p4-ui .library-question h2{font-size: 1.3rem;}
.p4-ui .library-navigation{gap: 4px 16px;}
.p4-ui .library-navigation a{font-size: .875rem;}
.p4-ui .library-pagination :is(a, p){font-size: .875rem;}
.p4-ui .study-document{padding: 16px 0px;}
.p4-ui dialog{padding: 22px;}
.p4-ui dialog .button-row{flex-direction: column;}
}
@media (prefers-reduced-motion: reduce) {
.p4-ui *, .p4-ui ::before, .p4-ui ::after{animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important;}
}
@media print {
.p4-ui{padding: 0px !important; background: rgb(255, 255, 255) !important; color: rgb(0, 0, 0) !important;}
.p4-ui footer{display: none !important;}
.p4-ui .aurel-main{padding: 0px; max-width: none;}
}
.p4-ui::before{content: ""; position: fixed; top: 0px; left: 0px; right: 0px; height: 3px; background: var(--p4-green); transform: scaleX(0); transform-origin: left center; z-index: 140; pointer-events: none; transition: transform 420ms var(--p4-ease),opacity 140ms; opacity: 0;}
.p4-ui.p4-navigating::before{opacity: 1; transform: scaleX(0.85);}
.p4-ui .report-next, .p4-ui .report-next h2{color: var(--p4-ink);}
.p4-ui .report-next p{color: var(--p4-muted);}
.p4-ui :is(.progress-fill, .mastery-fill, .progress-bar > span){transition: width 360ms var(--p4-ease);}
.p4-ui.p52-ui :is(.aurel-main, .page-shell){max-width: 1280px; padding: 40px clamp(22px, 4vw, 56px) 56px;}
.p4-ui.p52-ui :is(.p52-home, .p52-home-grid, .p52-path, .p52-next){min-width: 0px;}
.p4-ui.p52-ui.p4-home .aurel-main{max-width: 1280px; padding: 40px clamp(22px, 4vw, 56px) 56px;}
.p52-welcome{margin-bottom: 32px;}
.p4-ui.p52-ui .p52-welcome h1{color: rgb(255, 255, 255); margin-bottom: 8px; font-size: clamp(2.2rem, 3.8vw, 3.5rem);}
.p52-welcome > p{margin: 0px; color: rgb(213, 227, 220); font-size: 1.05rem;}
.p52-home-grid{display: grid; grid-template-columns: minmax(0px, 0.8fr) minmax(0px, 1.3fr); gap: 48px; align-items: start;}
.p52-next{padding-right: 36px; border-right: 1px solid rgba(255, 255, 255, 0.145);}
.p52-label{font-size: 0.9rem; font-weight: 650; color: rgb(213, 227, 220); margin: 0px 0px 16px;}
.p52-next-title{display: flex; align-items: flex-start; gap: 16px;}
.p52-next-title > svg{flex: 0 0 auto; width: 40px; height: 40px; color: var(--p4-green);}
.p4-ui.p52-ui .p52-next-title h2{color: rgb(255, 255, 255); font-size: clamp(1.45rem, 2.1vw, 1.85rem); letter-spacing: -.025em; margin: 0px; line-height: 1.3;}
.p52-next-reason{font-size: 0.95rem; color: rgb(213, 227, 220); line-height: 1.7; margin: 20px 0px; max-width: 40ch;}
.p4-ui.p52-ui .p52-primary{width: 100%; display: flex; justify-content: space-between; gap: 16px; min-height: 56px; margin: 24px 0px 0px;}
.p52-primary > span{font-size: 1.4rem; line-height: 1;}
.p52-secondary-link{display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; font-size: .875rem; text-decoration: none; font-weight: 600; color: rgb(213, 227, 220) !important;}
.p52-secondary-link:hover{text-decoration: underline; text-underline-offset: 5px;}
.p52-duration{margin-top: 24px;}
.p52-duration fieldset{padding: 0px; border: 0px; margin: 0px;}
.p52-duration legend{font-weight: 600; font-size: 0.9rem; margin-bottom: 12px;}
.p52-duration fieldset > div{display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 8px;}
.p52-duration label{position: relative; cursor: pointer;}
.p52-duration input{position: absolute; opacity: 0; width: 1px; height: 1px;}
.p52-duration label > span{display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 64px; border: 1px solid rgb(144, 167, 156); border-radius: 7px; padding: 8px 4px; line-height: 1.3; transition: background-color 160ms, color 160ms;}
.p52-duration strong{font-size: 1.1rem;}
.p52-duration small{font-size: .875rem; line-height: 1.5;}
.p52-duration input:checked + span{background: var(--p4-green); border-color: var(--p4-green); color: rgb(16, 43, 35);}
.p52-duration > small{color: rgb(198, 213, 206); display: block; max-width: 38ch;}
.p52-route{display: flex; list-style: none; margin: 0px; padding: 0px; gap: 12px; justify-content: space-between;}
.p52-route > li{flex: 1 1 0%; min-width: 0px; text-align: center; position: relative; max-width: none;}
.p52-route > li:not(:last-child)::after{content: ""; position: absolute; height: 2px; background: rgb(96, 121, 112); left: 50%; width: calc(100% + 12px); top: 32px; z-index: 0;}
.p52-route > li.is-complete::after{background: var(--p4-green);}
.p52-route a, .p52-route-intro > li{display: flex; flex-direction: column; align-items: center; color: rgb(255, 255, 255); text-decoration: none; gap: 4px;}
.p52-stage-icon{position: relative; z-index: 1; display: grid; place-items: center; width: 66px; height: 66px; border: 1px solid rgb(144, 167, 156); background: var(--p4-ink); color: rgb(228, 236, 231); border-radius: 50%; margin: 0px 0px 10px; transition: background-color 180ms, box-shadow 180ms;}
.p52-stage-icon > svg{width: 32px; height: 32px;}
.p52-route [aria-current="step"] .p52-stage-icon{background: rgb(255, 255, 255); color: var(--p4-ink); border: 4px solid var(--p4-green); box-shadow: rgba(0, 181, 107, 0.094) 0px 0px 0px 5px;}
.p52-route a:hover .p52-stage-icon{box-shadow: rgba(0, 181, 107, 0.133) 0px 0px 0px 5px;}
.p52-stage-tick{position: absolute; right: -4px; top: -1px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--p4-green); color: rgb(16, 43, 35); font-size: .875rem; font-weight: 800;}
.p52-route strong{font-size: 0.92rem; line-height: 1.3;}
.p52-route small{color: rgb(198, 213, 206); font-size: .875rem;}
.p52-path-caption{font-size: .875rem; color: rgb(198, 213, 206); text-align: center; margin: 16px 0px 0px;}
.p52-focus-card{margin-top: 26px; padding: 20px; display: grid; grid-template-columns: minmax(120px, 0.85fr) minmax(0px, 1fr); gap: 22px; background: rgb(255, 255, 255); border-radius: 12px; color: var(--p4-ink); align-items: center;}
.p52-focus-visual{background: rgb(228, 236, 231); border-radius: 7px; overflow: hidden; align-self: stretch; display: grid; place-items: center; min-height: 160px;}
.p52-focus-visual svg{width: 100%; height: auto;}
.p52-focus-visual img{width: 100%; height: 100%; object-fit: contain;}
.p4-ui.p52-ui .p52-focus-card h2{font-size: 1.3rem; margin: 0px 0px 12px; color: var(--p4-ink);}
.p52-focus-card p{font-size: 0.9rem; line-height: 1.7; margin: 0px; color: rgb(70, 93, 83);}
.p52-progress{margin-top: 40px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, 0.145);}
.p52-section-heading{display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px;}
.p4-ui.p52-ui .p52-section-heading h2{font-size: 1.25rem; color: rgb(255, 255, 255); margin: 0px;}
.p52-section-heading a{color: rgb(213, 227, 220); font-size: .875rem; min-height: 44px; display: flex; align-items: center; gap: 12px; text-decoration: none;}
.p52-section-heading a:hover{text-decoration: underline; text-underline-offset: 5px;}
.p52-metrics{display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 24px;}
.p52-metrics article{min-width: 0px; border-right: 1px solid rgba(255, 255, 255, 0.145); padding-right: 24px;}
.p52-metrics article:last-child{border: 0px; padding-right: 0px;}
.p4-ui.p52-ui .p52-metrics h3{font-size: .875rem; color: rgb(213, 227, 220); letter-spacing: 0px; font-weight: 550; margin: 0px 0px 12px; line-height: 1.4;}
.p52-metric-count{margin: 0px 0px 16px; color: rgb(213, 227, 220); font-size: .875rem;}
.p52-metric-count strong{font-size: 1.8rem; color: rgb(255, 255, 255); font-weight: 650; margin-right: 3px;}
.p52-metrics small{display: block; font-size: .875rem; color: rgb(198, 213, 206); margin-top: 8px;}
.p52-metrics progress{display: block; width: 100%; height: 7px; border: 0px; border-radius: 3px; overflow: hidden; accent-color: var(--p4-green); background: rgb(82, 103, 96);}
.p52-metrics progress::-webkit-progress-bar{background: rgb(82, 103, 96);}
.p52-metrics progress::-webkit-progress-value{background: var(--p4-green);}
.p52-scope-note{font-size: .875rem; color: rgb(198, 213, 206); margin: 24px 0px 0px;}
.p52-no-data{font-size: .875rem; color: rgb(198, 213, 206);}
.p52-baseline{display: flex; justify-content: space-between; gap: 32px; align-items: center; padding: 24px 0px; margin-top: 26px; border-block: 1px solid rgba(255, 255, 255, 0.145);}
.p4-ui.p52-ui .p52-baseline h2{font-size: 1.05rem; color: rgb(255, 255, 255); margin: 0px 0px 8px;}
.p52-baseline p{font-size: .875rem; color: rgb(198, 213, 206); margin: 0px; max-width: 60ch;}
.p52-baseline a{white-space: nowrap;}
.p52-evaluation-conditions{margin: 20px 0px; padding: 0px; list-style: none; display: grid; gap: 10px; color: rgb(70, 93, 83); font-size: 0.9rem;}
.p52-evaluation-conditions li{position: relative; padding-left: 21px;}
.p52-evaluation-conditions li::before{content: "✓"; position: absolute; left: 0px; color: rgb(0, 108, 64); font-weight: 750;}
.p4-ui.p52-ui .activity-recovery{padding-block: 24px; max-width: 720px;}
.p4-ui.p52-ui .beta-actions{display: flex; flex-wrap: wrap; gap: 14px; margin: 26px 0px;}
.p4-ui.p52-ui .beta-actions form{margin: 0px;}
@media (max-width: 1000px) {
.p4-ui.p52-ui.p4-member{padding-bottom: 84px;}
.p52-home-grid{gap: 32px; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.1fr);}
.p52-next{padding-right: 24px;}
.p52-focus-card{display: block;}
.p52-focus-visual{min-height: 130px; max-height: 160px; margin-bottom: 18px;}
.p52-focus-visual svg{max-height: 160px;}
.p52-metrics{gap: 16px;}
.p52-metrics article{padding-right: 16px;}
}
@media (max-width: 700px) {
.p4-ui.p52-ui :is(.aurel-main, .page-shell), .p4-ui.p52-ui.p4-home .aurel-main{padding: 26px 22px 40px;}
.p4-ui.p52-ui .p52-welcome h1{font-size: 2.25rem;}
.p52-welcome{margin-bottom: 26px;}
.p52-welcome > p{font-size: 0.95rem;}
.p52-home-grid{display: flex; flex-direction: column; gap: 28px;}
.p52-next, .p52-path{width: 100%; border: 0px; padding: 0px;}
.p52-next-title{padding: 16px; border: 1px solid rgb(112, 135, 123); border-radius: 8px; gap: 14px;}
.p4-ui.p52-ui .p52-next-title h2{font-size: 1.28rem;}
.p52-next-title > svg{width: 32px; height: 32px;}
.p52-next-reason{font-size: 0.88rem; margin: 14px 0px 20px; max-width: none;}
.p52-label{margin-bottom: 12px; font-size: .875rem;}
.p52-duration fieldset > div{gap: 8px;}
.p52-duration label > span{min-height: 60px;}
.p52-duration{margin-top: 18px;}
.p52-route strong{font-size: .875rem;}
.p52-route small{font-size: .875rem;}
.p52-stage-icon{width: 58px; height: 58px;}
.p52-stage-icon > svg{width: 28px; height: 28px;}
.p52-route > li:not(:last-child)::after{top: 28px;}
.p52-focus-card{display: grid; grid-template-columns: 96px minmax(0px, 1fr); padding: 16px; gap: 16px; margin-top: 20px;}
.p52-focus-visual{margin: 0px; min-height: 128px; max-height: none; height: 100%;}
.p4-ui.p52-ui .p52-focus-card h2{font-size: 1.1rem;}
.p52-focus-card p{font-size: .875rem; line-height: 1.6;}
.p52-progress{margin-top: 30px; padding-top: 20px;}
.p52-metrics{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px 20px;}
.p52-metrics article:nth-child(2n){border: 0px; padding-right: 0px;}
.p52-metrics article{padding-right: 20px;}
.p52-metric-count strong{font-size: 1.7rem;}
.p52-section-heading{gap: 16px; margin-bottom: 18px;}
.p52-section-heading a{font-size: .875rem;}
.p52-baseline{display: block;}
.p52-baseline a{margin-top: 8px;}
.p4-ui.p52-ui .p52-baseline h2{font-size: 1.1rem;}
.p4-ui.p52-ui .p52-metrics h3{min-height: 2.8em;}
.p4-ui.p52-ui .beta-actions{flex-direction: column;}
.p4-ui.p52-ui .beta-actions :is(form, button, a){width: 100%;}
}
.p4-ui.p52-ui.p4-home :is(.plan-transparency, .itinerary-area){background: none; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(255, 255, 255, 0.145); border-image: none; border-radius: 0px; padding: 0px; margin: 0px; color: rgb(213, 227, 220);}
.p4-ui.p52-ui.p4-home :is(.plan-transparency, .itinerary-area) > summary{color: rgb(213, 227, 220); min-height: 56px; font-size: 0.9rem; padding: 16px 30px 16px 0px;}
.p4-ui.p52-ui.p4-home :is(.plan-transparency, .itinerary-area) > p{color: rgb(198, 213, 206); font-size: 0.9rem; margin: 8px 0px 20px;}
.p4-ui.p52-ui.p4-home .plan-itinerary article{background: none; border: 0px; padding: 16px 0px;}
.p4-ui.p52-ui.p4-home .plan-itinerary h3{color: white; font-size: 1rem;}
.p4-ui.p52-ui.p4-home .tutorial-return{font-size: .875rem; margin-top: 24px;}
.p4-ui.p52-ui.p4-home .p4-diagnostic-resume{background: none; border: 0px; border-block: 1px solid rgba(255, 255, 255, 0.145); color: rgb(213, 227, 220); padding: 24px 0px;}
.p4-ui.p52-ui.p4-home .p4-diagnostic-resume h2{color: rgb(255, 255, 255); font-size: 1.1rem;}
.p4-ui.p52-ui.p4-home .p4-diagnostic-resume p{font-size: .875rem;}
.p4-ui.p52-ui.diagnostic-screen{padding-bottom: 0px;}
.p4-ui.p52-ui .p52-metrics small, .p4-ui.p52-ui .p52-metrics h3{font-size: 0.875rem;}
.p4-ui.p52-ui .study-document nav a{text-decoration: none;}
.p4-ui.p52-ui .study-document nav a:hover{text-decoration: underline; text-underline-offset: 4px;}
.p4-ui.p52-ui .study-document nav li{margin-block: 8px;}

/* Retained view layouts from proposal_onboarding.css; shared controls retired. */
.corporate-ui.p4-auth .aurel-main{max-width: 1120px; padding: 48px 48px 64px;}
.corporate-ui.p4-auth .p4-auth-layout{display: grid; grid-template-columns: minmax(0px, 1.04fr) minmax(0px, 1fr); gap: 64px; align-items: center; min-height: 500px;}
.p4-auth-intro{position: relative; align-self: stretch; display: flex; flex-direction: column; justify-content: center; min-height: 360px; padding-block: 44px;}
.corporate-ui.p4-auth .p4-auth-intro h1{position: relative; z-index: 1; font-size: clamp(3.1rem, 5.6vw, 5rem); letter-spacing: -.025em; font-weight: 700; line-height: 1.03; margin: 0px; max-width: 8ch;}
.p4-auth-intro > p{margin: 24px 0px 0px; color: rgb(207, 221, 214); font-size: 1rem;}
.p4-stop{color: rgb(0, 181, 107);}
.p4-trajectory{display: block; color: rgb(0, 181, 107); width: 260px; height: auto; pointer-events: none;}
.p4-auth-intro > .p4-trajectory{position: absolute; width: min(65%, 290px); right: -8px; top: -32px; opacity: 0.9;}
.corporate-ui.p4-auth .p4-auth-form{min-width: 0px; max-width: 440px; width: 100%; justify-self: end;}
.p4-fields-grid{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: 18px;}
.corporate-ui.p4-auth input:not([type="hidden"]):not([type="checkbox"]){display: block; background: transparent; color: rgb(255, 255, 255); border: 1px solid rgb(168, 186, 179); border-radius: 7px; width: 100%; min-width: 0px; min-height: 50px; line-height: 1.4; padding: 12px 14px; box-shadow: none;}
.corporate-ui.p4-auth input:-webkit-autofill{-webkit-text-fill-color: rgb(255, 255, 255); box-shadow: rgb(39, 62, 59) 0px 0px 0px 1000px inset; caret-color: rgb(255, 255, 255);}
.corporate-ui.p4-auth .p4-wide-button{background: rgb(0, 181, 107); color: rgb(17, 44, 36); border: 1px solid rgb(0, 181, 107); min-height: 56px; font-size: 1.0625rem; font-weight: 650; border-radius: 7px;}
.corporate-ui.p4-auth .p4-wide-button:hover{background: rgb(11, 197, 122); color: rgb(17, 44, 36);}
.corporate-ui .p4-wide-button{display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; position: relative; text-align: center;}
.p4-wide-button > span[aria-hidden]{position: absolute; right: 18px; font-size: 1.5rem; font-weight: 400; line-height: 1;}
.corporate-ui .p4-wide-button:has(> span[aria-hidden]){padding-inline: 40px;}
.corporate-ui.p4-auth .p4-auth-alternative{text-align: center; font-size: 0.9375rem; margin: 22px 0px 0px; color: rgb(218, 228, 222);}
.corporate-ui.p4-auth .p4-recovery-link{font-size: 0.875rem; display: inline-flex; min-height: 44px; align-items: center; margin-top: -12px;}
.corporate-ui.p4-auth .p4-recovery-panel{max-width: 520px; margin: 0px auto; position: relative; padding: 100px 0px 20px;}
.p4-recovery-panel > .p4-trajectory{position: absolute; top: -70px; right: -30px; width: 160px; opacity: 0.5;}
.corporate-ui.p4-auth .p4-recovery-panel h1{font-size: clamp(2.3rem, 4vw, 3.75rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.05; margin: 0px 0px 24px;}
.p4-recovery-panel > p{position: relative; margin: 0px 0px 28px; line-height: 1.6;}
.corporate-ui.p4-auth .p4-recovery-note{font-size: .875rem; color: rgb(203, 218, 210); border-top: 1px solid rgb(80, 102, 95); padding-top: 18px; margin-top: 28px;}
.corporate-ui.p4-onboarding .aurel-main{max-width: 1160px; padding: 32px 44px 48px;}
.corporate-ui.p4-onboarding .p4-profile-shell{max-width: 570px; margin: 0px auto;}
.corporate-ui.p4-onboarding .p4-page-kicker{font-size: 1rem; letter-spacing: 0px; font-weight: 500; line-height: 1.5; margin: 0px 0px 8px;}
.p4-profile-intro{font-size: 0.875rem; color: rgb(82, 101, 91); margin: 0px 0px 24px;}
.p4-profile-form{margin: 0px;}
.p4-step-progress{display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 24px 0px 42px; scroll-margin-top: 100px;}
.p4-step-progress > [data-profile-count]{font-size: 0.875rem; font-variant-numeric: tabular-nums; text-align: right;}
.p4-step-track{background: rgb(228, 236, 231); overflow: hidden; border-radius: 8px; height: 7px; width: 100%;}
.p4-step-track > span{display: block; height: 100%; width: 100%; background: rgb(0, 181, 107); transform-origin: left center; clip-path: inset(0 calc(100% - var(--step-progress,25%)) 0 0); transition: clip-path 240ms cubic-bezier(0.2, 0.7, 0.2, 1);}
.p4-profile-field{margin: 0px; padding: 0px; border: 0px; min-width: 0px;}
.p4-profile-field > legend{float: none; display: block; padding: 0px; margin: 0px 0px 16px; width: 100%; font-size: 1rem; font-weight: 550;}
.corporate-ui.p4-onboarding .p4-question-title, .p4-profile-field > legend.p4-question-title{font-size: clamp(1.75rem, 3.1vw, 2.5rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.12; margin: 0px 0px 34px; max-width: 22ch;}
.p4-step-note{color: rgb(82, 101, 91); font-size: 0.875rem; line-height: 1.6; margin: 18px 0px 24px;}
.corporate-ui .p4-profile-controls{display: flex; gap: 16px; align-items: center; margin-top: 32px;}
.p4-profile-controls .p4-wide-button{flex: 1 1 0%;}
.p4-profile-skip-question, .p4-profile-skip-all{display: block; min-height: 44px; margin: 8px auto 0px; text-align: center; font-size: 0.875rem;}
.p4-profile-step + .p4-profile-step{margin-top: 40px;}
.p4-wizard-ready .p4-profile-step + .p4-profile-step{margin-top: 0px;}
.p4-profile-extra{border-block-end: 1px solid rgb(197, 211, 202);}
.p4-profile-extra > summary{display: list-item; cursor: pointer; min-height: 58px; padding: 16px 0px; font-size: 0.9375rem; font-weight: 550; color: rgb(31, 47, 48);}
.p4-profile-extra .p4-profile-field{padding: 10px 0px 22px;}
.p4-profile-extra input[type="checkbox"]{width: 20px; height: 20px; margin: 0px;}
.p4-step-enter{animation: 190ms cubic-bezier(0.2, 0.7, 0.2, 1) 0s 1 normal both running p4-profile-reveal;}
@keyframes p4-profile-reveal {
0% { opacity: 0.4; transform: translateX(9px); }
100% { opacity: 1; transform: translateX(0px); }
}
.p4-welcome-layout{max-width: 1000px; margin: 14px auto 0px; display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.05fr); gap: 48px; align-items: center;}
.p4-fifty{position: relative; min-width: 0px; height: 460px; display: flex; align-items: center; justify-content: center; overflow: visible;}
.p4-fifty > span{font-size: clamp(230px, 27vw, 380px); font-weight: 200; line-height: 1; letter-spacing: -0.1em; color: rgb(31, 47, 48); margin-left: -0.1em;}
.p4-fifty > .p4-trajectory{position: absolute; inset: -24px -18px auto auto; width: 100%; height: 100%; transform: scaleX(1.12); color: rgb(0, 181, 107); opacity: 0.9;}
.corporate-ui.p4-onboarding .p4-welcome-copy h1{font-size: clamp(1.9rem, 3.3vw, 2.8rem); font-weight: 700; line-height: 1.12; letter-spacing: -.025em; margin: 0px 0px 18px;}
.p4-welcome-lead{font-size: 1.0625rem; line-height: 1.5; margin: 0px 0px 24px;}
.p4-five-stages{display: flex; justify-content: space-between; list-style: none; padding: 0px; margin: 28px 0px 38px; position: relative; max-width: 100%;}
.p4-five-stages::before{content: ""; height: 1px; position: absolute; left: 20px; right: 20px; top: 20px; background: rgb(155, 178, 165);}
.p4-five-stages > li{width: 40px; height: 40px; border: 1px solid rgb(140, 166, 154); background: rgb(255, 255, 255); border-radius: 50%; display: grid; place-items: center; position: relative; color: rgb(82, 101, 91); font-size: 0.9375rem;}
.p4-five-stages > li:first-child{background: rgb(0, 181, 107); color: rgb(19, 59, 43); border-color: rgb(0, 181, 107);}
.p4-welcome-pause{font-size: 0.9375rem; margin: 0px 0px 14px;}
.p4-welcome-skip{text-align: center; margin: 18px 0px; font-size: 0.9375rem;}
.p4-welcome-detail{border-top: 1px solid rgb(197, 211, 202); margin-top: 28px; padding-top: 4px;}
.p4-welcome-detail > summary{font-size: 0.875rem; cursor: pointer; min-height: 44px; padding-block: 10px;}
.p4-welcome-detail > p{font-size: 0.875rem; line-height: 1.65; margin-block: 12px; color: rgb(82, 101, 91);}
.p4-resume-note{border-left: 3px solid rgb(0, 181, 107); padding-left: 14px; margin-bottom: 24px; font-size: 0.9375rem;}
.p4-resume-note p{margin: 8px 0px 0px; font-size: 0.875rem;}
.p4-welcome-copy .basic-start{margin: 10px 0px; text-align: center;}
@media (max-width: 800px) {
.corporate-ui.p4-auth .aurel-main{padding: 22px 28px 40px; max-width: 560px;}
.corporate-ui.p4-auth .p4-auth-layout{display: block; min-height: 0px;}
.p4-auth-intro{min-height: 240px; padding: 36px 0px 32px;}
.corporate-ui.p4-auth .p4-auth-intro h1{font-size: 3.4rem; max-width: 8ch;}
.p4-auth-intro > .p4-trajectory{width: 210px; right: -20px; top: -48px; max-width: 65%;}
.p4-auth-intro > p{display: none;}
.corporate-ui.p4-auth .p4-auth-form{max-width: none;}
.corporate-ui.p4-auth .p4-recovery-panel{padding: 80px 0px 12px;}
.corporate-ui.p4-onboarding .aurel-main{padding: 24px 28px 40px;}
.p4-welcome-layout{display: block; max-width: 520px; margin: 0px auto;}
.p4-fifty{height: 300px; margin: -16px 0px 18px;}
.p4-fifty > span{font-size: 310px;}
.p4-fifty > .p4-trajectory{width: 100%; height: 350px; top: -40px; right: 0px; transform: scaleX(1.2);}
.p4-welcome-copy h1{font-size: 2rem;}
.p4-five-stages{margin: 26px 0px 32px;}
}
@media (max-width: 430px) {
.corporate-ui.p4-auth .aurel-main{padding: 18px 24px 32px;}
.p4-auth-intro{min-height: 214px; padding: 36px 0px 28px;}
.corporate-ui.p4-auth .p4-auth-intro h1{font-size: 3.3rem;}
.p4-fields-grid{column-gap: 14px;}
.corporate-ui.p4-auth input:not([type="hidden"]):not([type="checkbox"]){padding: 11px 12px; min-height: 48px;}
.corporate-ui.p4-auth .p4-wide-button{min-height: 56px; margin-top: 5px;}
.corporate-ui.p4-auth .p4-auth-alternative{margin-top: 18px;}
.corporate-ui.p4-onboarding .aurel-main{padding: 20px 24px 32px;}
.p4-profile-intro{max-width: 30ch;}
.p4-step-progress{margin: 20px 0px 38px;}
.corporate-ui.p4-onboarding .p4-question-title, .p4-profile-field > legend.p4-question-title{font-size: 2rem; margin-bottom: 28px;}
.p4-fifty{height: 267px; margin-top: -18px; margin-bottom: 16px;}
.p4-fifty > span{font-size: 280px;}
.p4-fifty > .p4-trajectory{height: 315px; top: -40px; right: 0px; transform: none;}
.corporate-ui.p4-onboarding .p4-welcome-copy h1{font-size: 1.85rem;}
.p4-welcome-lead{font-size: 0.9375rem;}
.p4-five-stages > li{width: 36px; height: 36px;}
.p4-five-stages::before{top: 18px;}
.p4-wide-button > span[aria-hidden]{right: 14px;}
}
@media (prefers-reduced-motion: reduce) {
.p4-step-enter, .p4-step-track > span{animation: auto ease 0s 1 normal none running none !important; transition: none !important;}
}
.corporate-ui.p4-onboarding .p4-profile-form{border: 0px; border-radius: 0px; padding: 0px; background: transparent; box-shadow: none;}
.p4-profile-shell:has(.p4-wizard-ready) .p4-profile-intro{display: none;}
@media (max-width: 800px) {
.p4-auth-intro > .p4-trajectory{top: -108px;}
}
@media (max-width: 430px) {
.p4-wizard-ready .p4-step-progress{margin: 14px 0px 30px;}
.p4-wizard-ready .p4-profile-controls{margin-top: 26px;}
}
@media (max-width: 800px) {
.p4-recovery-panel > .p4-trajectory{right: 0px;}
}
.p4-ui.p52-ui.p4-onboarding .p4-welcome-pause{display: none;}
.p4-ui.p52-ui.p4-auth .p4-auth-intro > p{display: block; font-size: 1rem; max-width: 32ch; margin-top: 20px; color: rgb(213, 227, 220);}
.p4-ui.p52-ui.p4-home{background: rgb(234, 246, 241); color: rgb(31, 47, 48);}
.p4-ui.p52-ui.p4-home .aurel-main{max-width: 1280px; padding: 24px 32px 36px;}
.p534-home-hero{display: grid; grid-template-columns: minmax(0px, 0.94fr) minmax(0px, 1.16fr); gap: 24px 40px; background: linear-gradient(112deg, rgb(16, 46, 47), rgb(18, 59, 56)); color: rgb(255, 255, 255); border-radius: 18px; padding: 32px; position: relative; isolation: isolate;}
.p534-home-hero::after{content: ""; position: absolute; inset: 0px; border-radius: inherit; box-shadow: rgba(255, 255, 255, 0.063) 0px 0px 0px 1px inset; pointer-events: none;}
.p534-home .p52-welcome{grid-column: 1; margin: 0px;}
.p4-ui.p52-ui .p534-home .p52-welcome h1{font-size: clamp(2.15rem, 3.4vw, 3.35rem); letter-spacing: -.025em; line-height: 1.08; margin: 0px 0px 10px;}
.p534-home .p52-welcome > p{font-size: 1rem; line-height: 1.45;}
.p534-home .p52-home-grid{display: contents;}
.p534-home .p52-next{grid-area: 2 / 1; border: 0px; padding: 0px;}
.p534-home .p52-path{grid-area: 1 / 2 / 3; align-self: stretch; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(255, 255, 255, 0.125); padding-left: 32px;}
.p534-next-subject{border: 1px solid rgba(255, 255, 255, 0.208); border-radius: 10px; padding: 18px 18px 18px 70px; position: relative; background: rgba(255, 255, 255, 0.01);}
.p534-home .p52-next-title{border: 0px; padding: 0px; display: block;}
.p534-home .p52-next-title > svg{position: absolute; left: 18px; top: 20px; width: 35px; height: 35px; color: rgb(0, 199, 123);}
.p4-ui.p52-ui .p534-home .p52-next-title h2{font-size: 1.17rem; line-height: 1.4; font-weight: 750; letter-spacing: -0.025em; max-width: 28ch;}
.p534-home .p52-next-reason{font-size: 0.875rem; line-height: 1.55; margin: 8px 0px 0px; max-width: none; color: rgb(216, 232, 224);}
.p534-home .p52-duration{margin-top: 22px;}
.p534-home .p52-duration legend{margin-bottom: 10px; font-size: 0.875rem; color: rgb(245, 250, 248);}
.p534-home .p52-duration label > span{min-height: 62px; border-color: rgb(156, 181, 174); background: rgba(255, 255, 255, 0.01);}
.p534-home .p52-duration input:checked + span{background: rgb(0, 199, 123); border-color: rgb(0, 199, 123);}
.p534-duration-meta{display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 4px;}
.p534-duration-meta > small{font-size: .875rem; color: rgb(202, 221, 212); max-width: 26ch;}
.p534-home .p52-duration > small.p534-duration-scope{font-size: .875rem; margin-top: -1px; max-width: none;}
.p534-home .p52-primary{font-size: 0.95rem; align-items: center; margin-top: 18px !important; min-height: 54px !important;}
.p534-home .p52-secondary-link{margin-top: 2px; font-size: .875rem;}
.p534-home .p52-route{gap: 10px;}
.p534-home .p52-route > li:not(:last-child)::after{height: 5px; top: 30px; background: linear-gradient(rgb(0, 189, 115) 0px, rgb(0, 189, 115) 1px, transparent 1px, transparent 4px, rgb(0, 189, 115) 4px, rgb(0, 189, 115) 5px);}
.p534-home .p52-stage-icon{width: 64px; height: 64px; background: rgb(16, 46, 47); border-color: rgb(123, 152, 144); margin-bottom: 8px;}
.p534-home .p52-stage-icon > svg{width: 30px; height: 30px;}
.p534-home .p52-route strong{font-size: 0.875rem;}
.p534-home .p52-path-caption{font-size: .875rem; margin-top: 12px; color: rgb(203, 221, 213);}
.p534-home .p52-focus-card{display: block; padding: 0px; overflow: hidden; border-radius: 12px; background: rgb(249, 253, 251); margin-top: 20px;}
.p534-home .p52-focus-visual{display: block; min-height: 0px; max-height: none; aspect-ratio: 16 / 9; border-radius: 0px; margin: 0px; background: url("../aurel/assets/lineas-aprende.1825dd3b2cea.svg") center center / cover rgb(215, 230, 220);}
.p534-home .p52-focus-visual img{display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 9;}
.p534-home .p534-focus-copy{padding: 18px 20px;}
.p4-ui.p52-ui .p534-home .p52-focus-card h2{font-size: 1.05rem; margin: 0px 0px 5px; letter-spacing: -0.025em;}
.p534-home .p52-focus-card p{font-size: .875rem; line-height: 1.55; color: rgb(63, 92, 80); max-width: 54ch;}
.p534-plan-board{padding: 28px 0px 0px; position: relative;}
.p4-ui.p52-ui .p534-plan-board > h2{font-size: 1.2rem; letter-spacing: -0.025em; margin: 0px 0px 22px; color: rgb(23, 52, 49);}
.p534-plan-panels{position: relative; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 20px; align-items: start;}
.p534-plan-panels::before{content: ""; position: absolute; top: 43px; left: -10px; right: -10px; height: 11px; background: repeating-linear-gradient(rgb(0, 181, 107) 0px, rgb(0, 181, 107) 2px, transparent 2px, transparent 5px); opacity: 0.85; pointer-events: none;}
.p534-plan-panel{min-width: 0px; position: relative; background: rgb(255, 255, 255); border: 1px solid rgb(211, 231, 221); border-radius: 14px; box-shadow: none; color: rgb(31, 47, 48); overflow: visible;}
.p534-plan-panel > summary{display: grid; grid-template-columns: 48px minmax(0px, 1fr) 26px; gap: 12px; align-items: start; padding: 22px 16px 22px 18px; min-height: 176px; list-style: none; border-radius: 13px; cursor: pointer;}
.p534-plan-panel > summary::after{display: none;}
.p534-panel-icon{display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgb(16, 46, 47); color: rgb(234, 248, 241); box-shadow: rgb(0, 199, 123) 0px 0px 0px 3px, rgb(234, 246, 241) 0px 0px 0px 7px; position: relative;}
.p534-panel-icon > svg{width: 27px; height: 27px;}
.p534-panel-label{display: flex; flex-direction: column; gap: 6px; padding-top: 0px; min-width: 0px;}
.p534-panel-label > strong{font-size: 0.98rem; line-height: 1.35; font-weight: 750; letter-spacing: -0.025em; color: inherit;}
.p534-panel-label > span{font-size: .875rem; font-weight: 500; line-height: 1.5;}
.p534-panel-label > small{font-size: .875rem; font-weight: 450; line-height: 1.55; color: rgb(72, 98, 88);}
.p534-disclosure{width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid rgb(178, 205, 192); border-radius: 50%; font-size: 1.1rem; line-height: 1; align-self: center; transition: transform 220ms, background-color 220ms; color: inherit;}
.p534-plan-panel[open] > .summary, .p534-plan-panel > summary:hover{background: rgba(255, 255, 255, 0.04);}
.p534-plan-panel[open] > summary .p534-disclosure{transform: rotate(180deg); background: rgb(216, 244, 231);}
.p534-plan-panel[open]{z-index: 1;}
.p534-plan-panel[open] > summary{min-height: 0px; padding-bottom: 18px;}
.p534-plan-panel.p534-plan-baseline{background: rgb(21, 55, 56); border-color: rgb(21, 55, 56); color: rgb(255, 255, 255);}
.p534-plan-baseline .p534-panel-label > small{color: rgb(200, 223, 213);}
.p534-plan-baseline .p534-disclosure{border-color: rgb(105, 139, 127);}
.p534-plan-baseline[open] > summary .p534-disclosure{color: rgb(20, 53, 47);}
.p534-plan-panel.p534-plan-adapts{background: rgb(220, 238, 230); border-color: rgb(201, 225, 213);}
.p534-panel-content{padding: 0px 20px 20px; min-width: 0px;}
.p534-panel-content p{font-size: .875rem; line-height: 1.65; margin: 0px 0px 14px; color: inherit;}
.p534-panel-content .plan-itinerary a:hover{text-underline-offset: 4px; text-decoration: underline !important;}
.p534-panel-content form{margin: 8px 0px 0px;}
.p534-panel-content form button{text-align: left; padding: 4px 0px; background: none; border: 0px;}
.p534-panel-content progress{display: block; width: 100%; height: 8px; border: 0px; appearance: none; border-radius: 8px; overflow: hidden; background: rgb(80, 113, 106); margin: 0px 0px 14px; accent-color: rgb(0, 199, 123);}
.p534-panel-content progress::-webkit-progress-bar{background: rgb(80, 113, 106);}
.p534-panel-content progress::-webkit-progress-value{background: rgb(0, 199, 123);}
.p4-ui.p52-ui.p4-home .p534-panel-content .itinerary-area{border-width: 1px 0px 0px; border-style: solid none none; border-color: rgb(199, 221, 210) currentcolor currentcolor; border-image: none; background: none; color: rgb(31, 47, 48); margin: 0px; padding: 0px;}
.p4-ui.p52-ui.p4-home .p534-panel-content .itinerary-area > summary{font-size: .875rem; color: rgb(31, 47, 48); padding: 14px 28px 14px 0px; min-height: 50px;}
.p4-ui.p52-ui.p4-home .p534-panel-content .plan-itinerary article{padding: 12px 0px 12px 12px; margin-bottom: 8px; border-left: 2px solid rgb(181, 220, 202);}
.p4-ui.p52-ui.p4-home .p534-panel-content .plan-itinerary h3{font-size: .875rem; color: rgb(31, 47, 48); line-height: 1.5; margin: 0px;}
.p534-panel-progress-link{margin-top: 12px;}
.p534-adapt-flow{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0px; border-block: 1px solid rgb(181, 213, 196); margin-bottom: 16px; font-size: .875rem; line-height: 1.45; font-weight: 700;}
.p534-adapt-flow > span:nth-child(2){color: rgb(0, 115, 71); font-size: 1.4rem;}
.p534-panel-content .p534-updated{font-size: .875rem; color: rgb(76, 103, 92); margin-bottom: 0px;}
.p534-home .p52-progress{background: rgb(21, 55, 56); color: rgb(255, 255, 255); border: 0px; border-radius: 14px; padding: 24px 28px; margin-top: 24px;}
.p534-home .p52-section-heading{margin-bottom: 20px; gap: 12px;}
.p4-ui.p52-ui .p534-home .p52-section-heading h2{font-size: 1.05rem; letter-spacing: -0.025em;}
.p534-home .p52-section-heading a{min-height: 40px; font-size: .875rem; color: rgb(213, 234, 223); white-space: nowrap;}
.p534-home .p52-metrics{gap: 22px;}
.p534-home .p52-metrics article{display: grid; grid-template-columns: 30px minmax(0px, 1fr); align-content: start; gap: 8px 12px; border-color: rgba(255, 255, 255, 0.157); padding-right: 22px;}
.p534-metric-symbol{grid-column: 1; color: rgb(0, 212, 138); align-self: center;}
.p534-metric-symbol svg{width: 27px; height: 27px; display: block;}
.p4-ui.p52-ui .p534-home .p52-metrics h3{grid-column: 2; font-size: .875rem; line-height: 1.4; margin: 0px; min-height: 2.8em; align-content: center; font-weight: 550;}
.p534-home .p52-metric-count{grid-column: 1 / -1; font-size: .875rem; margin: 2px 0px 3px;}
.p534-home .p52-metric-count strong{font-size: 1.85rem; color: rgb(255, 255, 255); line-height: 1.2;}
.p534-home .p52-metrics :is(progress, small, .p52-no-data){grid-column: 1 / -1;}
.p4-ui.p52-ui .p534-home .p52-metrics small{font-size: .875rem; margin: 0px; line-height: 1.5;}
.p534-home .p52-no-data{margin: 0px; font-size: .875rem;}
.p534-home .p52-scope-note{margin-top: 20px; font-size: .875rem; line-height: 1.6; color: rgb(194, 216, 205); max-width: none;}
.p4-ui.p52-ui.p4-home .p534-home .tutorial-return{margin: 18px 0px 0px; font-size: .875rem; text-align: right;}
.p4-ui.p52-ui.p4-onboarding .aurel-main{padding: 32px; max-width: 1160px;}
.p4-ui.p52-ui.p4-onboarding .p4-profile-shell{max-width: 650px; background: rgb(255, 255, 255); border: 1px solid rgb(211, 231, 221); border-radius: 16px; padding: 30px 36px;}
.p4-ui.p52-ui .p4-profile-shell .p4-page-kicker{color: rgb(0, 109, 70); font-weight: 700;}
.p4-ui.p52-ui .p4-profile-shell .p4-question-title{font-size: clamp(1.7rem, 2.6vw, 2.2rem); line-height: 1.2; max-width: 24ch;}
.p4-ui.p52-ui .p4-profile-shell .p4-step-progress{margin: 14px 0px 28px;}
.p4-ui.p52-ui .p4-profile-shell .p4-step-track{height: 6px; background: rgb(216, 234, 224);}
.p4-ui.p52-ui.p4-auth .p4-auth-layout{gap: 48px;}
.p4-ui.p52-ui.p4-auth .p4-auth-form{background: rgb(23, 58, 56); border: 1px solid rgb(82, 116, 103); border-radius: 16px; padding: 30px; max-width: 470px;}
.p4-ui.p52-ui.p4-auth .p4-auth-intro{min-height: 330px;}
.p4-ui.p52-ui.p4-auth .p4-auth-intro h1{font-size: clamp(3rem, 5.2vw, 4.6rem);}
.p4-ui.p52-ui.p4-auth .p4-auth-intro > .p4-trajectory{right: 0px; top: -38px; width: 250px; opacity: 0.7;}
.p4-ui.p52-ui.p4-auth .p4-auth-alternative{margin-top: 18px;}
.p4-ui.p52-ui.p4-tutorial .tutorial-stage{border: 1px solid rgb(211, 231, 221); border-radius: 16px; background: white; overflow: hidden;}
.p4-ui.p52-ui.p4-tutorial .tutorial-picture{background: rgb(220, 238, 229);}
.p4-ui.p52-ui.p4-tutorial .tutorial-copy{padding: 30px;}
.p4-ui.p52-ui.p4-tutorial .tutorial-controls{margin-top: 20px;}
.p4-ui.p52-ui.p4-welcome .p4-welcome-layout{background: rgb(255, 255, 255); border: 1px solid rgb(211, 231, 221); border-radius: 16px; overflow: hidden; gap: 32px; padding-right: 32px; margin-top: 0px;}
.p4-ui.p52-ui.p4-welcome .p4-fifty{height: 100%; min-height: 430px; background: rgb(220, 238, 229); overflow: hidden;}
.p4-ui.p52-ui.p4-welcome .p4-fifty > span{font-size: clamp(220px, 25vw, 330px);}
.p4-ui.p52-ui.p4-welcome .p4-welcome-copy{padding: 28px 0px;}
@media (min-width: 701px) and (max-width: 1050px) {
.p534-home-hero{gap: 24px; padding: 26px; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr);}
.p534-home .p52-path{padding-left: 24px;}
.p534-plan-panels{gap: 14px;}
.p534-plan-panel > summary{grid-template-columns: 38px minmax(0px, 1fr); padding: 20px 14px; min-height: 190px; gap: 14px 10px;}
.p534-panel-icon{width: 38px; height: 38px;}
.p534-panel-icon > svg{width: 23px; height: 23px;}
.p534-disclosure{grid-column: 2; justify-self: end;}
.p534-panel-label > strong{font-size: 0.9rem;}
.p534-plan-panels::before{top: 36px;}
.p534-home .p52-metrics{gap: 16px;}
.p534-home .p52-metrics article{padding-right: 16px; grid-template-columns: 24px minmax(0px, 1fr); gap: 8px;}
.p534-metric-symbol svg{width: 24px; height: 24px;}
}
@media (max-width: 800px) {
.p4-ui.p52-ui.p4-auth .p4-auth-form{padding: 24px; max-width: none;}
.p4-ui.p52-ui.p4-auth .p4-auth-intro{min-height: 210px; padding: 24px 0px;}
.p4-ui.p52-ui.p4-auth .p4-auth-intro h1{font-size: 3rem;}
.p4-ui.p52-ui.p4-auth .p4-auth-intro > .p4-trajectory{top: -90px; width: 190px; opacity: 0.45;}
.p4-ui.p52-ui.p4-welcome .p4-welcome-layout{padding: 0px;}
.p4-ui.p52-ui.p4-welcome .p4-fifty{height: 190px; min-height: 0px; margin: 0px;}
.p4-ui.p52-ui.p4-welcome .p4-fifty > span{font-size: 200px;}
.p4-ui.p52-ui.p4-welcome .p4-fifty > .p4-trajectory{width: 80%; height: 230px; top: -15px; right: 0px; transform: none;}
.p4-ui.p52-ui.p4-welcome .p4-welcome-copy{padding: 26px;}
}
@media (max-width: 700px) {
.p4-ui.p52-ui.p4-home .aurel-main{padding: 0px 0px 24px;}
.p534-home-hero{display: block; border-radius: 0px 0px 18px 18px; padding: 22px 22px 24px;}
.p534-home .p52-welcome{margin: 0px 0px 20px;}
.p4-ui.p52-ui .p534-home .p52-welcome h1{font-size: 2.15rem; margin-bottom: 7px;}
.p534-home .p52-welcome > p{font-size: 0.95rem;}
.p534-home .p52-home-grid{display: flex; flex-direction: column; gap: 22px;}
.p534-home .p52-next{width: 100%;}
.p534-next-subject{padding: 15px 15px 15px 62px;}
.p534-home .p52-next-title > svg{left: 16px; top: 18px; width: 31px; height: 31px;}
.p4-ui.p52-ui .p534-home .p52-next-title h2{font-size: 1.05rem; line-height: 1.4;}
.p534-home .p52-next-reason{font-size: .875rem; line-height: 1.55; margin-top: 6px;}
.p534-home .p52-duration{margin-top: 18px;}
.p534-home .p52-duration label > span{min-height: 58px;}
.p534-home .p52-duration strong{font-size: 1rem;}
.p534-home .p52-duration small{font-size: .875rem;}
.p534-home .p52-duration > small.p534-duration-scope{font-size: .875rem;}
.p534-home .p52-primary{font-size: 0.92rem; margin-top: 14px !important;}
.p534-home .p52-secondary-link{font-size: .875rem;}
.p534-home .p52-path{border: 0px; padding: 0px; width: 100%; display: block;}
.p534-home .p52-stage-icon{width: 54px; height: 54px; margin-bottom: 7px;}
.p534-home .p52-stage-icon > svg{width: 27px; height: 27px;}
.p534-home .p52-route > li:not(:last-child)::after{top: 25px;}
.p534-home .p52-route strong{font-size: .875rem;}
.p534-home .p52-route small{font-size: .875rem;}
.p534-home .p52-path-caption{font-size: .875rem; margin-top: 10px;}
.p534-home .p52-focus-card{margin-top: 18px; display: grid; grid-template-columns: 108px minmax(0px, 1fr); border-radius: 9px; align-items: stretch;}
.p534-home .p52-focus-visual{aspect-ratio: auto; height: auto; min-height: 150px;}
.p534-home .p52-focus-visual img{height: 100%; aspect-ratio: auto; object-position: center center;}
.p534-home .p534-focus-copy{padding: 16px 14px;}
.p4-ui.p52-ui .p534-home .p52-focus-card h2{font-size: 0.95rem; line-height: 1.4;}
.p534-home .p52-focus-card p{font-size: .875rem; line-height: 1.55;}
.p534-plan-board{padding: 24px 20px 0px;}
.p4-ui.p52-ui .p534-plan-board > h2{font-size: 1.12rem; margin-bottom: 18px;}
.p534-plan-panels{display: flex; flex-direction: column; gap: 14px; align-items: stretch;}
.p534-plan-panels::before{inset: 0px auto 0px 37px; width: 10px; height: auto; background: repeating-linear-gradient(to right, rgb(0, 181, 107) 0px, rgb(0, 181, 107) 2px, transparent 2px, transparent 5px);}
.p534-plan-panel > summary{grid-template-columns: 42px minmax(0px, 1fr) 26px; gap: 14px; min-height: 116px; padding: 18px 16px; align-items: center;}
.p534-panel-icon{width: 42px; height: 42px; box-shadow: rgb(0, 199, 123) 0px 0px 0px 2px, rgb(234, 246, 241) 0px 0px 0px 6px;}
.p534-panel-icon > svg{width: 25px; height: 25px;}
.p534-panel-label{gap: 4px;}
.p534-panel-label > strong{font-size: 0.9rem; line-height: 1.35;}
.p534-panel-label > span{font-size: .875rem; line-height: 1.45;}
.p534-panel-label > small{font-size: .875rem; line-height: 1.5;}
.p534-plan-panel[open] > summary{padding-bottom: 16px;}
.p534-panel-content{padding: 0px 20px 20px;}
.p534-panel-content p{font-size: .875rem;}
.p534-home .p52-progress{padding: 20px; margin-top: 20px; border-radius: 12px;}
.p534-home .p52-section-heading{flex-wrap: wrap; gap: 2px; margin-bottom: 18px;}
.p4-ui.p52-ui .p534-home .p52-section-heading h2{font-size: 1rem;}
.p534-home .p52-section-heading a{font-size: .875rem;}
.p534-home .p52-metrics{gap: 20px 16px;}
.p534-home .p52-metrics article{grid-template-columns: 24px minmax(0px, 1fr); gap: 8px; padding-right: 16px;}
.p534-home .p52-metrics article:nth-child(2n){padding-right: 0px;}
.p534-metric-symbol svg{width: 23px; height: 23px;}
.p4-ui.p52-ui .p534-home .p52-metrics h3{font-size: .875rem; line-height: 1.45;}
.p534-home .p52-metric-count{font-size: .875rem;}
.p534-home .p52-metric-count strong{font-size: 1.65rem;}
.p4-ui.p52-ui .p534-home .p52-metrics small{font-size: .875rem; line-height: 1.5;}
.p534-home .p52-scope-note{font-size: .875rem; margin-top: 18px;}
.p4-ui.p52-ui.p4-home .p534-home .tutorial-return{margin-top: 12px; text-align: left;}
.p4-ui.p52-ui.p4-onboarding .aurel-main{padding: 22px 18px 32px;}
.p4-ui.p52-ui.p4-onboarding .p4-profile-shell{padding: 24px 20px; border-radius: 14px;}
.p4-ui.p52-ui .p4-profile-shell .p4-question-title{font-size: 1.7rem; margin-bottom: 24px;}
.p4-ui.p52-ui .p4-profile-shell .p4-profile-controls{margin-top: 24px; gap: 10px;}
.p4-ui.p52-ui.p4-tutorial .tutorial-picture{height: 170px;}
.p4-ui.p52-ui.p4-tutorial .tutorial-copy{padding: 24px 22px;}
.p4-ui.p52-ui.p4-tutorial .tutorial-copy h2{font-size: 1.8rem;}
.p4-ui.p52-ui.p4-tutorial .tutorial-copy p{font-size: 0.9rem;}
}
@media (max-width: 380px) {
.p534-home-hero{padding-inline: 18px;}
.p534-plan-board{padding-inline: 16px;}
.p534-panel-label > small{display: block;}
.p534-plan-panel > summary{gap: 11px; padding-inline: 14px;}
.p534-home .p52-focus-card{grid-template-columns: 92px minmax(0px, 1fr);}
.p4-ui.p52-ui.p4-onboarding .p4-profile-shell{padding: 22px 16px;}
.p4-ui.p52-ui.p4-auth .p4-auth-form{padding: 22px 18px;}
}
@media (prefers-reduced-motion: reduce) {
.p534-disclosure{transition: none;}
}
@media (max-width: 700px) {
.p534-home-hero{padding-top: 20px; padding-bottom: 20px;}
.p534-home .p52-welcome{margin-bottom: 18px;}
.p534-home .p52-home-grid{gap: 16px;}
.p534-home .p52-duration{margin-top: 16px;}
.p534-home .p52-duration label > span{min-height: 54px;}
.p534-duration-meta > small{max-width: none; flex: 1 1 0%;}
.p534-home .p52-secondary-link{min-height: 40px;}
.p534-home .p52-stage-icon{width: 50px; height: 50px; margin-bottom: 6px;}
.p534-home .p52-route > li:not(:last-child)::after{top: 23px;}
.p534-home .p52-path-caption{margin-top: 8px;}
.p534-home .p52-focus-card{margin-top: 14px; grid-template-columns: 108px minmax(0px, 1fr); gap: 0px;}
.p534-home .p52-focus-visual{min-height: 132px; display: flex; align-items: center; background-color: rgb(217, 232, 223);}
.p534-home .p52-focus-visual img{height: auto; aspect-ratio: 1672 / 941; object-fit: contain;}
.p534-home .p534-focus-copy{padding: 14px 12px;}
.p534-plan-board{padding-top: 22px;}
.p534-plan-panel > summary{min-height: 104px; padding-block: 16px;}
.p534-home .p52-metrics article{grid-template-columns: 24px minmax(0px, 1fr); grid-template-areas: "symbol count" "title title" "bar bar" "note note"; gap: 8px 10px;}
.p534-home .p534-metric-symbol{grid-area: symbol;}
.p534-home .p52-metric-count{grid-area: count; margin: 0px;}
.p4-ui.p52-ui .p534-home .p52-metrics h3{grid-area: title; min-height: 0px; font-size: .875rem;}
.p534-home .p52-metrics progress{grid-area: bar;}
.p4-ui.p52-ui .p534-home .p52-metrics small, .p534-home .p52-no-data{grid-area: note;}
}
@media (max-width: 700px) {
.p534-home .p52-focus-card{display: block;}
.p534-home .p52-focus-visual{display: block; aspect-ratio: 1672 / 941; min-height: 0px;}
.p534-home .p52-focus-visual img{width: 100%; height: auto; aspect-ratio: 1672 / 941; object-fit: contain;}
.p534-home .p534-focus-copy{padding: 14px 16px;}
}

/* Retained view layouts from proposal_portal.css; shared controls retired. */
.p4-ui.p52-ui.p4-portal{background: rgb(228, 236, 231); color: rgb(31, 47, 48);}
.p4-ui.p52-ui.p4-portal .aurel-main{max-width: 1320px; margin-inline: auto; padding: 32px clamp(20px, 4vw, 56px) 56px; min-height: calc(-190px + 100svh);}
.p4-ui.p52-ui.p4-portal #app{max-width: none; margin: 0px;}
.p4-ui.p52-ui.p4-portal .p4-portal-context{display: none !important;}
.p52-ui.p4-portal .page-heading{margin: 0px 0px 24px;}
.p52-ui.p4-portal .page-heading h1{font-size: clamp(1.8rem, 3.2vw, 2.6rem); max-width: 28ch;}
.p52-ui.p4-portal .page-heading p{font-size: 1rem; line-height: 1.6; max-width: 65ch; margin: 12px 0px 0px; color: rgb(82, 99, 93);}
.p52-ui.p4-portal h2{font-size: 1.25rem; line-height: 1.4; font-weight: 700; letter-spacing: -0.025em;}
.p52-ui.p4-portal h3{font-size: 1.0625rem; line-height: 1.45; font-weight: 650; letter-spacing: -0.015em;}
.p52-ui.p4-portal p{line-height: 1.6;}
.p52-ui.p4-portal :is(.tiny, .details-note, .source-line, .metric-line, .fraction){font-size: 0.875rem; line-height: 1.55;}
.p52-ui.p4-portal summary{min-height: 48px; cursor: pointer; line-height: 1.5; font-size: 0.9375rem; font-weight: 600; padding-block: 12px;}
.p52-ui.p4-portal details[open] > summary{margin-bottom: 12px;}
.p52-ui.p4-portal .progress-track{height: 8px; background: rgb(228, 236, 231); border-radius: 8px; overflow: hidden;}
.p52-ui.p4-portal .progress-fill{background: rgb(0, 181, 107); border-radius: 8px; transition: width 240ms ease-out;}
.p52-ui.p4-portal .p52-no-data{color: rgb(82, 99, 93); font-size: 0.875rem; margin: 10px 0px;}
.p52-ui.p4-portal .practice-focus{padding:32px;background:var(--a-mint);color:var(--a-ink);border:1px solid #b5cbbd;border-radius:24px;margin:0 0 24px;max-width:960px;}
.p52-ui.p4-portal .practice-focus h2{color:var(--a-ink);font-size:1.6rem;}
.p52-ui.p4-portal .practice-focus > p{color:#3d584b;}
.p52-ui.p4-portal .practice-focus .filter-status{color:#3d584b;}
.p52-ui.p4-portal .practice-personalize{color:var(--a-ink);background:var(--a-tint);border:1px solid #b5cbbd;border-radius:16px;padding:4px 20px 12px;}
 .p52-ui.p4-portal :is(.practice-personalize,.practice-other,.study-materials-secondary)>summary{display:flex;align-items:center;gap:12px;list-style:none;color:var(--a-ink)}
.p52-ui.p4-portal :is(.practice-personalize,.practice-other,.study-materials-secondary)>summary::-webkit-details-marker{display:none}
.p52-ui.p4-portal :is(.practice-personalize,.practice-other,.study-materials-secondary)>summary::after{content:"";width:9px;height:9px;border-right:2px solid #006c40;border-bottom:2px solid #006c40;transform:rotate(45deg);margin-left:auto;flex-shrink:0}
.p52-ui.p4-portal :is(.practice-personalize,.practice-other,.study-materials-secondary)[open]>summary::after{transform:rotate(225deg)}
.p52-ui.p4-portal .a57-doubt-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.p52-ui.p4-portal .a57-doubt-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#006c40;background:var(--a-tint);flex-shrink:0}
.p52-ui.p4-portal .teacher-inbox>.a57-doubt-mark{background:var(--a-mint);margin-bottom:16px}
.p52-ui.p4-portal .p52-inbox-counts .is-replied{background:var(--a-mint);color:#005e38}
.p52-ui.p4-portal .p52-inbox-counts .a56-icon{width:18px;height:18px}
.p52-ui.p4-portal .request-state .status-inline{border-radius:8px;padding:6px 9px;background:#e2e8e4;color:#3f544a;line-height:1.4}
.p52-ui.p4-portal .request-state .status-inline.is-replied{background:var(--a-mint);color:#005e38}

.p52-ui.p4-portal .practice-focus > p{max-width: 58ch; margin: 12px 0px 24px;}
.p52-ui.p4-portal .practice-basic-fields{display:grid;grid-template-columns:minmax(0,1fr) 144px;gap:20px;margin:24px 0;max-width:none;}
.p52-ui.p4-portal .practice-basic-fields label{font-size: 0.9375rem; font-weight: 600; margin-bottom: 8px;}
.p52-ui.p4-portal .practice-focus .filter-status{font-size: 0.875rem; margin: 12px 0px 20px; min-height: 0px;}
.p52-ui.p4-portal .practice-personalize{margin-top:24px;}
.p52-ui.p4-portal .practice-personalize .beta-filter-grid{gap: 20px; padding: 8px 0px 12px;}
.p52-ui.p4-portal .practice-other{max-width:960px;background:var(--a-tint);border:1px solid #b5cbbd;border-radius:20px;padding:6px 24px;margin-bottom:24px;}
.p52-ui.p4-portal .practice-secondary-row{border-width: 1px 0px 0px; border-style: solid none none; border-color: rgb(211, 221, 215) currentcolor currentcolor; border-image: none; padding: 20px 0px; gap: 20px;}
.p52-ui.p4-portal .practice-resume{max-width: 860px; border: 1px solid rgb(171, 200, 186); background: rgb(228, 236, 231); border-radius: 12px; padding: 24px; margin-bottom: 24px; gap: 20px;}
.p52-ui.p4-portal .practice-resume p{margin-top: 8px;}
.p4-ui.p52-ui.p4-portal.in-session .aurel-main{max-width: 1280px; padding-top: 24px;}
.p52-ui.p4-portal .selection-status{font-size: 0.875rem; min-height: 0px; margin: 12px 0px; color: rgb(82, 99, 93);}
.p52-ui.p4-portal .question-footer{padding: 16px 0px 0px; margin: 0px; border: 0px; gap: 16px;}
.p52-ui.p4-portal .question-footer p{font-size: 0.875rem;}
.p52-ui.p4-portal .tutor-form :is(textarea, button){width: 100%; min-width: 0px;}
.p52-ui.p4-portal .feedback-label{font-size: 1.25rem; font-weight: 750; line-height: 1.4;}
.p52-ui.p4-portal .feedback-label.missed{color: rgb(146, 58, 50);}
.p52-ui.p4-portal :is(.your-answer, .correct-answer){font-size: 1rem; margin-top: 12px;}
.p52-ui.p4-portal .session-next{border-top: 1px solid rgb(203, 214, 208); padding-top: 20px; gap: 16px;}
.p52-ui.p4-portal .review-actions{gap: 12px; flex-wrap: wrap;}
.p52-ui.p4-portal .p52-dimension-grid{display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 0px; padding: 22px 8px; margin: 0px 0px 24px; background: rgb(31, 47, 48); color: rgb(255, 255, 255); border-radius: 14px;}
.p52-ui.p4-portal .p52-dimension{padding: 0px 24px; border-right: 1px solid rgba(255, 255, 255, 0.145); min-width: 0px;}
.p52-ui.p4-portal .p52-dimension:last-child{border: 0px;}
.p52-ui.p4-portal .p52-learning-icon{width: 30px; height: 30px; flex: 0 0 auto; color: rgb(0, 108, 64);}
.p52-ui.p4-portal .p52-dimension > .p52-learning-icon{color: rgb(0, 181, 107);}
.p52-ui.p4-portal .p52-dimension h2{font-size: 0.875rem; line-height: 1.4; min-height: 2.8em; letter-spacing: 0px; font-weight: 550; color: rgb(228, 236, 231); margin: 4px 0px 14px;}
.p52-ui.p4-portal .p52-dimension-value{display: flex; flex-wrap: wrap; gap: 4px; align-items: baseline; margin: 8px 0px 0px;}
.p52-ui.p4-portal .p52-dimension-value strong{font-size: 2rem; font-weight: 750; letter-spacing: -.025em; line-height: 1.1;}
.p52-ui.p4-portal .p52-dimension-value span{font-size: 1rem; color: rgb(228, 236, 231);}
.p52-ui.p4-portal .p52-dimension .progress-track{background: rgb(82, 103, 96); height: 7px;}
.p52-ui.p4-portal .p52-dimension .p52-no-data{color: rgb(228, 236, 231); font-size: .875rem; margin: 0px;}
.p52-ui.p4-portal .p534-progress-layout{display: grid; grid-template-columns: minmax(0px, 1.7fr) minmax(0px, 1fr); gap: 24px; align-items: start; margin-bottom: 32px;}
.p52-ui.p4-portal .p534-progress-aside{grid-area: 1 / 2; display: grid; gap: 16px; min-width: 0px;}
.p52-ui.p4-portal .p52-progress-topics{grid-area: 1 / 1; background: rgb(255, 255, 255); border: 1px solid rgb(203, 214, 208); border-radius: 14px; padding: 24px; min-width: 0px;}
.p52-ui.p4-portal .p52-progress-topics .section-head{margin: 0px 0px 16px; padding: 0px;}
.p52-ui.p4-portal .p52-progress-topics .section-head p{font-size: 0.875rem; margin-top: 8px; color: rgb(82, 99, 93);}
.p52-ui.p4-portal .p52-baseline{display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 22px; border: 1px solid rgb(189, 204, 195); border-radius: 12px; background: rgb(255, 255, 255); margin: 0px;}
.p52-ui.p4-portal .p52-baseline p{margin: 8px 0px 0px; font-size: 0.875rem;}
.p52-ui.p4-portal .p52-baseline h2{font-size: 1.1rem;}
.p52-ui.p4-portal .p52-baseline-status{font-weight: 650;}
.p52-ui.p4-portal .p52-progress-next{padding: 22px; border: 1px solid rgb(159, 185, 172); border-radius: 12px; background: rgb(228, 236, 231);}
.p52-ui.p4-portal .p52-progress-next h2{margin: 10px 0px 8px; font-size: 1.15rem;}
.p52-ui.p4-portal .p52-progress-next p{font-size: 0.875rem; margin: 0px;}
.p52-ui.p4-portal .p52-family-grid{display: grid; grid-template-columns: minmax(0px, 1fr); gap: 12px;}
.p52-ui.p4-portal .p52-family{border: 1px solid rgb(203, 214, 208); background: rgb(245, 248, 246); border-radius: 10px; padding: 18px; min-width: 0px;}
.p52-ui.p4-portal .p52-family-heading{display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; margin-bottom: 12px;}
.p52-ui.p4-portal .p52-family-heading strong{font-size: 1rem; white-space: nowrap;}
.p52-ui.p4-portal .p52-family > p{font-size: 0.875rem; margin: 10px 0px 0px;}
.p52-ui.p4-portal .p52-family details{border-top: 1px solid rgb(203, 214, 208); margin-top: 12px;}
.p52-ui.p4-portal .p52-subfamily{display: flex; gap: 16px; justify-content: space-between; align-items: flex-start; padding: 16px 0px; border-top: 1px solid rgb(203, 214, 208);}
.p52-ui.p4-portal .p52-subfamily h4{font-size: 0.9375rem; line-height: 1.45;}
.p52-ui.p4-portal .p52-subfamily p{font-size: 0.875rem; margin-top: 8px;}
.p52-ui.p4-portal .p52-subfamily a{flex: 0 0 auto;}
.p52-ui.p4-portal :is(.progress-method, .progress-readiness){border-block: 1px solid rgb(189, 204, 195); padding: 6px 0px; margin: 20px 0px; background: none;}
.p52-ui.p4-portal .p534-dimension-criteria{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 20px; margin: 0px 0px 24px;}
.p52-ui.p4-portal .p534-dimension-criterion{background: rgb(255, 255, 255); padding: 20px; border-radius: 10px;}
.p52-ui.p4-portal .p534-dimension-criterion p{font-size: 0.875rem; margin-top: 12px;}
.p52-ui.p4-portal .progress-history{margin-top: 28px; background: rgb(255, 255, 255); border: 1px solid rgb(203, 214, 208); border-radius: 14px; padding: 24px;}
.p52-ui.p4-portal .material-row{padding: 20px 0px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(211, 221, 215); border-image: none; gap: 24px; background: none; border-radius: 0px;}
.p52-ui.p4-portal .materials-list{border: 0px; background: none;}
.p52-ui.p4-portal .material-info h3{font-size: 1rem;}
.p52-ui.p4-portal .material-info p{font-size: 0.875rem; margin-top: 6px;}
.p52-ui.p4-portal .area-row{padding: 24px 0px; gap: 24px;}
.p52-ui.p4-portal .area-name p{font-size: 0.875rem; margin-top: 8px;}
.p52-ui.p4-portal[data-p4-view="materials"] .page-heading h1{color: rgb(31, 47, 48);}
.p52-ui.p4-portal[data-p4-view="materials"] .page-heading p{color: rgb(82, 99, 93);}
.p52-ui.p4-portal .p52-doubt-sections{display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.15fr); gap: 24px; align-items: start;}
.p52-ui.p4-portal :is(.review-queue, .teacher-inbox){display:block;min-width:0;border:1px solid #b5cbbd;border-radius:24px;padding:28px;background:var(--a-tint);color:var(--a-ink);margin:0;}
.p52-ui.p4-portal .review-queue > div{min-width: 0px;}
.p52-ui.p4-portal .review-queue p{margin-top: 12px; color: rgb(82, 99, 93);}
.p52-ui.p4-portal .p52-review-count{display:inline-flex;font-size:.9375rem;font-weight:700;color:#005e38;background:var(--a-tint);border-radius:12px;padding:8px 12px;}
.p52-ui.p4-portal .review-queue-details{margin-top: 20px; border-top: 1px solid rgb(211, 221, 215);}
.p52-ui.p4-portal .review-queue-details ul{list-style: none; padding: 0px; margin: 0px;}
.p52-ui.p4-portal .review-queue-details li{display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px 0px; border-bottom: 1px solid rgb(228, 236, 231); line-height: 1.6;}
.p52-ui.p4-portal .review-queue-details li span{font-size: 0.875rem; color: rgb(82, 99, 93);}
.p52-ui.p4-portal .teacher-inbox .section-head{display: block;}
.p52-ui.p4-portal .teacher-inbox .section-head .button-row{margin-top: 20px; gap: 10px;}
.p52-ui.p4-portal .p52-inbox-counts{display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:20px 0;font-size:.875rem;}
.p52-ui.p4-portal .p52-inbox-counts span{display:inline-flex;align-items:center;gap:8px;background:#e2e8e4;padding:10px 12px;border-radius:12px;color:#3f544a;font-weight:600;}
.p52-ui.p4-portal .request-card{background:var(--a-tint);border:1px solid #b5cbbd;border-radius:16px;margin:16px 0 0;padding:20px;overflow-wrap:anywhere;}
.p52-ui.p4-portal .request-state{gap: 12px; flex-wrap: wrap;}
.p52-ui.p4-portal .request-card p{margin: 12px 0px 0px;}
.p52-ui.p4-portal .teacher-reply{background:var(--a-mint);border-radius:12px;padding:16px;margin-top:16px;}
.p52-ui.p4-portal .study-materials-secondary{border:1px solid #b5cbbd;border-radius:20px;background:var(--a-tint);margin-top:24px;padding:6px 24px;color:#4a5d58;}
.p52-ui.p4-portal .study-materials-secondary > summary{color: rgb(31, 47, 48);}
.p52-ui.p4-portal .study-materials-secondary[open]{background:var(--a-tint);color:var(--a-ink);padding:8px 24px 24px;}
.p52-ui.p4-portal .study-materials-secondary[open] > summary{color: rgb(31, 47, 48);}
.p52-ui.p4-portal[data-p4-view="materials"] #app > .details-note{color: rgb(82, 99, 93); margin-top: 20px;}
.p52-ui.p4-portal .result-counts{display: flex; flex-wrap: wrap; gap: 32px; margin: 24px 0px;}
.p52-ui.p4-portal .result-counts > div{border: 0px; padding: 0px;}
.p52-ui.p4-portal .result-counts strong{font-size: 2rem; font-weight: 650; line-height: 1.3; letter-spacing: -.025em;}
.p52-ui.p4-portal .result-counts span{display: block; font-size: 0.875rem; margin-top: 4px;}
.p52-ui.p4-portal .result-list{margin-top: 24px; background: rgb(255, 255, 255); border: 1px solid rgb(203, 214, 208); border-radius: 14px; padding: 24px;}
.p52-ui.p4-portal .p52-result-filters{display: flex; gap: 10px; margin-bottom: 16px;}
.p52-ui.p4-portal .p52-result-filters [aria-pressed="true"]{background: rgb(228, 236, 231); border-color: rgb(0, 108, 64); box-shadow: rgb(0, 108, 64) 0px 0px 0px 1px inset;}
.p52-ui.p4-portal .p52-verdict{display: block; margin-bottom: 6px; font-size: 0.875rem; font-weight: 700;}
.p52-ui.p4-portal .p52-verdict.is-correct{color: rgb(0, 108, 64);}
.p52-ui.p4-portal .p52-verdict.is-incorrect{color: rgb(146, 58, 50);}
.p52-ui.p4-portal .teacher-tabs{margin: 0px 0px 28px; border-bottom: 1px solid rgb(203, 214, 208); gap: 24px; flex-wrap: wrap;}
.p52-ui.p4-portal .teacher-section{padding: 24px; border: 1px solid rgb(203, 214, 208); border-radius: 14px; background: rgb(255, 255, 255); margin: 0px 0px 20px;}
.p52-ui.p4-portal .teacher-section th{font-weight: 650; background: rgb(228, 236, 231);}
.p52-ui.p4-portal .teacher-section :is(th, td){padding: 16px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(203, 214, 208); border-image: none;}
.p52-ui.p4-portal .teacher-section .table-wrap{border: 0px; border-radius: 0px; margin: 24px 0px;}
.p52-ui.p4-portal .teacher-section textarea{margin: 12px 0px;}
.p52-ui.p4-portal .source-row{padding: 24px 0px;}
.p52-ui.p4-portal .table-wrap a{text-underline-offset: 4px;}
@media (max-width: 900px) {
.p52-ui.p4-portal .p52-doubt-sections{grid-template-columns: minmax(0px, 1fr);}
.p52-ui.p4-portal .p534-progress-layout{display: flex; flex-direction: column; gap: 20px;}
.p52-ui.p4-portal .p534-progress-aside{display: contents;}
.p52-ui.p4-portal .p52-progress-next{order: 0; width: 100%; display: grid; grid-template-columns: 32px minmax(0px, 1fr); gap: 0px 14px;}
.p52-ui.p4-portal .p52-progress-next > .p52-learning-icon{grid-row: 1 / 3; margin-top: 4px;}
.p52-ui.p4-portal .p52-progress-next h2{margin-top: 0px;}
.p52-ui.p4-portal .p52-progress-next p{grid-column: 2;}
.p52-ui.p4-portal .p52-progress-topics{order: 1; width: 100%;}
.p52-ui.p4-portal .p52-baseline{order: 2; width: 100%;}
}
@media (max-width: 600px) {
.p4-ui.p52-ui.p4-portal .aurel-main, .p4-ui.p52-ui.p4-portal.in-session .aurel-main{padding: 24px 20px 40px;}
.p52-ui.p4-portal .page-heading{margin-bottom: 24px;}
.p52-ui.p4-portal .page-heading h1{font-size: 1.9rem;}
.p52-ui.p4-portal .page-heading p{font-size: 0.9375rem;}
.p52-ui.p4-portal .practice-focus{padding: 22px 18px;}
.p52-ui.p4-portal .practice-basic-fields{grid-template-columns:minmax(0,1fr);gap:16px;}
.p52-ui.p4-portal .practice-personalize .beta-filter-grid{grid-template-columns: minmax(0px, 1fr);}
.p52-ui.p4-portal .practice-secondary-row{flex-direction: column; align-items: stretch; gap: 16px;}
.p52-ui.p4-portal .practice-resume{padding: 20px; gap: 16px;}
.p52-ui.p4-portal .question-footer{align-items: stretch; gap: 12px;}
.p52-ui.p4-portal .question-footer p{text-align: center;}
.p52-ui.p4-portal .session-next{flex-direction: column; align-items: stretch;}
.p52-ui.p4-portal .p52-dimension-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); padding: 4px 16px; gap: 0px; margin-bottom: 20px;}
.p52-ui.p4-portal .p52-dimension{padding: 16px 14px 14px 0px; border-right: 1px solid rgba(255, 255, 255, 0.145); border-bottom: 1px solid rgba(255, 255, 255, 0.145);}
.p52-ui.p4-portal .p52-dimension:nth-child(2n){padding: 16px 0px 14px 14px; border-right: 0px;}
.p52-ui.p4-portal .p52-dimension:nth-last-child(-n+2){border-bottom: 0px;}
.p52-ui.p4-portal .p52-dimension h2{font-size: .875rem; margin-bottom: 10px;}
.p52-ui.p4-portal .p52-dimension-value{margin: 6px 0px 0px;}
.p52-ui.p4-portal .p52-dimension-value strong{font-size: 1.75rem;}
.p52-ui.p4-portal .p52-dimension-value span{font-size: 0.9375rem;}
.p52-ui.p4-portal .p52-dimension > .p52-learning-icon{width: 25px; height: 25px;}
.p52-ui.p4-portal .p534-dimension-criteria{grid-template-columns: minmax(0px, 1fr);}
.p52-ui.p4-portal :is(.p52-progress-topics, .progress-history, .result-list){padding: 20px 16px;}
.p52-ui.p4-portal .p52-family-grid{grid-template-columns: minmax(0px, 1fr);}
.p52-ui.p4-portal :is(.p52-baseline, .p52-progress-next, .p52-family){padding: 20px;}
.p52-ui.p4-portal .p52-subfamily{flex-wrap: wrap; gap: 10px;}
.p52-ui.p4-portal .material-row{flex-wrap: wrap; gap: 16px;}
.p52-ui.p4-portal .material-row .button-row{width: 100%;}
.p52-ui.p4-portal .history-row{display: grid; grid-template-columns: minmax(0px, 1fr); gap: 10px;}
.p52-ui.p4-portal .result-counts{gap: 24px; justify-content: space-between;}
.p52-ui.p4-portal .result-counts strong{font-size: 1.75rem;}
.p52-ui.p4-portal .teacher-section .table-wrap table{min-width: 560px;}
.p52-ui.p4-portal .teacher-search > div{flex-basis: 100%; min-width: 0px;}
.p52-ui.p4-portal .area-row{grid-template-columns: minmax(0px, 1fr) 88px; gap: 16px;}
}
.p4-ui.p52-ui.p4-portal.in-session{padding-bottom: 0px;}
.p52-ui.p4-portal .p52-baseline h2, .p52-ui.p4-portal .p52-baseline p{color: rgb(31, 47, 48);}
.p52-ui.p4-portal .p52-baseline .details-note{color: rgb(82, 99, 93);}
.p52-ui.p4-portal .p52-topic-blocks{display: grid; gap: 0px;}
.p52-ui.p4-portal .p52-topic-block{border-width: 1px 0px 0px; border-style: solid none none; border-color: rgb(203, 214, 208) currentcolor currentcolor; border-image: none; border-radius: 0px; padding: 0px; background: rgb(255, 255, 255);}
.p52-ui.p4-portal .p52-topic-block > summary{display: flex; align-items: center; gap: 16px; list-style: none; padding: 18px 26px 18px 0px; position: relative;}
.p52-ui.p4-portal .p52-topic-block > summary::after{content: "›"; position: absolute; right: 1px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; color: rgb(0, 108, 64); transition: transform 220ms;}
.p52-ui.p4-portal .p52-topic-block[open] > summary::after{transform: translateY(-50%) rotate(90deg);}
.p52-ui.p4-portal .p52-topic-block > summary::-webkit-details-marker{display: none;}
.p52-ui.p4-portal .p534-topic-main{display: grid; gap: 6px; min-width: 0px; flex: 1 1 0%;}
.p52-ui.p4-portal .p52-topic-title{font-size: 0.9375rem; font-weight: 700; line-height: 1.4;}
.p52-ui.p4-portal .p52-topic-fraction{font-size: .875rem; font-weight: 500; color: rgb(82, 99, 93); line-height: 1.5;}
.p52-ui.p4-portal .p52-topic-block .progress-track{height: 5px; margin-top: 3px;}
.p52-ui.p4-portal .p52-topic-block .p52-no-data{margin: 0px; font-size: .875rem;}
.p52-ui.p4-portal .p52-topic-block[open]{padding-bottom: 18px;}
.p52-ui.p4-portal .p52-topic-block .p52-family-grid{margin-top: 16px;}
.p52-ui.p4-portal .review-queue{background:var(--a-mint);color:var(--a-ink);border-color:#b5cbbd;}
.p52-ui.p4-portal .review-queue-details li{border-color:#b5cbbd;}

/* Retained view layouts from refinamiento53.css; shared controls retired. */
@keyframes p53-rise {
0% { opacity: 0.4; transform: translateY(6px); }
100% { opacity: 1; transform: none; }
}
