:root{--bg:#2C3031;--surface:#35393A;--text:#F1EFE8;--muted:#BFC1BE;--line:#565B5C;--accent:#F7C83A;--ink:#2C3031;--hover:#414647;--radius:18px;--pad:22px;color-scheme:dark;font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg);scroll-behavior:smooth}body{margin:0;color:var(--text);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--text);outline-offset:4px}button:hover:not(:disabled){filter:brightness(1.07)}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px;font-weight:400;line-height:1.15}h2{font-size:21px;letter-spacing:-.5px;font-weight:400;line-height:1.25}h3{font-size:16px;font-weight:400}small{font-size:12px}strong{font-weight:600}svg{display:block}img{display:block;max-width:100%}[hidden]{display:none!important}.icon{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app{width:100%;max-width:430px;margin:0 auto;min-height:100dvh;background:var(--bg);position:relative}.demo-bar{padding:7px var(--pad);min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#262A2B;border-bottom:1px solid #414647}.demo-label{font-size:9px;font-weight:600;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase}.demo-controls{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:11px;min-height:28px}.demo-controls .icon{width:14px;height:14px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:16px var(--pad);gap:16px}.brand{text-align:left;display:block}.brand-title{font-size:22px;font-weight:400;letter-spacing:1px;line-height:1}.brand-sub{font-size:10px;letter-spacing:1.8px;margin-top:5px}.brand-note{font-size:9px;color:var(--muted);letter-spacing:.1px;margin-top:3px}.top-actions{display:flex;align-items:center;gap:12px}.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;position:relative}.icon-btn:hover{background:var(--surface)}.notice-dot{width:6px;height:6px;background:var(--text);border-radius:50%;position:absolute;top:8px;right:10px}.avatar{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#454A4A;color:var(--text);font-size:13px;letter-spacing:.5px;width:34px;height:34px;border-radius:50%;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.large{width:58px;height:58px;font-size:19px}.avatar.xl{width:82px;height:82px;font-size:26px}.avatar.tiny{width:32px;height:32px;font-size:11px}.profile-btn{border:1px solid var(--line);padding:3px;width:43px;height:43px;border-radius:50%;display:flex;align-items:center;justify-content:center}
main{padding:9px var(--pad) 112px;min-height:calc(100dvh - 125px);outline:none}.identity{display:flex;gap:14px;align-items:center;margin:3px 0 20px}.greeting{color:var(--muted);font-size:13px;margin-bottom:5px}.identity h1{font-size:27px;letter-spacing:-.65px}.belt-caption{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:12px;color:var(--muted)}.belt{display:inline-flex;align-items:center;justify-content:flex-end;width:32px;height:9px;background:#91A4B1;border-radius:1px;padding-right:2px;gap:2px}.belt i{height:7px;width:2px;background:var(--text)}.progress-block{padding-bottom:22px}.progress-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px}.progress-meta span:first-child{color:var(--muted)}.progress-meta strong{font-weight:400}.progress-track{height:4px;background:var(--line);overflow:hidden;margin:10px 0;border-radius:5px}.progress-fill{height:100%;background:var(--accent);border-radius:5px;transition:width .2s}.progress-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;padding:0;font-size:12px;min-height:28px;text-decoration:none;white-space:nowrap}.text-link .icon{height:15px;width:15px}.progress-foot .text-link{font-size:11px;min-height:16px}.eyebrow{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}.class-action{padding:20px;border-radius:var(--radius);background:var(--surface);border:1px solid #4C5151;margin-bottom:25px}.action-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.action-top .icon{height:20px;width:20px;color:var(--muted)}.class-action h2{font-size:23px;letter-spacing:-.7px;margin-bottom:7px}.class-action .class-name{font-size:14px;color:var(--text)}.class-action .action-info{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.55;min-height:19px}.btn{min-height:52px;border-radius:28px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 21px;font-size:14px;font-weight:600;line-height:1.3;text-decoration:none;transition:background .15s}.btn .icon{height:19px;width:19px}.btn-primary{background:var(--accent);color:var(--ink)}.btn-secondary{border:1px solid var(--line);background:transparent;color:var(--text)}.btn-quiet{background:var(--surface);color:var(--text)}.btn-wide{width:100%}.class-action .btn{margin-top:17px}.class-action.confirmed{border-color:#676E69}.class-action.confirmed .action-top .icon{color:var(--text)}.inline-test{font-size:11px;color:var(--muted);display:block;text-align:center;width:100%;padding:10px 2px 0;text-decoration:underline;text-underline-offset:3px}.section{margin-bottom:26px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-heading h2{font-size:18px;letter-spacing:-.3px}.section-heading .aside{color:var(--muted);font-size:11px}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.day{min-width:0;height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;border-radius:13px}.day .dow{font-size:9px;color:var(--muted);letter-spacing:.4px}.day .date{font-size:17px;font-weight:400}.day.selected{background:var(--surface);border-color:#8E9290}.day .day-dot{width:4px;height:4px;border-radius:50%;background:var(--muted)}.day .day-dot.none{visibility:hidden}.day .day-dot.done{width:6px;height:6px;background:var(--text)}.week-caption{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted);margin-top:10px}.week-caption i{width:4px;height:4px;border-radius:50%;background:var(--muted)}.class-row{display:flex;text-align:left;align-items:center;width:100%;gap:15px;padding:16px 0;border-top:1px solid var(--line)}.class-row:last-child{border-bottom:1px solid var(--line)}.class-row .time{min-width:47px;font-size:16px;font-variant-numeric:tabular-nums;line-height:1.15}.class-row .time small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.class-row .class-copy{flex:1;min-width:0}.class-row .class-copy strong{font-size:14px;font-weight:400;display:block}.class-row .class-copy p{font-size:11px;color:var(--muted);margin-top:4px}.class-row>.icon{height:16px;width:16px;color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;border:1px solid var(--line);border-radius:5px;padding:3px 6px;color:var(--muted)}.class-row .tag{margin-top:7px}.row-link{width:100%;display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);text-align:left}.row-link>.icon:first-child{height:22px;width:22px}.row-link>.icon:last-child{margin-left:auto;height:16px;width:16px;color:var(--muted)}.row-link strong{font-weight:400;display:block;font-size:14px}.row-link small{font-size:11px;color:var(--muted);display:block;margin-top:3px}.benefits-shortcut{border-top:1px solid var(--line);margin:2px 0 27px}.invite{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.invite h3{font-size:19px;margin:8px 0 5px;letter-spacing:-.35px}.invite p{font-size:12px;color:var(--muted)}.invite-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.invite-bottom span{font-size:11px;color:var(--muted)}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 13px}.chip{min-height:35px;display:inline-flex;align-items:center;gap:5px;justify-content:center;border:1px solid var(--line);border-radius:20px;padding:7px 12px;font-size:11px;color:var(--muted)}.chip.active{border-color:var(--text);background:var(--text);color:var(--ink)}.rank-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #494E4E}.rank-num{font-size:12px;color:var(--muted);width:14px;font-variant-numeric:tabular-nums}.rank-copy{flex:1}.rank-copy strong{display:block;font-size:13px;font-weight:400}.rank-copy span{font-size:10px;color:var(--muted)}.rank-value{text-align:right;font-size:18px;font-variant-numeric:tabular-nums;line-height:1.1}.rank-value small{font-size:9px;color:var(--muted);display:block;margin-top:3px}.footnote{color:var(--muted);font-size:11px;line-height:1.6;margin-top:12px}.screen-heading{margin:2px 0 25px}.screen-heading h1{margin-top:8px}.screen-heading p{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.6}.back-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);padding:7px 0;margin-bottom:14px;min-height:36px}.back-link .icon{width:16px;height:16px}.subhead{font-size:15px;color:var(--muted);margin:25px 0 12px}.empty-state{border-top:1px solid var(--line);padding:28px 10px 24px;text-align:center}.empty-state>.icon{margin:0 auto 15px;width:28px;height:28px;color:var(--muted)}.empty-state h3{font-size:17px;margin-bottom:8px}.empty-state p{font-size:12px;color:var(--muted);max-width:280px;margin:0 auto;line-height:1.65}.empty-state .btn{margin-top:19px}.notice{border-left:2px solid var(--line);padding:4px 0 4px 13px;color:var(--muted);font-size:12px;line-height:1.65;margin:16px 0}.notice strong{color:var(--text);font-weight:400}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:21px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:25px}.stat+ .stat{border-left:1px solid var(--line);padding-left:20px}.stat .number{font-size:36px;line-height:1.1;letter-spacing:-1px;font-weight:400}.stat .label{font-size:12px;color:var(--muted);margin-top:7px}.journey-graduation{margin-bottom:20px}.journey-graduation .identity{margin-bottom:23px}.graduation-note{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:20px}.wallet{padding:39px 0 50px;text-align:center}.wallet .wallet-unit{font-size:13px;color:var(--muted)}.wallet .balance{font-size:88px;letter-spacing:-5px;font-weight:400;line-height:1;margin:15px 0 9px}.wallet .text-link{margin-top:40px;border-bottom:1px solid var(--line);padding-bottom:6px;justify-content:center}.ledger-row{display:flex;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.ledger-row>div{flex:1}.ledger-row strong{font-size:13px;font-weight:400}.ledger-row p{font-size:11px;color:var(--muted);margin-top:5px}.ledger-row .amount{font-size:17px;white-space:nowrap}.credential{padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:23px}.credential-header{display:flex;align-items:center;gap:15px}.credential-header h2{font-size:22px}.credential-header p{font-size:12px;color:var(--muted);margin-top:5px}.credential-status{display:flex;align-items:center;gap:6px;font-size:11px;margin-top:15px}.credential-status .icon{width:15px;height:15px}.credential .btn{margin-top:22px}.partner{border-top:1px solid var(--line);padding:18px 0}.partner-top{display:flex;align-items:center;gap:12px}.partner-logo{width:43px;height:43px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px;letter-spacing:1px;flex-shrink:0}.partner-copy{flex:1}.partner-copy h3{font-size:15px}.partner-copy p{font-size:11px;color:var(--muted);margin-top:3px}.partner-top>.icon{width:16px;height:16px;color:var(--muted)}.partner-btn{width:100%;text-align:left;padding:0}.partner-offer{font-size:12px;margin-left:55px;margin-top:11px}.chart{width:100%;height:auto;overflow:visible;margin:20px 0 4px}.chart text{fill:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:9px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.month-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-height:32px;font-size:12px;position:relative;border-radius:50%;padding:0}.month-day.attended{background:var(--text);color:var(--ink)}.month-day.header{font-size:10px;color:var(--muted);aspect-ratio:auto;min-height:24px}.month-day.today:not(.attended){border:1px solid var(--muted)}.trophy-summary{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;margin-bottom:16px}.trophy-summary .icon{width:27px;height:27px}.trophy-summary .number{font-size:35px;line-height:1}.trophy-summary p{font-size:12px;color:var(--muted);margin-top:4px}.trophy-summary .caption{margin-left:auto;font-size:11px;color:var(--muted);text-align:right}.achievement-group{border-bottom:1px solid var(--line)}.achievement-group summary{list-style:none;cursor:pointer;padding:19px 0;display:flex;align-items:center;gap:9px;font-size:14px}.achievement-group summary::-webkit-details-marker{display:none}.achievement-group summary small{margin-left:auto;color:var(--muted);font-size:11px}.achievement-group summary>.icon{width:15px;height:15px;transition:transform .1s}.achievement-group[open] summary>.icon{transform:rotate(90deg)}.achievement-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:61px;border-top:1px solid #464B4B;padding:11px 0}.achievement-row .achievement-name{font-size:13px;min-width:0}.achievement-row small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.achievement-row>.icon{width:17px;height:17px;grid-column:3}.achievement-row .locked{color:#626866}.achievement-row .bronze{color:#C39E7C}.achievement-row .silver{color:#D7D8D2}.achievement-row .earned{color:var(--text)}.request-btn{font-size:10px;min-height:34px;padding:6px 9px;border:1px solid #929793;border-radius:16px;white-space:nowrap}.achievement-progress{font-size:10px;color:var(--muted);padding:0 0 16px}.timeline-item{border-left:1px solid var(--line);padding:0 0 30px 22px;position:relative;margin-left:5px}.timeline-item:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--text);position:absolute;left:-4px;top:6px}.timeline-item h3{font-size:15px}.timeline-item p{font-size:12px;color:var(--muted);margin-top:5px}.privacy-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:28px;font-size:12px}.privacy-toggle input{accent-color:var(--accent);width:18px;height:18px}.privacy-toggle small{display:block;color:var(--muted);margin-top:4px}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:430px;width:100%;background:var(--bg);border-top:1px solid var(--line);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:9px 7px calc(10px + env(safe-area-inset-bottom));z-index:20}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#BFC1BE;font-size:10px;min-height:48px;position:relative;padding:4px 0}.nav-item .icon{width:21px;height:21px}.nav-item.active{color:#F1EFE8}.nav-item.active:before{position:absolute;content:'';height:2px;border-radius:2px;background:#F1EFE8;top:-10px;width:22px}.nav-item.active .icon{stroke-width:2.1}.nav-item.active span{font-weight:600}
dialog{width:min(100%,430px);max-height:92dvh;margin:auto auto 0;padding:0;color:var(--text);background:var(--bg);border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;overscroll-behavior:contain}dialog::backdrop{background:rgba(0,0,0,.65)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px var(--pad) 10px;border-bottom:1px solid #464B4B;background:var(--bg);position:sticky;top:0;z-index:2}.dialog-head h2{font-size:18px;letter-spacing:-.3px}.dialog-head .icon-btn{width:38px;height:38px}.dialog-body{padding:22px var(--pad) calc(26px + env(safe-area-inset-bottom));overflow-wrap:anywhere}.dialog-body p{font-size:13px;color:var(--muted);line-height:1.65}.dialog-body p+p{margin-top:10px}.dialog-body .btn{margin-top:18px}.dialog-body .lead{font-size:20px;color:var(--text);line-height:1.3;margin:8px 0 10px}.dialog-body h3{margin:20px 0 10px}.dialog-body .class-action{margin-top:16px;margin-bottom:6px}.scan-frame{width:132px;height:132px;display:flex;align-items:center;justify-content:center;margin:10px auto 22px;border:1px dashed var(--line);border-radius:18px;position:relative}.scan-frame>.icon{width:62px;height:62px;color:var(--muted);stroke-width:1}.scan-frame .sample{position:absolute;bottom:10px;font-size:8px;letter-spacing:1px;color:var(--muted)}.two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-buttons .btn{padding:12px 10px;font-size:13px}.detail-grid{margin:18px 0}.detail-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.detail-row dt{color:var(--muted)}.detail-row dd{margin:0;text-align:right}.survey-intro{margin-bottom:20px}.survey{margin:0}.survey fieldset{margin:0 0 27px;border:0;padding:0;min-width:0}.survey legend{font-size:15px;line-height:1.5;margin-bottom:9px;padding:0}.field-meta{font-size:10px;color:var(--muted);margin-bottom:12px;display:flex;align-items:center;gap:5px}.field-meta .icon{width:13px;height:13px}.ratings{display:flex;gap:8px;width:100%}.rating{position:relative;flex:1;min-width:0}.rating input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.rating span{display:flex;align-items:center;justify-content:center;height:47px;border:1px solid var(--line);border-radius:12px;font-size:16px;pointer-events:none}.rating input:checked+span{background:var(--text);color:var(--ink);border-color:var(--text)}.rating input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.scale-ends{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:7px}.choices{display:flex;gap:8px;flex-wrap:wrap}.choice{position:relative;max-width:100%}.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}.choice span{display:block;border:1px solid var(--line);border-radius:20px;padding:9px 12px;font-size:11px;pointer-events:none}.choice input:checked+span{background:var(--text);color:var(--ink);border-color:var(--text)}.choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.field-label{font-size:11px;color:var(--muted);display:block;margin:13px 0 6px}.text-area,.text-input,select{display:block;width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:13px;line-height:1.5}.text-area{resize:vertical;min-height:76px}.text-area::placeholder{color:#BFC1BE}.form-note{font-size:11px!important;line-height:1.6!important}.form-error{font-size:12px;color:var(--accent);margin:10px 0}.scenario-list{display:flex;flex-direction:column;gap:8px;margin-top:19px}.scenario-btn{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:55px;padding:12px 15px;border:1px solid var(--line);border-radius:12px;font-size:13px}.scenario-btn small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.scenario-btn .icon{width:16px;height:16px;color:var(--muted)}.scenario-btn.selected{border-color:var(--text);background:var(--surface)}.sim-date{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-bottom:18px}.sim-date .icon{width:14px;height:14px}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:87px;width:calc(100% - 36px);max-width:390px;z-index:100;background:var(--text);color:var(--ink);font-size:12px;line-height:1.5;padding:13px 17px;border-radius:13px;box-shadow:0 6px 20px rgba(0,0,0,.16);pointer-events:none}.offer-option{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px;cursor:pointer}.offer-option input{accent-color:var(--accent);margin-top:4px}.offer-option small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.qr-placeholder{text-align:center;padding:18px;border:1px dashed var(--line);border-radius:14px;margin:25px 0 16px}.qr-placeholder .icon{margin:0 auto 12px;width:80px;height:80px;stroke-width:1}.qr-placeholder p{font-size:11px}.message-preview{white-space:pre-wrap;font-size:13px;line-height:1.7;background:var(--surface);padding:15px;border-radius:12px;border:1px solid var(--line);margin:17px 0}.person-row{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding:11px 0;font-size:13px}.notification{display:block;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:15px 0}.notification .eyebrow{font-size:9px}.notification strong{display:block;font-size:14px;font-weight:400;margin:7px 0}.notification p{font-size:12px}.notification .text-link{margin-top:5px}.chapter-label{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:26px}.inline-info{font-size:11px;color:var(--muted);margin-top:10px}.file-label{display:inline-flex;cursor:pointer}.source-note{font-size:10px;color:var(--muted);text-align:center;margin:36px 0 0;line-height:1.8}.main-badge{font-size:10px;color:var(--muted);margin-left:auto}.mobile-only{display:block}
@media(min-width:600px){body{background:#242829}.app{border-left:1px solid #424748;border-right:1px solid #424748;box-shadow:0 0 80px rgba(0,0,0,.08)}.bottom-nav{border-left:1px solid #424748;border-right:1px solid #424748}dialog{margin:auto;border-bottom:1px solid var(--line);border-radius:22px;max-height:88dvh}.dialog-body{padding-bottom:26px}}
@media(max-width:359px){:root{--pad:18px}.identity h1{font-size:24px}.identity{gap:10px}.avatar.large{width:49px;height:49px}.class-action{padding:17px}.week{gap:3px}.day{height:62px}.demo-label{font-size:8px;letter-spacing:.7px}.demo-controls{font-size:10px}.achievement-row{gap:6px}.achievement-row .achievement-name{font-size:12px}.request-btn{font-size:10px;padding:6px 8px}.topbar{height:82px}.class-action h2{font-size:21px}.stats{gap:12px}.nav-item{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* v0.4: quatro abas no Aluno; cinco no Manager, com distribuição automática. */
.wallet-partners{border-top:1px solid var(--line);padding-top:24px;scroll-margin-top:20px;outline:none}
.wallet-partners-intro{font-size:12px;color:var(--muted);line-height:1.6;margin:-5px 0 18px}
.wallet-partners .section-heading{margin-bottom:12px}
.profile-credential{margin-top:22px;border-top:1px solid var(--line)}
.profile-credential>span{min-width:0}

/* Ajustes exclusivos do cabeçalho e da Home do Aluno — v0.7.2. */
.topbar{height:101px;padding-top:11px;padding-bottom:11px}
.brand{min-width:0;flex-shrink:0}
.brand-logo{display:block;width:82px;height:75px;object-fit:contain;object-position:left center}
.student-hero{justify-content:space-between;gap:14px;margin-top:4px;margin-bottom:22px}
.student-hero-text{min-width:0;flex:1}
.student-hero .hero-photo{order:2;width:112px;height:112px;flex:0 0 112px;border:1px solid #737A7A;font-size:34px;background:#454A4A}
.student-hero .belt-caption{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--text);line-height:1.4;margin-top:10px}
.student-hero .belt{width:52px;height:14px;background:#2870C9;border-radius:2px;gap:3px;padding-right:4px}
.student-hero .belt i{width:3px;height:11px;background:#F1EFE8}
.progress-track.progress-track-segmented{display:grid;grid-template-columns:repeat(var(--segment-count),minmax(0,1fr));gap:1px;overflow:visible;background:transparent;height:16px;margin:13px 0 12px;border-radius:0}
.progress-segment{display:block;min-width:0;height:16px;background:var(--line);border-radius:1px}
.progress-segment.filled{background:var(--accent)}
/* Só na Home: 42/60 maior, com a palavra aulas em tamanho secundário. */
.progress-meta strong.progress-count{display:inline-flex;align-items:baseline;gap:0;white-space:nowrap;font-size:23px;font-weight:600;letter-spacing:-.5px;line-height:1.1;font-variant-numeric:tabular-nums}
.progress-count small{font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:5px}
@media(max-width:359px){
 .topbar{height:96px}
 .brand-logo{height:70px;width:78px}
 .student-hero{gap:10px}
 .student-hero .hero-photo{width:100px;height:100px;flex-basis:100px;font-size:30px}
 .student-hero .belt-caption{gap:6px;font-size:11.5px}
}

/* Extensão visual Manager: mesmos tokens da prévia do aluno. */
.role-switch{display:flex;align-items:center;gap:3px;border-top:1px solid #414647;border-bottom:1px solid #414647;padding:6px var(--pad);margin-bottom:14px}.role-switch .role-caption{font-size:10px;color:var(--muted);margin-right:auto}.role-switch button{min-height:32px;padding:6px 15px;font-size:11px;border-radius:18px;color:var(--muted)}.role-switch button[aria-pressed=true]{background:var(--text);color:var(--ink);font-weight:600}.m-intro{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 25px}.m-intro h1{font-size:28px;letter-spacing:-.6px;margin:4px 0 7px}.m-intro .icon{width:28px;height:28px}.m-intro .eyebrow{font-size:9px}.m-date{font-size:11px;color:var(--muted)}.m-section{margin-bottom:28px}.m-head{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:11px}.m-head h2{font-size:18px;letter-spacing:-.3px}.m-head small{font-size:10px;color:var(--muted);white-space:nowrap}.m-pending{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.m-task{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:14px 0;min-height:64px}.m-task+.m-task{border-top:1px solid #474C4D}.m-task>.icon{width:20px;height:20px;color:var(--muted)}.m-task>.icon:last-child{width:15px;height:15px}.m-task .m-task-text{flex:1;min-width:0}.m-task strong{display:block;font-size:13px;font-weight:400}.m-task small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.m-count{font-size:12px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line);border-radius:7px}.m-kpis{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.m-kpi{text-align:left;padding:18px 15px 18px 0;min-height:105px}.m-kpi:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}.m-kpi:nth-child(n+3){border-top:1px solid var(--line)}.m-kpi .m-number{font-size:34px;line-height:1.05;letter-spacing:-1px;font-variant-numeric:tabular-nums}.m-kpi .m-number .icon{display:inline-block;width:14px;height:14px;margin-left:9px;color:var(--muted)}.m-kpi strong{display:block;font-size:12px;font-weight:400;margin-top:8px}.m-kpi small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.m-cta{margin:18px 0 27px}.m-class{border-top:1px solid var(--line);text-align:left;width:100%;padding:16px 0;display:grid;grid-template-columns:48px minmax(0,1fr) 15px;gap:12px;align-items:center}.m-class:last-child{border-bottom:1px solid var(--line)}.m-time{font-size:15px;font-variant-numeric:tabular-nums}.m-time small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.m-class-copy strong{font-size:13px;font-weight:400}.m-class-copy p{font-size:11px;color:var(--muted);margin-top:5px}.m-class-copy .m-theme{color:var(--text);font-size:11px;line-height:1.5}.m-class>.icon{width:15px;height:15px;color:var(--muted)}.m-search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:0 13px;border-radius:13px;margin-bottom:15px;background:var(--surface)}.m-search .icon{width:18px;height:18px;color:var(--muted)}.m-search input{font-size:13px;min-width:0;flex:1;border:0;background:none;padding:13px 0;color:var(--text);outline-offset:2px}.m-search input::placeholder{color:var(--muted)}.m-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:17px}.m-filter .chip{font-size:10px;min-height:35px;padding:7px 10px}.m-list-info{font-size:10px;color:var(--muted);margin-bottom:7px}.m-person{display:flex;align-items:center;gap:11px;text-align:left;padding:15px 0;border-bottom:1px solid #494E4F;width:100%}.m-person:first-child{border-top:1px solid var(--line)}.m-person-copy{min-width:0;flex:1}.m-person-copy strong{font-size:14px;font-weight:400;display:block;overflow-wrap:anywhere}.m-person-copy small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.m-person>.icon{height:15px;width:15px;color:var(--muted)}.m-person-state{font-size:9px;color:var(--muted);text-align:right}.m-stage{font-size:9px;letter-spacing:.7px;color:var(--muted);text-transform:uppercase;margin:0 0 10px}.m-profile{display:flex;align-items:center;gap:13px;margin:8px 0 23px}.m-profile h1{font-size:25px;letter-spacing:-.5px;overflow-wrap:anywhere}.m-profile p{font-size:12px;color:var(--muted);margin-top:5px}.m-pair{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.m-pair span{color:var(--muted)}.m-pair strong{font-weight:400;text-align:right;overflow-wrap:anywhere}.m-form-row{margin:0 0 15px}.m-form-row label,.m-form-label{font-size:12px;display:block;margin:0 0 7px;color:var(--muted)}.m-form-row input,.m-form-row select,.m-form-row textarea{width:100%;min-width:0}.m-small-btn{min-height:40px;border:1px solid var(--line);border-radius:21px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px}.m-small-btn .icon{width:15px;height:15px}.m-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.m-effects{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:2px 16px;margin:17px 0}.m-effects .m-pair:last-child{border:0}.m-check{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.6;margin-top:18px}.m-check input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0;margin:1px 0 0}.m-attendee{border-bottom:1px solid var(--line);padding:14px 0;display:flex;align-items:center;gap:10px}.m-attendee>div{flex:1;min-width:0}.m-attendee strong{font-weight:400;font-size:13px}.m-attendee small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.m-attendee .m-small-btn{min-height:36px;font-size:10px;padding:8px 11px}.m-ok{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.m-ok .icon{width:16px;height:16px}.m-block{border-top:1px solid var(--line);padding:18px 0}.m-block h3{font-size:15px;margin:0 0 10px}.m-block p{font-size:12px;color:var(--muted);line-height:1.65}.m-topic{padding:16px;border:1px solid var(--line);border-radius:14px;margin-bottom:14px}.m-topic .eyebrow{font-size:9px}.m-topic p{font-size:13px;line-height:1.6;margin-top:8px}.m-alert{border-top:1px solid var(--line);padding:17px 0;display:block;width:100%;text-align:left}.m-alert-top{display:flex;gap:11px;align-items:center;margin-bottom:12px}.m-alert-top>div{flex:1;min-width:0}.m-alert-top strong{font-size:14px;font-weight:400}.m-alert-top small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.m-alert-top>.icon{height:16px;width:16px}.m-alert-label{display:flex;gap:7px;align-items:center;margin-top:5px;font-size:11px;line-height:1.55}.m-alert-label:before{content:'';height:4px;width:4px;border-radius:50%;background:var(--text);flex-shrink:0}.m-alert-reason{font-size:11px;color:var(--muted);margin:5px 0 0 11px;line-height:1.65}.m-periods{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.m-periods .chip{padding:7px 12px;font-size:11px}.m-chart{width:100%;height:auto;display:block;margin:20px 0 7px}.m-chart text{font-size:10px;fill:var(--muted);font-family:Arial,Helvetica,sans-serif}.m-chart-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:8px 0 16px}.m-chart-summary span{font-size:10px;color:var(--muted);display:block}.m-chart-summary strong{font-size:22px;font-weight:400;display:block;margin:4px 0}.m-score-table{border-collapse:collapse;width:100%;font-size:11px;margin:15px 0}.m-score-table th,.m-score-table td{padding:10px 0;border-bottom:1px solid #484D4D;text-align:left;font-weight:400}.m-score-table th{color:var(--muted);font-size:10px}.m-score-table td:last-child{text-align:right}.m-contact{padding:14px 0;border-bottom:1px solid var(--line)}.m-contact p{font-size:12px;line-height:1.7}.m-contact small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.m-audit{padding:16px 0;border-top:1px solid var(--line)}.m-audit h3{font-size:14px;margin:0 0 6px}.m-audit p{font-size:11px;color:var(--muted);line-height:1.6}.m-audit dl{padding:12px 0 0;margin:0;font-size:11px}.m-audit dt{color:var(--muted);font-size:9px;margin-top:8px;text-transform:uppercase;letter-spacing:.7px}.m-audit dd{margin:3px 0 0;overflow-wrap:anywhere}.m-separator{height:1px;background:var(--line);margin:26px 0}.m-stat-big{font-size:55px;letter-spacing:-2px;font-weight:400;line-height:1;margin:20px 0 6px}.m-stat-big small{font-size:19px;letter-spacing:0;color:var(--muted)}.m-report-bar{display:grid;grid-template-columns:22px 1fr 26px;gap:12px;align-items:center;font-size:11px;margin:13px 0}.m-report-bar>i{height:4px;background:var(--line);border-radius:5px;display:block}.m-report-bar>i>b{height:4px;background:var(--text);display:block;border-radius:5px}.m-report-bar>span:last-child{text-align:right;color:var(--muted)}.m-warning{font-size:10px;color:var(--muted);line-height:1.7;margin-top:22px;border-top:1px solid var(--line);padding-top:13px}.m-reset{margin-top:24px}.m-inline-link{font-size:11px;text-decoration:underline;text-underline-offset:3px;min-height:32px;padding:6px 0;display:inline-flex;gap:6px;align-items:center}.m-inline-link .icon{height:14px;width:14px}
@media(max-width:359px){.m-head h2{font-size:17px}.m-head small{font-size:9px}.m-kpi strong{font-size:11px}.m-class{gap:9px;grid-template-columns:45px minmax(0,1fr) 15px}.m-class-copy strong{font-size:12px}.m-intro h1{font-size:25px}.m-person-copy strong{font-size:13px}.m-profile h1{font-size:22px}.role-switch .role-caption{font-size:9px}.role-switch button{padding:6px 12px}.m-task strong{font-size:12px}.m-small-btn{font-size:10px}}

/* Painel de avaliações. Herda a identidade e a largura da aplicação. */
#reportsPanel{--r-border:#474c4d;font-variant-numeric:tabular-nums}
.r-heading{margin:0 0 20px}.r-heading .eyebrow{font-size:9px;margin-bottom:8px}.r-heading h1{font-size:26px;letter-spacing:-.6px}.r-heading>p:last-child{font-size:12px;color:var(--muted);margin-top:8px}
.r-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);margin:0 0 18px}.r-tabs button{padding:10px 2px;min-height:45px;font-size:11px;letter-spacing:-.15px;position:relative;color:var(--muted)}.r-tabs button[aria-pressed=true]{color:var(--text);font-weight:600}.r-tabs button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;height:2px;left:9px;right:9px;background:var(--text);border-radius:2px}
.r-periods{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.r-periods .chip{min-height:40px;padding:8px 11px;font-size:11px}.r-filters{border:1px solid var(--line);border-radius:13px;margin:0 0 8px;background:var(--surface)}.r-filters summary,.r-disclosure summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;font-size:12px}.r-filters summary::-webkit-details-marker,.r-disclosure summary::-webkit-details-marker{display:none}.r-filters summary>.icon{width:17px;height:17px;color:var(--muted)}.r-filters summary>span{flex:1}.r-filters summary small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.r-filters[open] summary>.icon:last-child,.r-disclosure[open] summary>.icon:last-child{transform:rotate(90deg)}.r-filter-body{padding:0 13px 9px}.r-select-label{display:block;font-size:11px;color:var(--muted);margin:13px 0 6px}.r-select{width:100%;min-width:0;max-width:100%;min-height:44px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:8px 10px;color:var(--text);font-size:12px;text-overflow:ellipsis}.r-range{font-size:10px;color:var(--muted);margin:9px 0 20px}
.r-badge{display:inline-flex;gap:6px;align-items:center;font-size:10px;color:var(--muted);margin-bottom:10px}.r-badge .icon{width:13px;height:13px}.r-section{border-top:1px solid var(--line);padding:23px 0 21px}.r-score-section{padding:0 0 25px}.r-score-section h2{font-size:18px}.r-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 20px}.r-average{display:flex;align-items:center;gap:11px}.r-average>strong{font-size:60px;font-weight:400;letter-spacing:-2.8px;line-height:1;color:var(--accent)}.r-average>span{font-size:19px;color:var(--muted)}.r-average small{display:block;font-size:10px;letter-spacing:0;margin-top:4px}.r-positive{text-align:right;border-left:1px solid var(--line);padding-left:20px;min-width:81px}.r-positive>strong{display:block;font-size:25px;font-weight:400;line-height:1.1}.r-positive>span{font-size:10px;color:var(--muted);display:block;margin-top:5px}
.r-stats{display:flex;align-items:stretch;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:14px 0 12px}.r-stats>div{flex:1;min-width:0;padding:14px 10px 13px 0}.r-stats>div+div{border-left:1px solid var(--line);padding-left:14px}.r-stats strong{display:block;font-size:24px;font-weight:400;letter-spacing:-.6px;line-height:1.15}.r-stats span{font-size:10px;color:var(--muted);display:block;line-height:1.5;margin-top:5px;max-width:110px}
.r-note{font-size:11px;line-height:1.65;color:var(--muted)}.r-note strong{font-weight:600;color:var(--text)}.r-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:15px}.r-section-head h2{font-size:17px;letter-spacing:-.3px}.r-section-head>span{font-size:10px;color:var(--muted);white-space:nowrap}.r-bar{height:5px;overflow:hidden;background:var(--r-border);border-radius:5px}.r-bar>i{display:block;height:100%;background:var(--text);border-radius:5px}.r-rating-row{display:grid;grid-template-columns:42px minmax(0,1fr) 22px 31px;gap:10px;align-items:center;margin:16px 0}.r-rating-row>span{font-size:12px}.r-rating-row>strong{font-size:12px;text-align:right;font-weight:400}.r-rating-row>small{text-align:right;color:var(--muted);font-size:10px}.r-rating-row:first-child .r-bar>i{background:var(--accent)}.r-distribution{margin:6px 0 19px}.r-chart{display:block;width:100%;height:auto;margin:17px 0 5px}.r-chart text{fill:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:10px}.r-chart-empty{padding:22px 12px;border:1px dashed var(--line);margin:14px 0;color:var(--muted);font-size:12px}.r-chart-empty small{font-size:10px}.r-disclosure{border-top:1px solid var(--line);margin:14px 0 0}.r-disclosure summary{padding:10px 0;font-size:11px;min-height:44px}.r-disclosure summary>.icon{height:15px;width:15px}.r-disclosure summary>.icon:last-child{margin-left:auto}.r-table{width:100%;border-collapse:collapse;font-size:11px}.r-table caption{text-align:left;font-size:12px;margin:18px 0 9px}.r-table th,.r-table td{text-align:left;font-weight:400;border-bottom:1px solid var(--line);padding:10px 7px 10px 0}.r-table th{font-size:10px;color:var(--muted)}.r-table td:last-child,.r-table th:last-child{text-align:right;padding-right:0}.r-table td:first-child{white-space:nowrap}.r-history-table td:nth-child(2){max-width:185px}.r-history-table{margin-bottom:23px}
.r-teasers{padding:4px 0}.r-teaser{display:flex;align-items:center;text-align:left;gap:15px;padding:18px 0;width:100%;min-height:80px}.r-teaser+.r-teaser{border-top:1px solid var(--r-border)}.r-teaser>span{flex:1;min-width:0}.r-teaser small{font-size:9px;color:var(--muted);display:block}.r-teaser strong{font-size:15px;font-weight:400;display:block;margin:5px 0}.r-teaser em{font-size:10px;color:var(--muted);font-style:normal;display:block}.r-teaser>.icon{width:18px;height:18px}.r-lesson{width:100%;display:flex;align-items:center;text-align:left;padding:16px 0;gap:11px;border-bottom:1px solid var(--r-border)}.r-lesson>div:first-child{flex:1;min-width:0}.r-lesson small{font-size:10px;color:var(--muted);display:block}.r-lesson>div>strong{display:block;font-size:13px;font-weight:400;margin:4px 0}.r-lesson p{font-size:11px;color:var(--text);line-height:1.6}.r-lesson>div>span{display:block;font-size:9px;color:var(--muted);margin-top:6px}.r-lesson .r-lesson-value{min-width:45px;text-align:center}.r-lesson-value>strong{font-size:22px!important}.r-lesson-value small{font-size:9px}.r-lesson-value>.icon{margin:0 auto 5px;width:16px;height:16px}.r-lesson>.icon{width:13px;height:13px;color:var(--muted)}.r-inline{display:inline-flex;align-items:center;min-height:44px;font-size:11px;text-decoration:underline;text-underline-offset:4px;padding:9px 0}.r-optional{padding-top:0;border-top:0}.r-optional>h2{font-size:23px;margin:2px 0 12px}.r-intro-note{font-size:12px;color:var(--muted);line-height:1.65}.r-option{margin:22px 0}.r-option>div:first-child{display:flex;gap:10px;justify-content:space-between;margin-bottom:9px;font-size:13px}.r-option strong{font-weight:400}.r-option small{font-size:10px;color:var(--muted);display:block;margin-top:7px}.r-option:first-child .r-bar>i{background:var(--accent)}.r-quote{padding:14px 0 14px 15px;border-left:2px solid var(--line);margin:18px 0}.r-quote p{font-size:13px;line-height:1.7}.r-quote footer{font-size:9px;margin-top:8px;color:var(--muted)}.r-comment-empty{display:flex;align-items:flex-start;gap:11px;font-size:12px;color:var(--muted);padding:13px;background:var(--surface);line-height:1.6}.r-comment-empty .icon{width:18px;height:18px;margin-top:3px}
.r-empty{padding:25px 15px;margin:15px 0;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:center}.r-empty>.icon{width:23px;height:23px;margin:0 auto 15px;color:var(--muted)}.r-empty h3{font-size:17px;margin-bottom:11px}.r-empty p{color:var(--muted);font-size:12px;line-height:1.7}.r-selected{border-left:2px solid var(--text);padding:7px 0 7px 12px;margin:13px 0 23px}.r-selected>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}.r-selected strong{display:block;font-weight:400;font-size:13px;margin:6px 0}.r-selected small{font-size:10px;color:var(--muted)}
.r-identification{display:flex;gap:12px;align-items:flex-start;border-left:2px solid var(--text);padding:5px 0 5px 13px;margin:16px 0 22px}.r-identification>.icon{width:18px;height:18px;margin-top:2px}.r-identification strong{font-size:12px;font-weight:400;display:block}.r-identification span{display:block;color:var(--muted);font-size:11px;line-height:1.65;margin-top:6px}.r-search{margin-top:16px}.r-search input{min-height:44px}.r-person{display:flex;gap:9px;width:100%;text-align:left;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.r-person.r-low{border-left:2px solid var(--accent);padding-left:10px;margin:12px 0;background:var(--surface)}.r-person-main{flex:1;min-width:0}.r-person-main>strong{font-size:13px;font-weight:400;display:block}.r-person-main>small{font-size:10px;color:var(--muted);display:block;margin:4px 0}.r-person-main>span{font-size:9px;color:var(--muted);display:block}.r-person-main>em{font-size:9px;color:var(--text);font-style:normal;display:block;margin-top:7px}.r-person-value{min-width:38px;max-width:48px;text-align:center}.r-person-value>strong{display:block;font-size:22px;font-weight:400}.r-person-value>small{font-size:9px;color:var(--muted);display:block}.r-person>.icon{height:12px;width:12px;color:var(--muted);flex-shrink:0}.r-list-caption{font-size:10px;color:var(--muted);line-height:1.6;margin:12px 0}.r-profile-head h3{font-size:23px;line-height:1.3;margin:4px 0 6px}.r-profile-head p{font-size:12px;color:var(--muted)}.r-end-note{margin:21px 0}.r-explainer{margin:25px 0}.r-explainer>div>p{font-size:11px;line-height:1.8;color:var(--muted);margin:10px 0}.r-explainer strong{color:var(--text)}
@media(max-width:359px){.r-heading h1{font-size:24px}.r-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.r-tabs button{font-size:12px}.r-periods{gap:5px}.r-periods .chip{padding:7px 9px;font-size:10px}.r-average>strong{font-size:53px}.r-average>span{font-size:16px}.r-average small{font-size:9px}.r-positive{padding-left:12px;min-width:66px}.r-positive>strong{font-size:23px}.r-stats>div+div{padding-left:10px}.r-stats span{font-size:9px}.r-section-head{flex-wrap:wrap;gap:5px}.r-section-head h2{font-size:16px}.r-person{gap:7px}.r-person>.avatar{width:27px;height:27px;font-size:10px}.r-person-main>strong{font-size:12px}.r-person.r-low{padding-left:7px}.r-profile-head h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){#reportsPanel *{scroll-behavior:auto!important}}

/* v0.4 — controles visíveis por botão; nenhuma lista suspensa nos relatórios. */
.r-button-filters{margin-bottom:10px}
.r-filter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}
.r-filter-title>span,.r-choice-field legend,.r-lesson-filter-head>span{font-size:11px;color:var(--muted);font-weight:400}
.r-clear-filters{margin:0!important;padding:0!important;min-height:36px;font-size:11px}
.r-button-filters .r-periods{margin:2px 0 15px}
.r-choice-field{border:0;padding:0;margin:0 0 15px;min-inline-size:0}
.r-choice-field legend{padding:0;margin:0 0 8px}
.r-choice-buttons{display:flex;gap:6px;flex-wrap:wrap}
#reportsPanel .r-choice-buttons .chip,#reportsPanel .r-periods .chip{font-size:11px;min-height:44px;padding:8px 11px;line-height:1.25;white-space:normal}
.r-choice-buttons .chip[aria-pressed=true]{background:var(--text);color:var(--ink);border-color:var(--text)}
.r-lesson-filter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:-6px}
.r-scroll-actions{display:flex;gap:0}
.r-scroll-actions button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--muted)}
.r-scroll-actions .icon{width:16px;height:16px}
.r-lesson-buttons{display:flex;gap:7px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:4px 4px 9px;margin:0 -4px;scroll-padding-inline:4px}
.r-lesson-chip{flex:0 0 auto;max-width:190px;border:1px solid var(--line);border-radius:13px;padding:10px 13px;min-height:63px;min-width:130px;text-align:left;color:var(--muted);background:transparent}
.r-lesson-chip>strong{font-weight:400;font-size:12px;display:block;white-space:nowrap}
.r-lesson-chip>small{font-size:10px;display:block;margin-top:4px;line-height:1.25}
.r-lesson-chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--ink)}
.r-lesson-chip:focus-visible{outline-offset:1px}
.r-filter-help{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.5}
.r-button-filters+.r-range{margin-top:12px;padding-bottom:17px;border-bottom:1px solid var(--line)}
#rSex .r-choice-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#rSex .chip{padding-inline:5px!important}
@media(max-width:359px){#reportsPanel .r-periods .chip{font-size:10px;padding:8px 9px}#reportsPanel .r-choice-buttons .chip{font-size:10px;padding:8px 10px}.r-lesson-chip{min-width:128px}}

/* v0.5 — mesma identidade, filtros amarelos e foco na tarefa. */
:root{--positive:#8BD8A0;--negative:#F19491}
.chip.active,.chip[aria-pressed=true],#reportsPanel .chip[aria-pressed=true],#reportsPanel .r-tabs button[aria-pressed=true],.role-switch button[aria-pressed=true],#reportsPanel .r-choice-buttons .chip[aria-pressed=true],#reportsPanel .r-lesson-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ink)}
#reportsPanel .r-tabs button[aria-pressed=true]{font-weight:600}.r-tabs button{min-height:50px}.bottom-nav .nav-item.active{color:var(--text)!important;background:transparent!important}.nav-item.active .icon{color:var(--text)!important}
.v-chips{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.v-chips .chip{min-height:44px;font-size:12px;padding:8px 12px}.v-inline-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.v-two-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v-two-actions .btn{padding:11px 12px;font-size:12px}.v-pending .row-link:first-child{border-top:1px solid var(--line)}.v-pending .row-link{padding-block:13px}.v-pending .row-link strong{font-size:13px}.v-pending .row-link small{font-size:11px}.v-kpis .m-number{justify-content:flex-start;gap:8px;font-size:35px}.v-kpis .m-kpi{min-height:130px}.v-kpis .v-up .m-number{color:var(--positive)}.v-kpis .v-down .m-number{color:var(--negative)}.v-triangle{font-size:15px;display:inline-block}.v-kpis .m-kpi small{font-size:10px;line-height:1.55;white-space:normal;max-width:145px}.v-kpis .m-kpi strong{font-size:12px}
.v-tools{margin:25px 0 32px}.v-tools>.eyebrow{margin-bottom:6px}.v-tools .row-link{padding-block:20px}.v-tags{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.v-history{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.v-history p{font-size:12px!important;margin-top:7px!important}.v-choices{display:grid;gap:9px;margin:18px 0}.v-choice{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-size:13px}.v-choice:has(input:checked){background:var(--accent);color:var(--ink);border-color:var(--accent)}.v-choice input{accent-color:var(--ink);width:18px;height:18px;flex-shrink:0}.v-choices-inline{grid-template-columns:1fr 1fr}.v-fieldset{min-inline-size:0;border:0;padding:0;margin:18px 0}.v-fieldset legend{font-size:13px;padding:0}.v-form-two{display:grid;grid-template-columns:1.1fr 1fr;gap:12px}.v-form-two input{width:100%;min-width:0}.v-event-card{width:100%;display:block;text-align:left;padding:20px 0;border-bottom:1px solid var(--line)}.v-event-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.v-event-card h2{font-size:21px;margin-top:10px;line-height:1.3}.v-event-card p{color:var(--muted);font-size:12px;margin-top:5px}.v-event-footer{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:17px}.v-event-footer .icon{width:18px;height:18px}.v-event-title{font-size:29px;margin-top:13px;line-height:1.2}.v-subtitle{font-size:12px;color:var(--muted);line-height:1.7;margin-top:12px}.v-event-stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:20px 0;margin:24px 0;gap:12px}.v-event-stats strong{display:block;font-size:27px;font-weight:400}.v-event-stats span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.v-callout{border-left:3px solid var(--accent);background:var(--surface);padding:15px;margin:20px 0}.v-callout strong{font-size:13px}.v-callout p{font-size:12px;margin-top:7px;color:var(--muted);line-height:1.6}.v-participants-head{margin-top:30px}.v-participant{padding:17px 0;border-bottom:1px solid var(--line)}.v-participant-title strong{font-size:13px;display:block;font-weight:400}.v-participant-title small{font-size:10px;display:block;margin:5px 0 10px;color:var(--muted)}.v-event-checks{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px}.v-event-checks label{display:flex;align-items:center;gap:5px;min-height:36px;cursor:pointer}.v-event-checks input{width:18px;height:18px;accent-color:var(--accent)}.v-empty-note{font-size:13px;color:var(--muted);padding:25px 0}
/* Resultados antes de filtros: dois destinos; recortes secundários recolhidos. */
.r-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.r-tabs button{font-size:12px!important;line-height:1.35!important;padding:10px 8px!important}.r-heading h1{font-size:28px}.r-heading>p:last-child{line-height:1.5}.r-simple-filters{margin:20px 0}.r-simple-filters .r-periods{margin:8px 0}.r-filter-context{font-size:11px;color:var(--muted);line-height:1.7;padding:8px 0}.r-filter-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}.r-filter-tools .text-link{font-size:11px;min-height:42px}.r-public{margin-top:8px;padding:14px;background:var(--surface);border-radius:12px}.r-public legend{font-size:11px}.r-active-cut{color:var(--accent);font-weight:400}.r-mini-section{padding:22px 0;border-top:1px solid var(--line)}.r-mini-section h2{font-size:20px;line-height:1.3;margin-bottom:17px}.r-mini-option{margin:12px 0}.r-mini-option>div:first-child{display:flex;gap:10px;justify-content:space-between;font-size:12px;margin-bottom:7px}.r-mini-option small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.r-mini-option .r-bar i{background:var(--accent)}.r-group-result{display:flex;width:100%;align-items:center;gap:12px;text-align:left;padding:18px 0;border-bottom:1px solid var(--line)}.r-group-result>span:first-child{flex:1;min-width:0}.r-group-result strong{font-size:14px;font-weight:400;display:block}.r-group-result small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.r-group-result>span:nth-child(2){font-size:22px;min-width:36px;text-align:center}.r-group-result>.icon{width:14px;height:14px}.r-top-back{min-height:42px;margin:4px 0 10px}.r-score-section{padding-top:4px}.r-hero{margin-top:16px}.r-disclosure summary{min-height:46px;line-height:1.4}.r-note{line-height:1.65}.v-demo-note{padding:10px 0;font-size:11px;color:var(--muted)}
@media(max-width:359px){.v-kpis .m-number{font-size:31px}.v-kpis .m-kpi strong{font-size:11px}.v-kpis .m-kpi{padding:14px 10px;min-height:130px}.v-event-meta{flex-wrap:wrap}.v-form-two{grid-template-columns:1fr}.v-two-actions{gap:7px}.r-tabs button{font-size:11px!important}.r-heading h1{font-size:26px}.v-event-stats span{font-size:9px}.v-chips .chip{font-size:11px;padding:8px 10px}}
/* A v0.4 tinha um wrapper interno na saudação; a v0.5 usa fluxo vertical. */
.m-intro{display:block!important}.m-intro>.eyebrow{margin-bottom:9px}.m-intro>h1{margin:0 0 9px;line-height:1.2}.m-intro>.m-date{margin:0}.m-intro{padding-top:4px;margin-bottom:28px}
.scenario-btn.selected{background:var(--accent);color:var(--ink);border-color:var(--accent)}.scenario-btn.selected small{color:var(--ink)}

/* v0.6: extends the established graphite design; bottom icons stay monochrome. */
.c-categories{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.c-person-tags{margin:12px 0 22px}.c-contact .m-pair strong{overflow-wrap:anywhere;max-width:64%}.c-kind{border:0;padding:0;margin:24px 0}.c-kind legend{font-size:13px;color:var(--muted);margin-bottom:12px}.c-kind-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.c-kind-options label{position:relative;cursor:pointer;min-width:0}.c-kind-options input{position:absolute;opacity:0;width:1px;height:1px}.c-kind-options span{display:flex;align-items:center;justify-content:center;min-height:58px;border:1px solid var(--line);padding:10px 12px;border-radius:18px;font-size:13px;line-height:1.4;text-align:center;color:var(--text)}.c-kind-options input:checked+span{background:#F7C83A;color:#2C3031;border-color:#F7C83A;font-weight:600}.c-kind-options input:focus-visible+span{outline:2px solid var(--text);outline-offset:3px}.c-danger-action{color:#F19491}.c-care-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:26px 0 18px;padding:24px 0 20px}.c-care-total{display:flex;gap:16px;align-items:center}.c-care-total>strong{font-weight:400;font-size:56px;line-height:1;color:#F7C83A;font-variant-numeric:tabular-nums}.c-care-total>span{font-size:17px;line-height:1.4}.c-care-total>small{margin-left:auto;text-align:right;font-size:12px;line-height:1.5;color:var(--muted)}.c-care-bar{height:5px;background:var(--line);border-radius:4px;margin-top:22px;overflow:hidden}.c-care-bar>span{height:100%;background:#F7C83A;display:block}.c-care-summary>p{font-size:11px;line-height:1.65;color:var(--muted);margin:12px 0 0}.c-alert-macro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.c-alert-card{padding:15px 11px 13px;text-align:left;display:flex;flex-direction:column;gap:11px;border:1px solid var(--line);border-radius:17px;background:var(--surface);color:var(--text);min-height:162px;min-width:0;cursor:pointer}.c-alert-card>.icon{width:18px;height:18px;color:var(--muted)}.c-alert-card>.c-number{font-size:27px;font-weight:400;line-height:1}.c-alert-card>span{font-size:12px;line-height:1.4}.c-alert-card>small{margin-top:auto;color:var(--muted);font-size:10px;line-height:1.5}.c-alert-card.active{background:#F7C83A;border-color:#F7C83A;color:#2C3031}.c-alert-card.active>.icon,.c-alert-card.active>small{color:#2C3031}.c-alert-card:focus-visible{outline:2px solid var(--text);outline-offset:3px}.c-care-filters{margin-top:24px}.c-alert-tags{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0 10px}.c-alert-tags .tag{font-size:11px;white-space:normal;text-align:left}.c-frequency{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:10px 0 28px}.c-week-chart{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:24px 0 8px}.c-week{text-align:center;font-size:12px}.c-week-track{height:92px;display:flex;align-items:flex-end;justify-content:center;margin:10px 0}.c-week-track>i{display:block;width:65%;min-width:6px;border-radius:3px 3px 0 0;background:var(--muted)}.c-week-track>.recent{background:#F7C83A}.c-week>small{font-size:10px;color:var(--muted)}.c-week-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:12px 0 22px}.c-recovery{padding:18px 0 8px}.c-recovery>strong{font-size:13px;font-weight:400}.c-categories .chip,.c-care-filters .chip{min-height:44px}.c-kind-options [hidden]{display:none!important}
@media(max-width:350px){.c-alert-macro{gap:6px}.c-alert-card{padding:13px 9px}.c-alert-card>span{font-size:11px}.c-care-total{gap:12px}.c-care-total>span{font-size:15px}.c-week-chart{gap:5px}.c-week>small{font-size:9px}.c-kind-options span{padding:10px 8px;font-size:12px}.c-contact .m-pair strong{max-width:57%}}

/* Mural: estrela é reconhecimento em aula, não pontos nem um novo pódio. */
.mural-section{scroll-margin-top:20px}
.mural-section>.chips{margin-bottom:22px}
.mural-attendance>.eyebrow{margin-bottom:6px}
.mural-merit{margin-top:29px;padding-top:24px;border-top:1px solid var(--line)}
.merit-heading{display:flex;align-items:center;gap:9px}
.merit-heading>.icon{width:18px;height:18px;flex:none;color:var(--accent)}
.merit-heading h3{font-size:17px;font-weight:400;letter-spacing:-.2px;line-height:1.35;margin:0}
.merit-intro{font-size:12px;color:var(--muted);margin:7px 0 15px}
.merit-scope{font-size:11px;line-height:1.6;color:var(--text);margin:0 0 7px}
.merit-scope>span{display:block;font-size:10px;color:var(--muted)}
.merit-list{list-style:none;margin:0;padding:0}
.merit-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #494E4E;min-width:0}
.merit-row>.avatar{flex:none}
.merit-copy{flex:1;min-width:0}
.merit-copy strong{display:block;font-size:13px;font-weight:400;overflow-wrap:anywhere}
.merit-copy>span{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.merit-value{flex:none;text-align:right}
.merit-number{display:flex;gap:6px;justify-content:flex-end;align-items:center;color:var(--accent)}
.merit-number>.icon{width:16px;height:16px;fill:currentColor;stroke-width:1.3}
.merit-number strong{font-size:20px;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums}
.merit-value small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.merit-bottom{margin-top:13px}
.merit-bottom p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}
.merit-bottom .text-link{min-height:44px;font-size:11px;color:var(--text);gap:6px}
.merit-bottom .text-link>.icon{width:14px;height:14px}
.merit-empty{padding:18px 0;font-size:13px}
.merit-empty span{display:block;color:var(--muted);font-size:11px;margin-top:5px}
@media(max-width:359px){.merit-heading h3{font-size:16px}.merit-row{gap:9px}.merit-copy strong{font-size:12px}}


/* v0.8 — Estilos restritos ao módulo de pesquisas. Nenhum token global alterado. */
.rs-scope{color:var(--text)}.rs-scope p{line-height:1.55}.rs-scope .rs-sub{font-size:12px;color:var(--muted);margin:7px 0 16px}.rs-scope fieldset{min-width:0;border:0;padding:0;margin:0 0 26px}.rs-scope legend{font-size:17px;font-weight:400;line-height:1.4;margin-bottom:8px;padding:0}.rs-scope .rs-meta{font-size:11px;color:var(--muted);margin-bottom:12px}.rs-scope .rs-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:12px 0 6px}.rs-scope .rs-rating{position:relative;display:block;cursor:pointer;min-width:0}.rs-scope .rs-rating input,.rs-scope .rs-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.rs-scope .rs-rating span{display:flex;align-items:center;justify-content:center;min-height:47px;border:1px solid var(--line);background:var(--surface);border-radius:11px;font-size:20px;font-weight:400}.rs-scope .rs-rating input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600}.rs-scope .rs-scale-colors .rs-rating input:checked+span{background:var(--rs-score);border-color:var(--rs-score);color:#142119}.rs-scope .rs-scale-colors .rs-rating span{border-bottom:3px solid var(--rs-score)}.rs-scope .rs-rating input:focus-visible+span,.rs-scope .rs-chip input:focus-visible+span{outline:2px solid var(--text);outline-offset:3px}.rs-scope .rs-scale-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:15px}.rs-scope .rs-chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.rs-scope .rs-chip{position:relative;display:inline-flex;cursor:pointer;max-width:100%}.rs-scope .rs-chip span{display:block;padding:9px 12px;border:1px solid var(--line);border-radius:22px;color:var(--text);font-size:12px;line-height:1.35;min-height:38px;overflow-wrap:anywhere}.rs-scope .rs-chip input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--ink)}.rs-scope .rs-comment{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:12px}.rs-scope .rs-comment label{font-size:11px;color:var(--muted);display:block}.rs-scope .rs-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.rs-scope .rs-tags button{background:var(--accent);color:var(--ink);padding:5px 9px;font-size:10px;line-height:1.3;border-radius:12px;max-width:100%;text-align:left;min-height:27px}.rs-scope .rs-comment textarea{background:transparent;border:0;color:var(--text);font-size:13px;line-height:1.5;width:100%;min-height:76px;resize:vertical;padding:8px 0;margin:0}.rs-scope .rs-comment textarea:focus{outline-offset:1px}.rs-scope .rs-save{display:block;color:var(--muted);font-size:11px;margin:10px 0;min-height:18px}.rs-scope .rs-status{font-size:12px;padding:11px 13px;background:var(--surface);border-left:2px solid var(--accent);margin:12px 0 20px;border-radius:0 8px 8px 0}.rs-scope .rs-question-block{padding:20px 0;border-bottom:1px solid var(--line)}.rs-scope .rs-privacy{display:flex;gap:9px;font-size:12px;color:var(--muted);line-height:1.5;padding:12px 0 20px}.rs-scope .rs-privacy svg{flex-shrink:0;width:18px;height:18px}.rs-scope .rs-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.rs-scope .rs-actions .btn{min-height:43px;padding:10px 14px;font-size:12px}.rs-scope .rs-choice-list{display:flex;flex-direction:column;gap:8px}.rs-scope .rs-choice-list .rs-chip{display:block}.rs-scope .rs-block{margin:0 0 25px}.rs-invites{margin:0 0 25px}.rs-invites .section-heading{margin-bottom:6px}.rs-invites .rs-invite{display:flex;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.rs-invites .rs-invite-main{flex:1;min-width:0;text-align:left;padding:0}.rs-invites .rs-invite-main strong{font-size:14px;font-weight:400;display:block}.rs-invites .rs-invite-main small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.rs-invites .rs-invite svg{width:18px;height:18px}.rs-invites .rs-test-link{font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:5px 0;color:var(--muted)}.rs-scope .rs-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.rs-scope .rs-tabs .chip{font-size:12px;min-height:39px}.rs-scope .rs-panel-title{font-size:19px;font-weight:400;margin:24px 0 8px}.rs-scope .rs-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin:17px 0 24px}.rs-scope .rs-kpi{border-bottom:1px solid var(--line);padding:0 0 14px}.rs-scope .rs-kpi strong{font-size:31px;font-weight:400;line-height:1.1;display:block;font-variant-numeric:tabular-nums}.rs-scope .rs-kpi span{display:block;margin-top:6px;color:var(--muted);font-size:12px}.rs-scope .rs-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);width:100%;text-align:left}.rs-scope .rs-row .rs-row-copy{min-width:0;flex:1}.rs-scope .rs-row strong{display:block;font-size:14px;font-weight:400}.rs-scope .rs-row small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:3px}.rs-scope .rs-row-value{font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}.rs-scope .rs-option-row{margin:14px 0}.rs-scope .rs-option-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.4}.rs-scope .rs-option-label strong{white-space:nowrap;font-weight:400}.rs-scope .rs-bar{height:5px;margin-top:7px;background:var(--line);border-radius:3px;overflow:hidden}.rs-scope .rs-bar span{height:100%;background:var(--accent);display:block}.rs-scope .rs-dist{display:grid;grid-template-columns:20px 1fr 38px;gap:10px;align-items:center;font-size:12px;margin:10px 0}.rs-scope .rs-dist .rs-bar{margin:0}.rs-scope .rs-dist:last-child{margin-bottom:20px}.rs-scope .rs-quote{margin:12px 0;padding:10px 0 10px 12px;border-left:1px solid var(--line);color:var(--muted);font-size:12px;overflow-wrap:anywhere}.rs-scope .rs-filter-note{font-size:11px;color:var(--muted);margin:10px 0 16px}.rs-scope .rs-alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.rs-scope .rs-alert-card{padding:12px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:100px}.rs-scope .rs-alert-card strong{font-size:26px;font-weight:400;display:block}.rs-scope .rs-alert-card span{font-size:12px;display:block}.rs-scope .rs-alert-card[aria-pressed="true"]{background:var(--accent);color:var(--ink);border-color:var(--accent)}.rs-scope .rs-alert-tag{display:inline-block;font-size:10px;line-height:1.4;margin:5px 5px 0 0;padding:4px 6px;border:1px solid var(--line);border-radius:5px}.rs-scope .rs-alert-item{margin:15px 0;padding:12px;border-left:2px solid var(--accent);background:var(--surface);font-size:12px;line-height:1.5}.rs-scope .rs-alert-item.closed{border-left-color:var(--line);color:var(--muted)}.rs-scope .rs-chart{width:100%;height:auto;display:block;margin:10px 0}.rs-scope .rs-chart text{fill:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:9px}.rs-scope .rs-data-table{width:100%;border-collapse:collapse;font-size:12px}.rs-scope .rs-data-table th,.rs-scope .rs-data-table td{border-bottom:1px solid var(--line);padding:9px 4px;text-align:left;font-weight:400;vertical-align:top}.rs-scope .rs-data-table th{color:var(--muted)}.rs-scope details{margin:16px 0}.rs-scope summary{cursor:pointer;font-size:13px;padding:9px 0}.rs-scope .rs-empty{border:1px solid var(--line);border-radius:12px;padding:20px 15px;font-size:13px;color:var(--muted);margin:15px 0}.rs-scope .rs-error{color:#f0b2a8;font-size:12px;padding:10px 0}.rs-scope .rs-hint{font-size:11px;color:var(--muted);margin:8px 0 15px}.rs-scope .rs-select-prompt{font-size:12px;color:var(--muted);margin-top:14px}.rs-scope .rs-score-result{font-size:12px;color:var(--muted);min-height:19px;margin-top:6px}.rs-scope .rs-clear{color:var(--muted);font-size:11px;text-decoration:underline}.rs-scope .rs-month-index{font-size:10px;color:var(--muted);display:block;margin-bottom:7px;letter-spacing:1px}.rs-scope .rs-inline-title{font-size:16px;font-weight:400;margin-top:20px}.rs-scope .rs-current{color:var(--accent)}
@media(max-width:350px){.rs-scope .rs-scale{gap:5px}.rs-scope .rs-rating span{min-height:43px}.rs-scope legend{font-size:16px}.rs-scope .rs-chip span{padding:9px 10px;font-size:11px}.rs-scope .rs-kpi strong{font-size:27px}.rs-scope .rs-tabs .chip{padding:8px 10px;font-size:11px}}



.m-home-create{margin-bottom:28px}
.v-two-actions + .m-search{margin-top:18px}


/* Camada visual experimental comum. Nenhum conteúdo ou script modificado. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--pad:20px;--radius:16px;--accent:#F7C83A;--ink:#222728;color-scheme:dark}
html{background:#181C1D;scroll-behavior:auto}
body{font-size:14px;line-height:1.5}
.app{max-width:430px;min-height:100dvh;border-inline:0}
.demo-bar{min-height:30px;padding:3px var(--pad);border-bottom:0;background:transparent}
.demo-label{font-size:8px;letter-spacing:.8px}
.demo-controls{min-height:30px;font-size:10px}
.topbar{height:72px;padding:7px var(--pad);gap:12px;background:var(--bg)}
.brand-logo{width:62px;height:56px;object-fit:contain;object-position:left center}
.top-actions{gap:6px}
.profile-btn,.icon-btn{min-width:44px;min-height:44px}
.role-switch{margin:0 var(--pad) 16px;padding:4px 0;border-top:0;border-bottom:1px solid var(--line);gap:5px}
.role-switch .role-caption{font-size:10px}
.role-switch button{min-height:44px;padding:8px 16px;font-size:12px;border-radius:12px}
main{padding:2px var(--pad) calc(96px + env(safe-area-inset-bottom));min-height:calc(100dvh - 145px)}
h1{font-size:25px;font-weight:650;letter-spacing:-.7px;line-height:1.2}
h2{font-size:19px;font-weight:600;letter-spacing:-.3px;line-height:1.3}
h3{font-size:15px;font-weight:600}
.screen-heading,.r-heading{margin:4px 0 22px}
.screen-heading h1,.r-heading h1{font-size:25px;line-height:1.25}
.screen-heading p,.r-heading>p:last-child{font-size:12px;line-height:1.5;margin-top:8px}
.eyebrow{font-size:9px;letter-spacing:.8px}
.m-intro{margin-bottom:20px;padding-top:2px}
.m-intro>h1{font-size:25px;line-height:1.25;margin:0 0 6px;font-weight:650}
.m-intro>.eyebrow{margin-bottom:6px}
.m-date{font-size:11px}
.m-home-create{margin-bottom:24px}
.btn,.chip,.m-small-btn,.back-link{min-height:44px;line-height:1.35;border-radius:12px}
.btn{padding:12px 15px;font-size:13px;font-weight:600;white-space:normal}
.btn-secondary{border-color:var(--line)}
.v-two-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v-two-actions .btn{padding:11px 10px;font-size:12px}
.text-link{min-height:44px;white-space:normal;text-align:right;line-height:1.35}
.text-link .icon{flex:none}
.m-filter,.m-periods,.chips,.rs-tabs,.rs-periods{gap:6px}
.c-categories{margin:18px 0}
.m-search{border-radius:12px;background:var(--surface);margin-bottom:12px}
.v-two-actions + .m-search{margin-top:16px}
.m-search input{min-height:46px;width:0;min-width:0;font-size:13px;padding:11px 0}
.m-person-copy,.m-class-copy,.class-copy,.rs-person-main,.r-person-main,.partner-copy{min-width:0}
.m-person-copy strong,.m-class-copy strong,.class-copy strong,.partner-copy h3{overflow-wrap:anywhere}
.m-person-state{font-size:10px;flex-shrink:0;max-width:28%;white-space:normal;text-align:right}
.m-pair strong,.detail-row dd{overflow-wrap:anywhere;min-width:0}
.m-head,.section-heading,.r-section-head,.rs-inline-title{gap:8px;flex-wrap:wrap}
.m-head h2,.section-heading h2{font-size:18px;line-height:1.35}
.m-head small,.section-heading .aside{font-size:10px;white-space:normal}
.bottom-nav{max-width:430px;padding:6px 6px calc(7px + env(safe-area-inset-bottom));border-inline:0;z-index:20}
.nav-item{min-height:50px;gap:4px;font-size:9px;border-radius:12px;padding:6px 2px}
.nav-item .icon{width:21px;height:21px}
.nav-item.active:before{content:none}
.bottom-nav .nav-item.active{background:var(--surface)!important;color:var(--text)!important}
.nav-item.active .icon{color:var(--text)!important}
dialog{width:min(100%,430px);max-width:430px;max-height:92dvh;margin:auto auto 0!important;border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -16px 60px rgba(0,0,0,.28)}
dialog::backdrop{background:rgba(0,0,0,.62)}
.dialog-head{padding:12px var(--pad);background:var(--bg);border-bottom:1px solid var(--line)}
.dialog-head h2{font-size:18px;font-weight:600;line-height:1.35}
.dialog-head .icon-btn{width:44px;height:44px}
.dialog-body{padding:18px var(--pad) calc(24px + env(safe-area-inset-bottom))}
.dialog-body .lead{font-size:18px;line-height:1.4}
.dialog-body p{font-size:13px;line-height:1.55}
.m-form-row{margin-bottom:16px}
.m-form-row label,.m-form-label,.field-label{font-size:12px;margin-bottom:8px}
.text-input,.text-area,select,.m-form-row input,.m-form-row textarea,.m-form-row select{max-width:100%;min-width:0;border-radius:12px;font-size:14px;min-height:46px}
textarea.text-area,.m-form-row textarea{min-height:100px;resize:vertical}
.v-form-two,.two-buttons,.c-kind-options,.v-choices-inline{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choice span,.rating span,.v-choice,.c-kind-options span{min-height:46px;border-radius:12px}
.v-event-checks label,.m-check{min-height:44px}
.rs-scope{font-size:13px;line-height:1.5}
.rs-scope .rs-tabs{gap:6px;margin:16px 0;flex-wrap:wrap}
.rs-scope .rs-tabs .chip{padding:10px 12px;font-size:12px;min-height:44px}
.rs-scope .rs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.rs-scope .rs-kpi{min-width:0}
.rs-scope .rs-kpi strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rs-scope:has(.rs-tabs [data-value="mensal"][aria-pressed="true"]) .rs-kpi:nth-child(4)>strong{font-size:20px;line-height:1.35;overflow-wrap:anywhere}
.rs-scope .rs-chart,.m-chart,.chart,.r-chart{max-width:100%;height:auto}
.rs-scope .rs-data-table,.r-table,.m-score-table{max-width:100%;font-size:11px;table-layout:fixed;overflow-wrap:anywhere}
.rs-scope .rs-data-table th,.rs-scope .rs-data-table td,.r-table td,.r-table th{padding:10px 5px}
.rs-scope summary,.r-disclosure summary,.achievement-group summary{min-height:48px}
.notification,.scenario-btn,.row-link,.class-row,.m-person,.m-class,.partner-btn,.r-person,.rs-person{min-height:52px}
.footnote,.form-note,.source-note,.m-warning{font-size:11px;line-height:1.55}
.toast{max-width:calc(100vw - 28px);bottom:calc(86px + env(safe-area-inset-bottom));border-radius:12px;font-size:12px}
@media(max-width:359px){
 :root{--pad:16px}
 .screen-heading h1,.r-heading h1,.m-intro>h1{font-size:23px}
 .v-two-actions .btn{font-size:11px;padding-inline:8px}
 .rs-scope .rs-tabs .chip{font-size:11px;padding-inline:10px}
 .v-form-two{grid-template-columns:minmax(0,1fr)}
 .c-alert-macro{gap:6px}
 .nav-item{font-size:8.5px;gap:4px}
 .dialog-body{padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Opção A — Essencial. Carregar depois do CSS original e de foundation.css.
   A estrutura editorial usa espaço e divisórias; conteúdos e estados são os originais. */
:root {
  --bg: #202425;
  --surface: #2a2f30;
  --text: #f4f3ee;
  --muted: #b6bebc;
  --line: #3e4646;
  --accent: #f7c83a;
  --ink: #202425;
  --hover: #32393a;
  --radius: 10px;
  --pad: 20px;
}

body { line-height: 1.5; }
.app { box-shadow: none; }
main { padding-top: 12px; }
h1 { font-size: 29px; font-weight: 650; line-height: 1.17; letter-spacing: -.7px; }
h2 { font-weight: 600; letter-spacing: -.35px; }
h3 { font-weight: 550; }
.eyebrow, .m-stage, .rs-month-index { font-size: 10px; letter-spacing: 1.1px; }
.screen-heading { margin: 2px 0 24px; }
.screen-heading p { margin-top: 9px; line-height: 1.6; }
.section, .m-section { margin-bottom: 28px; }
.section-heading, .m-head { margin-bottom: 12px; align-items: baseline; }
.section-heading h2, .m-head h2 { font-size: 18px; font-weight: 600; }
.section-heading .aside, .m-head small { font-size: 11px; white-space: normal; }
.subhead { font-size: 14px; margin: 24px 0 12px; }

/* Ações têm contornos simples e um único preenchimento de destaque. */
.btn { border-radius: 10px; padding-inline: 17px; font-size: 14px; font-weight: 600; }
.btn-primary { background: var(--accent); color: var(--ink); }
.btn-secondary { border-color: #596261; }
.btn-quiet { background: var(--surface); border: 1px solid var(--line); }
.chip, .m-small-btn, .request-btn, .scenario-btn,
.role-switch button, .r-lesson-chip { border-radius: 8px; }
.chip { font-size: 12px; padding-inline: 11px; line-height: 1.35; }
.chip.active, .chip[aria-pressed="true"] { font-weight: 600; }
.tag, .rs-scope .rs-alert-tag { border-radius: 4px; line-height: 1.4; }
.text-link, .r-inline, .m-inline-link { white-space: normal; line-height: 1.4; }
.icon-btn { border-radius: 10px; }
.profile-btn { border-color: #616967; }

/* Aluno: identidade, progresso e a próxima aula ficam em fluxo contínuo. */
.identity { margin-bottom: 22px; }
.identity h1 { font-size: 28px; font-weight: 650; }
.greeting { font-size: 13px; margin-bottom: 5px; }
.student-hero { margin-top: 4px; margin-bottom: 22px; }
.student-hero .belt-caption { line-height: 1.45; }
.progress-block { padding-bottom: 22px; }
.progress-meta { font-size: 12px; align-items: baseline; }
.progress-meta strong.progress-count { font-size: 24px; }
.progress-foot { line-height: 1.5; }
.class-action {
  padding: 20px 0;
  margin-bottom: 28px;
  background: transparent;
  border-radius: 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.class-action h2 { font-size: 23px; font-weight: 600; line-height: 1.25; }
.class-action .class-name { font-size: 14px; }
.class-action .action-info { font-size: 12px; line-height: 1.6; }
.class-action .btn { margin-top: 18px; }
.action-top { margin-bottom: 12px; }
.class-action.confirmed { border-color: #59635d; }
.inline-test { padding-top: 10px; }
.week { gap: 4px; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.day { height: 66px; border-radius: 8px; }
.day .date { font-size: 18px; font-weight: 550; }
.day.selected { background: var(--surface); border-color: #6c7673; }
.week-caption { margin-top: 11px; }

/* Linhas com ritmo comum evitam o efeito de cartões repetidos. */
.class-row, .row-link, .rank-row, .ledger-row, .partner,
.notification, .person-row, .merit-row, .m-person, .m-attendee,
.m-task + .m-task, .m-class, .m-alert, .m-pair, .r-lesson,
.r-person, .r-group-result, .rs-scope .rs-row, .rs-invites .rs-invite {
  border-color: var(--line);
}
.class-row, .row-link { padding-block: 16px; }
.class-row { gap: 13px; }
.class-row .class-copy strong, .row-link strong,
.rank-copy strong, .merit-copy strong { font-weight: 550; }
.class-row .class-copy p, .row-link small { font-size: 12px; line-height: 1.45; }
.row-link > .icon:first-child { color: var(--muted); }
.rank-copy, .partner-copy, .ledger-row > div { min-width: 0; }
.rank-copy strong, .ledger-row strong { overflow-wrap: anywhere; }
.rank-row { padding-block: 14px; }
.rank-value { font-size: 22px; }
.invite { padding-block: 20px; }
.invite h3 { font-size: 20px; font-weight: 550; }
.invite p { line-height: 1.6; }
.invite-bottom { margin-top: 12px; }
.mural-merit { margin-top: 26px; padding-top: 22px; }
.merit-heading h3 { font-size: 18px; font-weight: 550; }
.merit-copy > span, .rank-copy span { font-size: 11px; line-height: 1.5; }

/* Jornada, carteira e credencial conservam o destaque de cada dado. */
.stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding-block: 20px; }
.stat + .stat { padding-left: 16px; }
.stat .number { font-size: 36px; font-weight: 550; }
.stat .label { line-height: 1.45; }
.wallet { padding: 30px 0 40px; }
.wallet .balance { font-size: 80px; font-weight: 550; letter-spacing: -4px; }
.wallet .text-link { margin-top: 30px; }
.wallet-partners { padding-top: 22px; }
.credential {
  padding: 21px 0;
  background: transparent;
  border-radius: 0;
  border: 0;
  border-block: 1px solid var(--line);
}
.credential-header h2 { font-size: 22px; font-weight: 600; }
.credential-header p { line-height: 1.5; }
.partner-logo { border-radius: 8px; }
.partner-copy h3 { font-size: 15px; font-weight: 550; }
.trophy-summary { padding-block: 20px; }
.trophy-summary .number { font-weight: 550; }
.achievement-group summary { padding-block: 17px; font-weight: 550; }
.achievement-row { gap: 10px; padding-block: 13px; }
.achievement-row .achievement-name { font-size: 13px; line-height: 1.4; }
.achievement-row small { font-size: 11px; line-height: 1.5; }
.timeline-item h3 { font-weight: 550; }
.privacy-toggle { border-radius: 0; border-inline: 0; padding: 16px 0; }

/* Manager: indicadores editoriais, busca clara e listas abertas. */
.m-intro { margin-bottom: 24px; padding-top: 4px; }
.m-intro > h1 { font-size: 29px; font-weight: 650; margin-bottom: 8px; }
.m-intro > .eyebrow { margin-bottom: 8px; }
.m-date { font-size: 12px; }
.m-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.m-kpi { min-width: 0; min-height: 111px; padding: 18px 14px 18px 0; background: transparent; }
.m-kpi:nth-child(even) { padding-left: 16px; }
.m-kpi .m-number, .v-kpis .m-number { font-size: 34px; font-weight: 550; letter-spacing: -.8px; }
.m-kpi strong, .v-kpis .m-kpi strong { font-size: 12px; font-weight: 550; line-height: 1.5; }
.m-kpi small, .v-kpis .m-kpi small { font-size: 11px; line-height: 1.5; max-width: none; }
.v-kpis .m-kpi { min-height: 130px; }
.m-count { border-radius: 5px; background: transparent; }
.m-task { padding-block: 15px; }
.m-task strong { font-size: 14px; font-weight: 550; line-height: 1.4; }
.m-task small { font-size: 11px; line-height: 1.45; }
.m-class { gap: 12px; padding-block: 17px; }
.m-class-copy strong { font-size: 14px; font-weight: 550; }
.m-class-copy p, .m-class-copy .m-theme { font-size: 12px; }
.m-search { border-radius: 10px; margin-bottom: 16px; background: var(--surface); }
.m-filter { gap: 7px; margin-bottom: 18px; }
.m-filter .chip { font-size: 11px; }
.m-person { padding-block: 16px; }
.m-person-copy strong { font-size: 14px; font-weight: 550; }
.m-person-copy small, .m-person-state { font-size: 11px; line-height: 1.4; }
.m-profile h1 { font-size: 26px; font-weight: 650; line-height: 1.25; }
.m-pair { gap: 14px; line-height: 1.5; }
.m-pair > span, .m-pair > strong { min-width: 0; }
.m-pair strong { font-weight: 550; }
.m-small-btn { font-size: 12px; padding-inline: 13px; }
.m-effects { background: transparent; border-radius: 0; border-inline: 0; padding: 0; }
.m-topic { border-radius: 0; border-inline: 0; padding: 18px 0; margin-bottom: 18px; }
.m-topic p, .m-block p { line-height: 1.65; }
.m-alert-top strong, .m-attendee strong { font-weight: 550; }
.m-alert-top small, .m-attendee small { font-size: 11px; }
.m-chart-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.m-chart-summary strong { font-size: 25px; font-weight: 550; }
.m-report-bar { grid-template-columns: 22px minmax(0, 1fr) 26px; }
.m-stat-big { font-weight: 550; }
.m-audit dt { font-size: 10px; }
.m-audit dd { line-height: 1.5; }
.v-tools .row-link { padding-block: 17px; }
.v-event-card { padding-block: 21px; }
.v-event-card h2 { font-size: 22px; font-weight: 600; }
.v-event-title { font-weight: 650; font-size: 29px; }
.v-event-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-block: 18px; }
.v-event-stats strong { font-weight: 550; }
.v-event-stats span { font-size: 11px; line-height: 1.45; }
.v-callout { background: transparent; padding: 12px 0 12px 13px; border-left-width: 2px; }
.v-choice { border-radius: 8px; }
.v-participant-title strong { font-weight: 550; font-size: 14px; }
.v-participant-title small { font-size: 11px; line-height: 1.5; }
.c-care-summary { margin-top: 24px; padding-block: 22px; }
.c-care-total { gap: 13px; }
.c-care-total > strong { font-weight: 550; }
.c-care-total > small { font-size: 11px; }
.c-alert-macro { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-block: 1px solid var(--line); }
.c-alert-card { border: 0; border-radius: 0; padding: 15px 10px; background: transparent; min-height: 148px; gap: 10px; }
.c-alert-card + .c-alert-card { border-left: 1px solid var(--line); }
.c-alert-card > .c-number { font-size: 29px; font-weight: 550; }
.c-alert-card > small { font-size: 11px; }
.c-alert-card.active { background: var(--accent); color: var(--ink); }
.c-alert-card.active > .icon, .c-alert-card.active > small { color: var(--ink); }
.c-kind-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.c-kind-options span { border-radius: 8px; }
.c-frequency { padding-block: 22px; }
.c-week-chart { gap: 6px; }

/* Relatórios e pesquisas: métricas abertas, seleção evidente, formulários leves. */
#reportsPanel { --r-border: var(--line); }
.r-heading h1 { font-size: 29px; font-weight: 650; }
.r-heading > p:last-child { font-size: 13px; line-height: 1.6; }
.r-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 !important; }
.r-tabs button { border-radius: 0; padding-inline: 10px !important; }
#reportsPanel .r-tabs button[aria-pressed="true"] { background: transparent; color: var(--text); }
.r-tabs button[aria-pressed="true"]::after { left: 10px; right: 10px; background: var(--accent); }
.r-filters { border-radius: 0; border-inline: 0; background: transparent; }
.r-filters summary { padding-inline: 0; }
.r-filter-body { padding-inline: 0; }
.r-select { border-radius: 8px; text-overflow: clip; }
.r-public { border-radius: 0; background: transparent; padding: 14px 0; border-block: 1px solid var(--line); }
.r-lesson-chip { max-width: 200px; }
.r-lesson-chip > strong { white-space: normal; line-height: 1.4; }
.r-section, .r-mini-section { padding-block: 22px; }
.r-score-section h2, .r-mini-section h2 { font-weight: 600; }
.r-average > strong { font-weight: 550; }
.r-positive > strong, .r-stats strong { font-weight: 550; }
.r-stats span { font-size: 11px; max-width: none; }
.r-section-head h2 { font-weight: 600; }
.r-section-head > span { white-space: normal; }
.r-teaser strong, .r-lesson > div > strong, .r-person-main > strong, .r-group-result strong { font-weight: 550; }
.r-teaser em, .r-lesson small, .r-person-main > small { font-size: 11px; line-height: 1.4; }
.r-person.r-low { background: transparent; }
.r-comment-empty { background: transparent; border-left: 1px solid var(--line); padding-left: 13px; }
.r-empty, .rs-scope .rs-empty { background: transparent; border-radius: 0; border-inline: 0; padding: 22px 0; }
.rs-scope legend { font-weight: 550; font-size: 17px; }
.rs-scope fieldset { margin-bottom: 27px; }
.rs-scope .rs-rating span { background: transparent; border-radius: 8px; font-weight: 550; }
.rs-scope .rs-chip span { border-radius: 8px; font-size: 12px; }
.rs-scope .rs-comment { border-radius: 0; background: transparent; border-inline: 0; padding: 13px 0; }
.rs-scope .rs-tags button { border-radius: 6px; }
.rs-scope .rs-status { background: transparent; padding: 10px 0 10px 12px; border-radius: 0; }
.rs-scope .rs-question-block { padding-block: 22px; }
.rs-scope .rs-panel-title { font-size: 20px; font-weight: 600; }
.rs-scope .rs-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
.rs-scope .rs-kpi strong { font-weight: 550; font-size: 33px; }
.rs-scope .rs-kpi span { line-height: 1.45; }
.rs-scope .rs-row { padding-block: 15px; }
.rs-scope .rs-row strong, .rs-invites .rs-invite-main strong { font-weight: 550; }
.rs-scope .rs-alert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-block: 1px solid var(--line); }
.rs-scope .rs-alert-card { background: transparent; border: 0; border-radius: 0; min-height: 108px; padding: 16px 12px; }
.rs-scope .rs-alert-card:nth-child(even) { border-left: 1px solid var(--line); }
.rs-scope .rs-alert-card:nth-child(n+3) { border-top: 1px solid var(--line); }
.rs-scope .rs-alert-card strong { font-weight: 550; font-size: 28px; }
.rs-scope .rs-alert-card[aria-pressed="true"] { background: var(--accent); color: var(--ink); }
.rs-scope .rs-alert-item { padding: 12px 0 12px 12px; background: transparent; }
.rs-scope .rs-dist { grid-template-columns: 20px minmax(0, 1fr) 38px; }
.rs-scope .rs-inline-title { font-weight: 550; }
.rs-scope .rs-actions .btn { font-size: 13px; }
.rs-scope .rs-choice-list { gap: 8px; }
.rs-invites .rs-invite { padding-block: 15px; }
.rs-invites .rs-invite-main small { font-size: 12px; line-height: 1.4; }

/* Modais permanecem folhas inferiores, com o mesmo ritmo das telas. */
dialog { background: var(--bg); box-shadow: none; }
.dialog-head { background: var(--bg); border-color: var(--line); }
.dialog-head h2 { font-size: 18px; font-weight: 600; }
.dialog-body { padding-top: 20px; }
.dialog-body .lead { font-size: 22px; font-weight: 550; }
.dialog-body h3 { font-size: 16px; font-weight: 600; }
.dialog-body .class-action { margin-top: 18px; }
.text-input, .text-area, select { border-radius: 8px; background: var(--surface); }
.text-area, .text-input { padding: 12px; }
.rating span, .choice span { border-radius: 8px; }
.choice span { line-height: 1.4; }
.scenario-btn { background: transparent; padding-block: 14px; }
.scenario-btn.selected { background: var(--accent); }
.message-preview { border-radius: 0; border-inline: 0; background: transparent; padding: 16px 0; }
.detail-row { gap: 14px; line-height: 1.5; }
.detail-row dt, .detail-row dd { min-width: 0; }
.detail-row dd { overflow-wrap: anywhere; }
.notice { padding-left: 12px; }
.empty-state { padding: 25px 0; }

/* As grades permanecem contidas na largura do celular. */
.month-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.two-buttons, .v-two-actions, .v-choices-inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v-form-two { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.stats > *, .m-kpis > *, .m-chart-summary > *, .v-event-stats > *,
.rs-scope .rs-kpis > *, .rs-scope .rs-alert-grid > *, .two-buttons > *,
.v-two-actions > *, .v-form-two > *, .v-choices-inline > * { min-width: 0; }

/* Navegação discreta e inteiramente monocromática. */
.bottom-nav { background: #1b1f20; border-top-color: var(--line); padding-top: 8px; }
.bottom-nav .nav-item { color: var(--muted); gap: 5px; }
.bottom-nav .nav-item.active { color: var(--text) !important; }
.bottom-nav .nav-item .icon { color: inherit; stroke-width: 1.65; }
.bottom-nav .nav-item.active .icon { color: var(--text) !important; stroke-width: 2; }
.nav-item.active::before { background: var(--text); width: 18px; top: -9px; border-radius: 0; }

@media (min-width: 600px) {
  body { background: #171b1c; }
  .app, .bottom-nav { border-inline-color: #353c3c; }
}

@media (max-width: 359px) {
  :root { --pad: 16px; }
  .identity h1 { font-size: 25px; }
  .m-intro > h1, .r-heading h1 { font-size: 27px; }
  .class-action h2 { font-size: 22px; }
  .class-action { padding-block: 18px; }
  .week { gap: 3px; }
  .day { height: 64px; }
  .stats { gap: 12px; }
  .stat + .stat { padding-left: 12px; }
  .m-kpi, .v-kpis .m-kpi { padding: 16px 12px 16px 0; }
  .m-kpi:nth-child(even), .v-kpis .m-kpi:nth-child(even) { padding-left: 12px; }
  .m-kpi .m-number, .v-kpis .m-number { font-size: 31px; }
  .m-person { gap: 9px; }
  .m-person-state { font-size: 10px; }
  .c-alert-card { padding: 14px 8px; min-height: 154px; }
  .c-alert-card > span, .c-alert-card > small { font-size: 11px; }
  .c-care-total { flex-wrap: wrap; gap: 10px 12px; }
  .c-care-total > small { flex: 1 1 100%; text-align: left; margin-left: 0; }
  .v-form-two { grid-template-columns: minmax(0, 1fr); }
  .v-event-stats { gap: 9px; }
  .v-event-stats span { font-size: 10px; }
  .rs-scope .rs-kpis { gap: 16px 12px; }
  .rs-scope .rs-kpi strong { font-size: 30px; }
  .invite-bottom { flex-wrap: wrap; }
}

/* Estudos de composição. Reutilizam a versão A e todos os dados da v0.8.2. */
:root{--pad:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.topbar{height:64px;padding:10px var(--pad);background:#171b1c;border-bottom:0}
.brand-logo{width:108px;height:32px;object-fit:contain;object-position:left center}
.top-actions{gap:6px}.topbar .icon-btn{color:#f4f3ee}.topbar .profile-btn{border-color:#596362}
.role-switch{margin:0;padding:0 var(--pad);gap:0;min-height:48px;background:#171b1c;border-bottom:1px solid #3e4646}
.role-switch .role-caption{color:#b6bebc;margin-right:auto}.role-switch button{border-radius:0;min-height:46px;padding:10px 16px;color:#b6bebc;border:0;border-bottom:2px solid transparent}
.role-switch button[aria-pressed=true]{background:transparent;color:#f4f3ee;border-bottom-color:#f4f3ee}
.demo-bar{min-height:32px;margin:0;background:transparent;border-bottom:0;padding:0 var(--pad);gap:4px}.demo-label{letter-spacing:.4px;font-size:8px}.demo-controls{font-size:10px;min-height:32px}
main{padding-top:16px}.native-hero{min-width:0}.native-hero .m-intro{display:block}.native-hero .m-intro>h1{display:block}
.native-hero .student-hero{display:flex;align-items:center;justify-content:space-between;gap:12px}.native-hero .student-hero-text{min-width:0}
.native-hero .progress-block{margin:0}.native-hero .progress-foot{line-height:1.5}
.native-results,.native-pending{min-width:0}.native-results .m-head{gap:12px}
.btn,.m-small-btn,.chip,.back-link{min-height:44px}
.v-two-actions+.m-search{margin-top:18px}
.m-person-copy,.m-class-copy,.rs-person-main,.r-person-main{min-width:0}
.m-person-copy strong,.m-class-copy strong,.row-link strong{overflow-wrap:anywhere}
dialog{max-width:430px;border-radius:20px 20px 0 0}
.bottom-nav{left:50%;transform:translateX(-50%);width:100%;max-width:430px;border-radius:0;margin:0;bottom:0}
.bottom-nav .nav-item{border-radius:0;min-height:52px}.bottom-nav .nav-item .icon{color:inherit;stroke-width:1.8}
.rs-scope .rs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-scope .rs-kpi{min-width:0}
.rs-scope:has(.rs-tabs [data-value="mensal"][aria-pressed="true"]) .rs-kpi:nth-child(4)>strong{font-size:20px;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:359px){:root{--pad:16px}.role-switch button{padding-inline:13px}.brand-logo{width:98px;height:29px}.native-hero .student-hero{gap:10px}.v-form-two{grid-template-columns:minmax(0,1fr)}}

/* Claro — list and settings composition. Loaded after the shared mobile styles. */
:root {
  --bg: #eff2f1;
  --surface: #ffffff;
  --text: #272d2e;
  --muted: #596364;
  --line: #d4dad8;
  --accent: #f7c83a;
  --ink: #252b2c;
  --hover: #e5eae8;
  --positive: #354143;
  --negative: #434748;
  --radius: 14px;
  --pad: 20px;
  --r-border: #d4dad8;
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

html { background: #dce2df; }
body { background: #dce2df; color: var(--text); font-size: 15px; line-height: 1.5; }
.app { width: 100%; max-width: 430px; background: var(--bg); box-shadow: none; border-color: #c6ceca; }
main { background: var(--bg); padding: 26px var(--pad) 116px; }
button, input, select, textarea { font-family: inherit; }
button:hover:not(:disabled) { filter: none; }
button:disabled { opacity: 1; color: #656e6f; background: #e5e9e7; border-color: #cdd4d1; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid #3e4748;
  outline-offset: 3px;
}
h1 { font-size: 30px; font-weight: 600; letter-spacing: -.8px; line-height: 1.16; }
h2 { font-size: 20px; font-weight: 600; letter-spacing: -.35px; line-height: 1.35; }
h3 { font-size: 17px; font-weight: 600; line-height: 1.4; }
small { font-size: 13px; }
.eyebrow, .m-stage, .chapter-label { font-size: 12px; letter-spacing: .5px; color: var(--muted); }
.icon { stroke-width: 1.65; }

/* The true white wordmark stays on graphite. */
.topbar {
  --text: #ffffff;
  --muted: #c7cecb;
  --line: #545e5c;
  height: 64px;
  padding: 10px var(--pad);
  background: #2c3031;
  color: #ffffff;
  border-bottom: 0;
}
.topbar .brand-logo { width: 108px; height: 32px; object-fit: contain; object-position: left center; }
.top-actions { gap: 6px; }
.topbar .icon-btn, .topbar .profile-btn { width: 44px; height: 44px; }
.topbar .icon-btn:hover { background: #404748; }
.topbar .profile-btn { border-color: #68716f; }
.topbar .avatar { background: #505958; color: #ffffff; }
.notice-dot { background: #ffffff; }
.demo-bar { background: #f8f9f8; color: var(--text); border-color: var(--line); padding: 0 var(--pad); min-height: 44px; }
.demo-label { color: var(--muted); font-size: 11px; letter-spacing: .6px; }
.demo-controls { color: var(--text); font-size: 12px; min-height: 44px; padding: 8px 0; }
.role-switch { background: #ffffff; padding: 8px var(--pad); margin: 0; border-color: var(--line); gap: 6px; }
.role-switch .role-caption { color: var(--muted); font-size: 12px; }
.role-switch button { min-height: 44px; padding: 10px 16px; font-size: 14px; border-radius: 8px; color: var(--muted); }
.role-switch button[aria-pressed="true"] { background: #e5eae8; color: var(--text); border-color: #e5eae8; }

/* One generous, clear introduction, followed by grouped white lists. */
.native-hero {
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  margin: -26px calc(-1 * var(--pad)) 24px;
  padding: 27px var(--pad) 24px;
  color: var(--text);
}
.native-hero .identity { margin: 0 0 23px; }
.student-hero { align-items: center; justify-content: space-between; gap: 18px; }
.student-hero-text { min-width: 0; }
.identity h1, .m-intro h1 { font-size: 30px; font-weight: 600; letter-spacing: -.7px; }
.greeting { color: var(--muted); font-size: 14px; margin-bottom: 6px; }
.avatar { color: #394243; background: #e1e7e3; }
.student-hero .hero-photo { width: 98px; height: 98px; flex: 0 0 98px; border: 1px solid #cbd3cf; background: #e1e7e3; color: #394243; }
.student-hero .belt-caption { font-size: 14px; line-height: 1.45; color: var(--muted); gap: 8px; margin-top: 12px; }
.belt i { background: #ffffff; }
.native-hero .progress-block { margin: 0; padding: 0; }
.progress-meta { font-size: 14px; gap: 12px; align-items: baseline; }
.progress-meta > span:first-child { color: var(--muted); max-width: 63%; line-height: 1.45; }
.progress-meta strong.progress-count { color: var(--text); font-size: 26px; font-weight: 600; }
.progress-count small { font-size: 13px; color: var(--muted); }
.progress-track { height: 6px; background: #dbe1dd; border-radius: 3px; margin: 14px 0 10px; }
.progress-fill { background: #f7c83a; border-radius: 3px; }
.progress-track.progress-track-segmented { height: 14px; gap: 1px; margin: 14px 0 8px; }
.progress-segment { height: 14px; background: #dbe1dd; border-radius: 0; }
.progress-segment.filled { background: #f7c83a; }
.progress-foot { font-size: 13px; align-items: center; color: var(--muted); }
.progress-foot .text-link { font-size: 13px; min-height: 44px; color: var(--text); }
.native-hero .m-intro { margin: 0 0 21px; padding-top: 0; }
.m-intro > .eyebrow { margin-bottom: 8px; }
.m-intro > h1 { margin-bottom: 9px; }
.m-date { font-size: 13px; line-height: 1.55; color: var(--muted); }
.native-hero .m-home-create { margin: 0; }
.v-two-actions, .two-buttons { gap: 10px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.v-two-actions .btn, .two-buttons .btn { padding: 12px 10px; font-size: 14px; min-height: 50px; }
.native-home-manager .m-section,
.native-home-student > .section,
.native-home-student > .rs-invites {
  background: #ffffff;
  border: 1px solid #e0e5e2;
  border-radius: 14px;
  padding: 18px;
  margin: 0 0 22px;
  box-shadow: none;
}
.native-home-student > .class-action { background: #ffffff; }
.m-head, .section-heading { flex-wrap: wrap; gap: 8px 12px; align-items: baseline; margin-bottom: 15px; }
.m-head h2, .section-heading h2 { font-size: 18px; font-weight: 600; }
.m-head small, .section-heading .aside { font-size: 12px; color: var(--muted); white-space: normal; }
.native-home-manager .v-pending .row-link { padding: 17px 0; border-color: var(--line); }
.native-home-manager .m-class { padding: 18px 0; }
.native-home-manager .m-kpis { margin: 0; border: 0; }
.native-home-manager .m-kpi { padding: 20px 12px 20px 0; min-height: 150px; }
.native-home-manager .m-kpi:nth-child(even) { padding-left: 18px; }
.native-home-manager .m-kpi:nth-child(n+3) { border-top: 1px solid var(--line); }
.native-home-manager .m-kpi .m-number { font-size: 37px; font-weight: 500; color: var(--text); }
.native-home-manager .m-kpi strong { font-size: 14px; font-weight: 500; }
.native-home-manager .m-kpi small { font-size: 12px; max-width: none; line-height: 1.5; }
.native-home-manager .v-inline-actions { border-top: 1px solid var(--line); margin-top: 0; padding-top: 13px; }
.native-home-manager .m-section > .row-link:last-child { margin-top: 12px; border-bottom: 0; border-top: 1px solid var(--line); padding: 17px 0 0; }

/* Controls retain their labels and touch area. */
.btn { border-radius: 10px; min-height: 50px; padding: 13px 18px; font-size: 15px; font-weight: 600; box-shadow: none; }
.btn-primary { background: var(--accent); color: var(--ink); border: 1px solid var(--accent); }
.btn-secondary { background: #ffffff; color: var(--text); border: 1px solid #bdc7c2; }
.btn-quiet { background: #e7ece9; color: var(--text); }
.text-link { color: var(--text); min-height: 44px; font-size: 14px; line-height: 1.45; white-space: normal; text-align: left; }
.back-link { min-height: 44px; font-size: 14px; padding: 8px 0; color: var(--muted); margin-bottom: 18px; }
.m-small-btn, .request-btn, .m-inline-link, .r-inline, .r-clear-filters, .inline-test { min-height: 44px; font-size: 13px; line-height: 1.4; }
.m-small-btn, .request-btn { border-color: #bdc7c2; border-radius: 8px; padding: 10px 12px; color: var(--text); background: #ffffff; white-space: normal; }
.inline-test { padding-top: 12px; color: var(--muted); }
.chip, .m-filter .chip, .m-periods .chip, .v-chips .chip, .r-periods .chip,
#reportsPanel .r-choice-buttons .chip, #reportsPanel .r-periods .chip,
.rs-scope .rs-tabs .chip {
  min-height: 44px;
  padding: 10px 13px;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 8px;
  border-color: #c6ceca;
  background: #ffffff;
  color: var(--muted);
  white-space: normal;
}
.chip.active, .chip[aria-pressed="true"], #reportsPanel .chip[aria-pressed="true"],
#reportsPanel .r-choice-buttons .chip[aria-pressed="true"], #reportsPanel .r-lesson-chip[aria-pressed="true"] {
  background: var(--accent); border-color: var(--accent); color: var(--ink);
}
.chips, .m-filter, .m-periods, .r-periods, .c-categories, .v-chips { gap: 8px; }
.tag, .c-alert-tags .tag, .rs-scope .rs-alert-tag { background: #edf1ee; color: #485253; border: 1px solid #d4dcd7; border-radius: 5px; padding: 5px 7px; font-size: 12px; line-height: 1.45; }

/* Common rows become cohesive white lists; hardcoded dark dividers are replaced. */
.row-link, .m-person, .m-task, .m-class, .class-row, .m-attendee, .person-row,
.rank-row, .merit-row, .ledger-row, .notification, .v-history, .v-participant,
.v-event-card, .r-lesson, .r-person, .r-group-result, .r-teaser, .rs-scope .rs-row,
.partner, .m-contact, .m-pair, .detail-row, .achievement-row {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
}
.row-link, .m-person, .m-task, .class-row, .m-attendee, .person-row,
.rank-row, .merit-row, .ledger-row, .notification, .v-participant,
.v-event-card, .r-lesson, .r-person, .r-group-result, .r-teaser, .rs-scope .rs-row { padding: 18px 14px; min-height: 68px; }
.row-link strong, .class-row .class-copy strong, .m-class-copy strong, .m-task strong,
.m-person-copy strong, .rank-copy strong, .merit-copy strong, .ledger-row strong,
.r-person-main > strong, .r-lesson > div > strong, .r-group-result strong, .rs-scope .rs-row strong {
  font-size: 15px; font-weight: 500; line-height: 1.45;
}
.row-link small, .m-task small, .m-person-copy small, .m-person-state, .class-row .class-copy p,
.m-class-copy p, .m-class-copy .m-theme, .m-time small, .class-row .time small,
.rank-copy span, .rank-value small, .merit-copy > span, .merit-value small,
.ledger-row p, .r-person-main > small, .r-person-main > span, .r-lesson small,
.r-lesson > div > span, .r-group-result small, .rs-scope .rs-row small {
  font-size: 13px; color: var(--muted); line-height: 1.5;
}
.m-class { padding: 18px 14px; grid-template-columns: 52px minmax(0, 1fr) 16px; }
.m-time, .class-row .time { font-size: 16px; color: var(--text); }
.rank-value, .merit-number { color: var(--text); }
.rank-row .avatar, .merit-row .avatar { background: #e1e7e3; }
.rank-copy, .merit-copy, .row-link > span, .m-attendee > div, .ledger-row > div { min-width: 0; overflow-wrap: anywhere; }
.m-count { border-color: #ccd5d0; background: #e9eeeb; color: #394143; border-radius: 6px; width: 28px; height: 28px; font-size: 13px; }
.m-pair, .detail-row { font-size: 14px; gap: 16px; padding: 15px 12px; }
.m-pair span, .detail-row dt { color: var(--muted); }
.m-pair strong, .detail-row dd { color: var(--text); min-width: 0; overflow-wrap: anywhere; }
.m-profile h1 { font-size: 27px; }
.m-profile p { font-size: 14px; }
.m-profile { padding: 12px 0; }
.screen-heading, .r-heading { margin-bottom: 25px; }
.screen-heading h1, .r-heading h1, .r-profile-head h3, .v-event-title { font-size: 30px; font-weight: 600; }
.screen-heading p, .r-heading > p:last-child, .r-profile-head p, .v-subtitle { font-size: 14px; color: var(--muted); line-height: 1.6; }
.v-tools { background: #ffffff; border: 1px solid #e0e5e2; border-radius: 14px; padding: 16px; margin: 20px 0 24px; }
.v-tools > .eyebrow { padding: 0 0 11px; }
.v-tools .row-link { padding: 18px 0; }
.v-tools .row-link:last-child { border-bottom: 0; }
.m-topic, .m-effects, .message-preview, .r-filters, .r-public, .r-comment-empty,
.privacy-toggle, .v-callout, .c-alert-card, .credential, .scenario-btn,
.r-empty, .rs-scope .rs-comment, .rs-scope .rs-empty { background: #ffffff; color: var(--text); border-color: var(--line); box-shadow: none; }
.m-block, .m-alert, .m-audit, .m-pending, .invite, .m-warning, .m-score-table th,
.m-score-table td, .merit-row, .rank-row, .achievement-row { border-color: var(--line); }
.m-alert, .m-audit, .m-block { background: #ffffff; padding: 19px 14px; }
.m-alert-top strong, .m-block h3, .m-audit h3 { font-size: 16px; }
.m-alert-top small, .m-alert-label, .m-alert-reason, .m-block p, .m-audit p, .m-audit dl, .m-audit dd { font-size: 14px; line-height: 1.55; }
.m-audit dt { font-size: 12px; }
.m-alert-label:before { background: #4f5859; }
.footnote, .form-note, .notice, .graduation-note, .wallet-partners-intro,
.merit-intro, .merit-scope, .merit-bottom p, .m-warning, .r-note, .r-range,
.r-list-caption, .r-filter-context, .r-filter-help, .v-demo-note {
  color: var(--muted); font-size: 13px; line-height: 1.6;
}
.source-note { font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 30px; }

/* Student attendance, journey, wallet and recognition. */
.class-action { background: #ffffff; border: 1px solid #cdd5d0; padding: 22px; border-radius: 14px; margin-bottom: 22px; }
.class-action h2 { font-size: 25px; font-weight: 600; }
.class-action .class-name { font-size: 15px; }
.class-action .action-info { font-size: 14px; line-height: 1.55; color: var(--muted); }
.class-action.confirmed { border-color: #9faea5; }
.week { gap: 4px; }
.day { min-height: 68px; height: auto; padding: 10px 2px; border-radius: 8px; color: var(--text); }
.day .dow { font-size: 11px; color: var(--muted); }
.day .date { font-size: 18px; font-weight: 500; }
.day.selected { background: #e8eeea; border-color: #9aa99f; }
.day .day-dot, .day .day-dot.done { background: #4b5354; }
.week-caption { font-size: 12px; color: var(--muted); }
.benefits-shortcut { border: 1px solid #e0e5e2; border-radius: 14px; padding: 18px; }
.invite { border-color: var(--line); }
.invite h3 { font-size: 21px; }
.invite p, .invite-bottom span { font-size: 14px; color: var(--muted); }
.invite-bottom { flex-wrap: wrap; gap: 8px; }
.journey-graduation { padding: 22px 18px; background: #ffffff; border: 1px solid #e0e5e2; border-radius: 14px; margin-bottom: 26px; }
.journey-graduation .identity { gap: 14px; }
.journey-graduation h2 { font-size: 20px; }
.journey-graduation .progress-block { padding-bottom: 14px; }
.journey-graduation .graduation-note { margin-bottom: 0; }
.stats, .trophy-summary, .v-event-stats { padding: 23px 18px; background: #ffffff; border-color: var(--line); border-radius: 12px; }
.stat .label, .trophy-summary p, .trophy-summary .caption, .v-event-stats span { font-size: 13px; }
.month-grid { gap: 5px; }
.month-day { min-height: 44px; font-size: 14px; border-radius: 8px; background: #ffffff; }
.month-day.header { min-height: 30px; font-size: 12px; background: transparent; }
.month-day.attended { background: #3e4546; color: #ffffff; }
.month-day.today:not(.attended) { border: 1px solid #7d8687; }
.wallet { background: #ffffff; padding: 35px 18px 32px; margin: 0 0 24px; border: 1px solid #e0e5e2; border-radius: 14px; }
.wallet .wallet-unit { font-size: 15px; color: var(--muted); }
.wallet .balance { font-size: 80px; font-weight: 500; color: var(--text); letter-spacing: -3px; }
.wallet .text-link { margin-top: 23px; font-size: 14px; }
.wallet-partners { padding-top: 24px; }
.partner { padding: 20px 14px; }
.partner-copy h3 { font-size: 16px; }
.partner-copy p, .partner-offer { font-size: 14px; }
.partner-logo { background: #edf2ee; color: #586264; border-color: #d4dcd7; }
.achievement-group { background: #ffffff; border-color: var(--line); padding: 0 14px; }
.achievement-group summary { min-height: 56px; font-size: 16px; }
.achievement-group summary small { font-size: 13px; }
.achievement-row .achievement-name { font-size: 14px; }
.achievement-row small, .achievement-progress { font-size: 13px; }
.achievement-row .locked { color: #7b8384; }
.achievement-row .bronze { color: #666c6d; }
.achievement-row .silver { color: #6b7475; }
.achievement-row .earned { color: #333b3c; }
.timeline-item { border-color: #bbc8c0; }
.timeline-item:before { background: #4a5658; }
.timeline-item h3 { font-size: 17px; }
.timeline-item p, .privacy-toggle, .privacy-toggle small { font-size: 14px; }
.merit-heading > .icon, .merit-number { color: #434d4f; }
.merit-scope > span, .merit-empty span { font-size: 13px; }
.merit-bottom .text-link { font-size: 14px; }
.merit-heading h3 { font-size: 18px; }

/* Light bottom sheets and input states. */
dialog { width: min(100%, 430px); max-height: 92dvh; margin: auto auto 0; background: #fcfdfc; color: var(--text); border-color: #d4dcd7; border-bottom: 0; border-radius: 20px 20px 0 0; }
dialog::backdrop { background: rgba(25, 32, 29, .52); }
.dialog-head { background: #fcfdfc; border-color: var(--line); padding: 12px var(--pad); }
.dialog-head h2 { color: var(--text); font-size: 21px; font-weight: 600; }
.dialog-head .icon-btn { width: 44px; height: 44px; color: var(--text); }
.dialog-body { padding: 24px var(--pad) calc(28px + env(safe-area-inset-bottom)); }
.dialog-body p { font-size: 14px; line-height: 1.6; color: var(--muted); }
.dialog-body .lead { color: var(--text); font-size: 22px; }
.dialog-body h3 { font-size: 18px; }
.dialog-body .btn { min-height: 50px; }
.dialog-body .credential-header h2 { color: var(--text); }
.credential { padding: 22px; }
.credential-header p, .credential-status { font-size: 14px; }
.m-form-row label, .m-form-label, .field-label, .r-select-label, .v-fieldset legend { font-size: 14px; color: var(--muted); margin-bottom: 8px; }
input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]), select, textarea {
  font-size: 15px; min-height: 48px; background: #ffffff; color: var(--text); border-color: #b8c5bc; border-radius: 9px;
}
.text-input, .text-area, select { padding: 13px 12px; }
.text-area, textarea { min-height: 100px; line-height: 1.55; }
.text-area::placeholder, input::placeholder, textarea::placeholder { color: #6d7678; opacity: 1; }
input[type="checkbox"], input[type="radio"] { accent-color: #485152; }
.m-search { background: #ffffff; border-color: #b8c5bc; border-radius: 10px; min-height: 50px; }
.m-search input { background: transparent; border: 0; color: var(--text); border-radius: 0; font-size: 15px; }
.m-search input::placeholder { color: var(--muted); }
.m-check, .v-choice, .v-event-checks, .offer-option { font-size: 14px; line-height: 1.55; }
.v-choice { min-height: 50px; background: #ffffff; border-color: #c5d0c8; border-radius: 9px; }
.v-choice:has(input:checked) { background: var(--accent); color: var(--ink); border-color: var(--accent); }
.v-event-checks label, .privacy-toggle { min-height: 44px; }
.offer-option small { font-size: 13px; }
.c-kind legend { font-size: 14px; }
.c-kind-options span { min-height: 56px; border-radius: 9px; font-size: 14px; background: #ffffff; border-color: #c5d0c8; color: var(--text); }
.c-kind-options input:checked + span { background: var(--accent); color: var(--ink); border-color: var(--accent); }
.survey legend { font-size: 17px; }
.field-meta, .scale-ends { font-size: 13px; }
.rating span { height: 50px; background: #ffffff; color: var(--text); border-radius: 9px; border-color: #c5d0c8; }
.rating input:checked + span, .choice input:checked + span { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.choice span { min-height: 44px; padding: 11px 13px; font-size: 14px; background: #ffffff; color: var(--text); border-color: #c5d0c8; border-radius: 9px; }
.scenario-btn { min-height: 60px; font-size: 15px; border-radius: 9px; }
.scenario-btn small { font-size: 13px; }
.scenario-btn.selected { background: var(--accent); color: var(--ink); border-color: var(--accent); }
.scenario-btn.selected small { color: var(--ink); }
.form-error, .rs-scope .rs-error, .c-danger-action { color: #923f32; font-size: 14px; }
.form-note { font-size: 13px !important; }
.toast { background: #343c3d; color: #ffffff; border-radius: 10px; padding: 15px 18px; font-size: 14px; }
.empty-state, .r-empty, .rs-scope .rs-empty { background: #ffffff; border-color: var(--line); padding: 26px 18px; }
.empty-state p, .r-empty p { font-size: 14px; }
.empty-state h3, .r-empty h3 { font-size: 19px; }
.notification strong { font-size: 16px; }
.notification p { font-size: 14px; }
.message-preview { font-size: 15px; line-height: 1.6; }
.qr-placeholder { background: #ffffff; border-color: #aebeb3; }
.qr-placeholder p { font-size: 14px; }

/* Research and reports keep the same controls with clear reading surfaces. */
#reportsPanel { --r-border: #d4dad8; }
.rs-scope { color: var(--text); }
.rs-scope .rs-sub, .rs-scope .rs-meta, .rs-scope .rs-hint, .rs-scope .rs-filter-note,
.rs-scope .rs-save, .rs-scope .rs-select-prompt, .rs-scope .rs-score-result,
.rs-scope .rs-month-index, .rs-scope .rs-privacy, .rs-scope .rs-scale-ends { font-size: 13px; color: var(--muted); line-height: 1.6; }
.rs-scope legend { font-size: 18px; font-weight: 500; line-height: 1.5; }
.rs-scope .rs-question-block { background: #ffffff; padding: 24px 14px; border-color: var(--line); }
.rs-scope .rs-rating span { min-height: 50px; border-radius: 9px; background: #ffffff; color: var(--text); border-color: #b8c5bc; font-size: 21px; }
.rs-scope .rs-scale-colors .rs-rating span { border-bottom: 1px solid #b8c5bc; }
.rs-scope .rs-rating input:checked + span, .rs-scope .rs-scale-colors .rs-rating input:checked + span { background: var(--accent); border-color: var(--accent); color: var(--ink); font-weight: 600; }
.rs-scope .rs-chip span { min-height: 46px; font-size: 14px; padding: 12px 14px; border-radius: 9px; background: #ffffff; color: var(--text); border-color: #b8c5bc; }
.rs-scope .rs-chip input:checked + span { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.rs-scope .rs-rating input:focus-visible + span, .rs-scope .rs-chip input:focus-visible + span, .c-kind-options input:focus-visible + span { outline-color: #3e4748; }
.rs-scope .rs-comment { padding: 14px; border-radius: 10px; }
.rs-scope .rs-comment label { font-size: 14px; }
.rs-scope .rs-comment textarea { font-size: 15px; color: var(--text); min-height: 100px; background: transparent; }
.rs-scope .rs-tags button { font-size: 13px; min-height: 44px; padding: 10px 12px; border-radius: 7px; }
.rs-scope .rs-actions { gap: 9px; margin: 17px 0; }
.rs-scope .rs-actions .btn { min-height: 48px; font-size: 14px; padding: 12px 16px; }
.rs-scope .rs-clear, .rs-invites .rs-test-link { font-size: 13px; min-height: 44px; padding-block: 10px; }
.rs-scope .rs-status, .rs-scope .rs-alert-item { font-size: 14px; line-height: 1.6; padding: 17px; background: #ffffff; border-left: 3px solid #f7c83a; border-radius: 0 10px 10px 0; }
.rs-scope .rs-alert-item p { font-size: 14px; }
.rs-scope .rs-alert-item small { font-size: 13px; color: var(--muted); }
.rs-scope .rs-alert-item.closed { background: #e7ede8; color: #555e60; border-color: #bdcac0; }
.rs-scope .rs-panel-title { font-size: 21px; font-weight: 600; line-height: 1.4; margin: 27px 0 14px; }
.rs-scope .rs-inline-title { font-size: 18px; }
.rs-scope .rs-kpis { background: #ffffff; border: 1px solid #e0e5e2; padding: 18px; gap: 19px 15px; border-radius: 12px; }
.rs-scope .rs-kpi strong { font-size: 34px; color: var(--text); }
.rs-scope .rs-kpi span { font-size: 14px; }
.rs-scope .rs-kpi { border-color: var(--line); }
.rs-scope .rs-alert-card { min-height: 116px; padding: 17px; background: #ffffff; color: var(--text); border: 1px solid #cbd5ce; border-radius: 10px; }
.rs-scope .rs-alert-card strong { font-size: 30px; font-weight: 500; }
.rs-scope .rs-alert-card span { font-size: 14px; line-height: 1.45; }
.rs-scope .rs-alert-card[aria-pressed="true"] { background: var(--accent); color: var(--ink); border-color: var(--accent); }
.rs-scope .rs-option-label { font-size: 14px; line-height: 1.55; }
.rs-scope .rs-dist { font-size: 14px; }
.rs-scope .rs-quote { font-size: 14px; padding: 15px; background: #ffffff; color: var(--muted); border-left: 2px solid #b9c7bd; }
.rs-scope .rs-current, .r-active-cut { color: #41494a; font-weight: 600; }
.rs-invites .rs-invite { padding: 15px 0; border-color: var(--line); }
.rs-invites .rs-invite-main { min-height: 44px; }
.rs-invites .rs-invite-main strong { font-size: 15px; font-weight: 500; }
.rs-invites .rs-invite-main small { font-size: 13px; }
.rs-scope summary, .r-disclosure summary, .r-filters summary { font-size: 14px; min-height: 48px; padding-block: 13px; }
.rs-scope details { margin: 20px 0; }
.r-tabs { border-bottom: 0; margin-bottom: 23px; }
.r-tabs button { font-size: 14px !important; background: #ffffff; color: var(--muted); border: 1px solid #c7d2c9; border-radius: 9px; min-height: 50px; padding: 13px 10px !important; }
#reportsPanel .r-tabs button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.r-tabs button[aria-pressed="true"]:after { background: #4a5354; bottom: 6px; left: 15px; right: 15px; }
.r-filter-title > span, .r-choice-field legend, .r-lesson-filter-head > span, .r-public legend, .r-filters summary small { font-size: 14px; }
.r-lesson-chip { border-color: #bdcbc1; background: #ffffff; color: var(--text); border-radius: 9px; }
.r-lesson-chip > strong { font-size: 14px; white-space: normal; }
.r-lesson-chip > small { font-size: 13px; }
.r-select { font-size: 15px; text-overflow: clip; color: var(--text); }
.r-badge, .r-section-head > span, .r-average small, .r-positive > span, .r-stats span, .r-teaser small, .r-teaser em { font-size: 13px; color: var(--muted); }
.r-average > strong { color: var(--text); font-size: 60px; }
.r-stats { padding-inline: 14px; background: #ffffff; border-color: var(--line); border-radius: 10px; }
.r-section, .r-mini-section { background: #ffffff; padding: 22px 14px; border-color: var(--line); }
.r-section-head { flex-wrap: wrap; }
.r-section-head h2, .r-mini-section h2 { font-size: 20px; }
.r-option > div:first-child, .r-mini-option > div:first-child { font-size: 14px; }
.r-option small, .r-mini-option small { font-size: 13px; }
.r-quote p, .r-lesson p, .r-person-main > em, .r-identification span, .r-intro-note { font-size: 14px; }
.r-selected strong, .r-identification strong { font-size: 15px; }
.r-selected > span, .r-selected small, .r-quote footer { font-size: 13px; }
.r-person.r-low { background: #ffffff; border-left-color: #f7c83a; padding: 18px 14px; }

/* Charts and tables use dark data ink on the light canvas. */
.chart, .m-chart, .r-chart, .rs-scope .rs-chart { background: #ffffff; border-radius: 9px; }
.chart text, .m-chart text, .r-chart text, .rs-scope .rs-chart text { fill: #5b6465; font-family: inherit; }
.chart line, .m-chart line, .r-chart line, .rs-scope .rs-chart line { stroke: #c7d1c9; }
.chart polyline, .m-chart path, .r-chart path, .rs-scope .rs-chart path { stroke: #485152; }
.chart circle, .m-chart circle, .r-chart circle, .rs-scope .rs-chart circle { fill: #485152; }
.r-bar, .rs-scope .rs-bar, .m-report-bar > i { background: #dce4de; }
.r-bar > i, .r-rating-row:first-child .r-bar > i, .r-mini-option .r-bar i,
.r-option:first-child .r-bar > i, .rs-scope .rs-bar span, .m-report-bar > i > b { background: #545d5e; }
.c-frequency, .c-care-summary { background: #ffffff; border-color: var(--line); padding: 24px 18px; border-radius: 12px; }
.c-care-total > strong { color: var(--text); font-size: 52px; }
.c-care-summary > p, .c-week-labels, .c-week > small { font-size: 13px; color: var(--muted); }
.c-care-total > small { font-size: 13px; }
.c-week-track > i { background: #c2cbcc; }
.c-week-track > .recent { background: #697273; }
.c-week-chart { gap: 7px; }
.c-recovery > strong { font-size: 15px; }
.m-chart-summary { background: #ffffff; padding: 18px 14px; border-color: var(--line); border-radius: 9px; }
.m-chart-summary span { font-size: 13px; }
.m-chart-summary strong { font-size: 26px; }
.m-chart-summary strong small { font-size: 14px; }
.r-table, .m-score-table, .rs-scope .rs-data-table { width: 100%; table-layout: fixed; background: #ffffff; font-size: 14px; color: var(--text); }
.r-table th, .r-table td, .m-score-table th, .m-score-table td, .rs-scope .rs-data-table th, .rs-scope .rs-data-table td { padding: 13px 8px; border-color: var(--line); font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; vertical-align: top; }
.r-table th, .m-score-table th, .rs-scope .rs-data-table th { color: var(--muted); font-size: 13px; background: #edf2ee; }
.r-table td:first-child { white-space: normal; }
.r-table caption { font-size: 15px; }
.r-rating-row { gap: 8px; }
.r-rating-row > span, .r-rating-row > strong, .r-rating-row > small { font-size: 13px; }
.m-report-bar { font-size: 13px; }
.c-alert-card { border-radius: 10px; min-height: 160px; padding: 17px 12px; }
.c-alert-card > span { font-size: 14px; }
.c-alert-card > small { font-size: 13px; }
.c-alert-card.active { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.c-alert-card.active > .icon, .c-alert-card.active > small { color: var(--ink); }

/* Graphite navigation; every icon remains white or gray. */
.bottom-nav {
  --text: #ffffff;
  --muted: #c5cacb;
  background: #2c3031;
  color: #ffffff;
  border-top: 1px solid #454b4c;
  padding: 8px 6px calc(10px + env(safe-area-inset-bottom));
  max-width: 430px;
}
.nav-item { color: #c1c7c8; font-size: 11px; min-height: 52px; gap: 6px; }
.bottom-nav .nav-item.active, .bottom-nav .nav-item.active .icon { color: #ffffff !important; background: transparent !important; }
.bottom-nav .nav-item .icon { color: inherit !important; width: 22px; height: 22px; }
.nav-item.active:before { top: -7px; height: 2px; width: 22px; background: #ffffff; }
.nav-item.active span { font-weight: 600; }

@media (min-width: 600px) {
  body { background: #dce2df; }
  .app { border-inline: 1px solid #c4cfc7; }
  .bottom-nav { border-inline: 1px solid #454b4c; }
  dialog { margin: auto auto 0; border-bottom: 0; border-radius: 20px 20px 0 0; max-height: 92dvh; }
}
@media (max-width: 359px) {
  :root { --pad: 18px; }
  h1, .identity h1, .m-intro h1, .screen-heading h1, .r-heading h1, .v-event-title { font-size: 27px; }
  .topbar { height: 64px; }
  .topbar .brand-logo { width: 108px; height: 32px; }
  .top-actions { gap: 3px; }
  .role-switch { gap: 4px; }
  .role-switch .role-caption { font-size: 12px; }
  .role-switch button { padding-inline: 12px; font-size: 14px; }
  .native-hero { padding-top: 25px; }
  .student-hero { gap: 14px; }
  .student-hero .hero-photo { width: 86px; height: 86px; flex-basis: 86px; }
  .student-hero .belt-caption { font-size: 14px; gap: 6px; }
  .progress-meta { font-size: 13px; }
  .progress-meta strong.progress-count { font-size: 24px; }
  .progress-count small { font-size: 12px; }
  .progress-foot, .progress-foot .text-link { font-size: 13px; }
  .native-home-manager .m-section, .native-home-student > .section, .native-home-student > .rs-invites { padding: 16px; }
  .native-home-manager .m-kpi { padding-right: 10px; }
  .native-home-manager .m-kpi:nth-child(even) { padding-left: 14px; }
  .native-home-manager .m-kpi .m-number { font-size: 34px; }
  .native-home-manager .m-kpi strong { font-size: 14px; }
  .native-home-manager .m-kpi small { font-size: 12px; }
  .m-head h2, .section-heading h2 { font-size: 18px; }
  .v-two-actions .btn, .two-buttons .btn { font-size: 14px; padding-inline: 9px; }
  .m-class { grid-template-columns: 48px minmax(0, 1fr) 14px; gap: 10px; }
  .m-class-copy strong, .m-person-copy strong, .m-task strong { font-size: 15px; }
  .m-small-btn, .request-btn { font-size: 13px; }
  .class-action { padding: 19px; }
  .class-action h2 { font-size: 24px; }
  .month-grid { gap: 3px; }
  .month-day { min-height: 38px; font-size: 14px; }
  .c-care-total { gap: 12px; }
  .c-care-total > strong { font-size: 46px; }
  .c-care-total > span { font-size: 16px; }
  .c-care-total > small { font-size: 12px; }
  .c-week-chart { gap: 4px; }
  .c-week > small { font-size: 11px; }
  .c-kind-options span { font-size: 14px; }
  .rs-scope .rs-scale { gap: 5px; }
  .rs-scope .rs-rating span { min-height: 48px; }
  .rs-scope .rs-chip span { font-size: 14px; padding: 11px 12px; }
  .rs-scope .rs-kpi strong { font-size: 30px; }
  .rs-scope .rs-tabs .chip { font-size: 14px; padding: 10px 12px; }
  .r-tabs button { font-size: 14px !important; }
  .r-periods .chip, #reportsPanel .r-periods .chip, #reportsPanel .r-choice-buttons .chip { font-size: 14px; padding: 10px 12px; }
  .r-average > strong { font-size: 53px; }
  .r-average small, .r-positive > span, .r-stats span { font-size: 13px; }
  .r-section-head h2 { font-size: 19px; }
  .r-person-main > strong { font-size: 15px; }
  .r-profile-head h3 { font-size: 27px; }
  .c-alert-macro { grid-template-columns: 1fr; }
  .c-alert-card { min-height: 112px; padding: 17px; }
  .c-alert-card > span { font-size: 14px; }
  .nav-item { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}


/* Manutenção de resultados — extensão do visual Claro aprovado. */
.rs-clean-intro{font-size:14px;line-height:1.6;margin:0 0 16px}
.rs-clean-demo{font-size:11px;line-height:1.55;padding:12px 14px;background:#eff2f1;color:#596364;border-radius:10px;margin-bottom:22px}
#rsCleanupForm .field-label{display:block;font-size:13px;margin:20px 0 8px}
#rsCleanupForm select{width:100%;min-height:48px;background:#fff;border-color:#cbd3d0}
#rsCleanupForm>.btn{margin-top:20px;min-height:48px}
.rs-clean-preserved{margin:20px 0;padding:16px;border:1px solid #d4dad8;border-radius:12px;font-size:12px;line-height:1.6;background:#eff2f1}
.rs-clean-preserved strong{font-size:13px;display:block;margin-bottom:8px}
.rs-clean-preserved p+p{margin-top:10px}
.rs-clean-range{font-size:13px;color:#596364;margin:10px 0 20px}
.rs-clean-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;background:#eff2f1;border-radius:12px}
.rs-clean-summary>div{min-width:0}.rs-clean-summary strong{display:block;font-size:36px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}
.rs-clean-summary span{display:block;font-size:11px;line-height:1.5;margin-top:6px;color:#596364}
.rs-clean-total{font-size:16px;font-weight:600;line-height:1.45;margin:18px 0}
.rs-clean-confirm{background:#fff4cf;border-left:3px solid #d0a423;border-radius:8px;padding:14px 16px;margin:18px 0;font-size:12px;line-height:1.55}
.rs-clean-confirm strong{font-size:13px;display:block;margin-bottom:7px;color:#5b4811}
.rs-clean-confirm p{color:#5b4811}.rs-clean-history{margin-top:28px;border-top:1px solid #d4dad8;padding-top:12px}
.rs-clean-history summary{font-size:13px;min-height:48px;cursor:pointer;display:flex;align-items:center}
.rs-clean-entry{padding:14px 0;border-top:1px solid #d4dad8;font-size:12px;line-height:1.6}
.rs-clean-entry p{margin:6px 0}.rs-clean-entry small{color:#596364}
.rs-scope .rs-actions>.btn{min-height:48px}

/* Load after Claro. Semantic colours apply only to the main results. */
.native-home-manager .m-kpi.m-result {
  --m-result-ink: var(--text);
}
.native-home-manager .m-kpi.m-result-green { --m-result-ink: #23704b; }
.native-home-manager .m-kpi.m-result-red { --m-result-ink: #b4453c; }
.native-home-manager .m-kpi.m-result-neutral { --m-result-ink: var(--text); }
.native-home-manager .m-kpi.m-result .m-number {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  color: var(--m-result-ink);
  font-size: 39px;
  font-weight: 600;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}
.native-home-manager .m-kpi.m-result .m-value {
  min-width: 0;
  color: inherit;
}
.native-home-manager .m-kpi.m-result .m-metric-direction {
  display: inline-flex;
  flex: 0 0 23px;
  width: 23px;
  height: 26px;
  align-items: center;
  justify-content: center;
  color: inherit;
  font-size: 23px;
  line-height: 1;
}
.native-home-manager .m-kpi.m-result .m-trend-icon {
  display: block;
  width: 23px;
  height: 23px;
  color: inherit;
  stroke-width: 2.3;
}
.native-home-manager .m-trend-up .m-trend-icon { transform: rotate(-90deg); }
.native-home-manager .m-trend-down .m-trend-icon { transform: rotate(90deg); }
.native-home-manager .m-kpi.m-result-neutral .m-metric-direction { color: var(--muted); }

/* A compact continuation of the results, without cards for individual groups. */
.native-home-manager .m-results-by-group {
  min-width: 0;
  margin: 19px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--line);
}
.native-home-manager .m-results-group-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 3px 10px;
  margin: 0 0 7px;
}
.native-home-manager .m-results-group-head h3 {
  margin: 0;
  color: var(--text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
.native-home-manager .m-results-group-head small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.native-home-manager .m-results-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
}
.native-home-manager .m-results-table .m-results-group-col { width: 58%; }
.native-home-manager .m-results-table .m-results-count-col { width: 21%; }
.native-home-manager .m-results-table th,
.native-home-manager .m-results-table td {
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
  overflow-wrap: anywhere;
  font-size: 13px;
  line-height: 1.45;
}
.native-home-manager .m-results-table thead th {
  padding-top: 4px;
  padding-bottom: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 400;
}
.native-home-manager .m-results-table th:first-child {
  padding-right: 10px;
  text-align: left;
}
.native-home-manager .m-results-table tbody th {
  color: var(--text);
  font-weight: 400;
}
.native-home-manager .m-results-table th:not(:first-child),
.native-home-manager .m-results-table td {
  padding-left: 6px;
  text-align: right;
}
.native-home-manager .m-results-table td span {
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.native-home-manager .m-results-table tbody tr:last-child th,
.native-home-manager .m-results-table tbody tr:last-child td { border-bottom: 0; }

@media (max-width: 359px) {
  .native-home-manager .m-kpi.m-result .m-number { font-size: 36px; gap: 6px; }
  .native-home-manager .m-kpi.m-result .m-metric-direction { flex-basis: 21px; width: 21px; }
  .native-home-manager .m-kpi.m-result .m-trend-icon { width: 21px; height: 21px; }
  .native-home-manager .m-results-table .m-results-group-col { width: 57%; }
  .native-home-manager .m-results-table .m-results-count-col { width: 21.5%; }
}

/* Ajustes solicitados sobre a composição Clara. */
.progress-track.progress-track-belt {height:9px;border-radius:5px;background:#dbe1dd;border:1px solid #c4cec8;overflow:hidden;}
.progress-track-belt .progress-fill {height:100%;background:var(--belt-progress);border-radius:4px;}
.student-notices {margin:0 0 22px;background:#fff8e8;border:1px solid #dccba7;border-left:3px solid #d7b46b;border-radius:12px;padding:14px 15px;color:var(--text);}
.student-notices-heading {display:flex;align-items:center;gap:8px;margin-bottom:7px;}
.student-notices-heading h2 {font-size:16px;margin:0;}
.student-notices-heading .icon {width:18px;height:18px;color:#87682d;}
.student-notice {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid #e4d8bf;padding:12px 0;color:var(--text);}
.student-notice:first-of-type {border-top:0;}
.student-notice>div {min-width:0;}
.student-notice .eyebrow {font-size:10px;letter-spacing:.25px;color:#725a2c;}
.student-notice strong {display:block;font-size:14px;font-weight:600;margin:3px 0;}
.student-notice p {font-size:12px;line-height:1.5;margin:0;color:#615b4e;}
.student-notice>.icon {width:16px;height:16px;flex-shrink:0;color:#87682d;}
.ranking-slide[hidden] {display:none!important;}
.ranking-carousel {min-width:0;touch-action:pan-y;}
.ranking-heading {display:flex;align-items:center;gap:8px;margin:19px 0 5px;}
.ranking-heading .icon {width:19px;height:19px;color:#57635e;}
.ranking-heading h3 {margin:0;font-size:17px;font-weight:600;}
.ranking-intro {margin:0 0 9px;font-size:13px;line-height:1.5;color:var(--muted);}
.ranking-scope {margin:0 0 12px;font-size:12px;color:var(--muted);line-height:1.5;}
.ranking-scope>span {display:block;font-size:11px;}
.ranking-list {list-style:none;margin:0;padding:0;}
.ranking-row {display:flex;align-items:center;gap:8px;padding:13px 0;border-top:1px solid var(--line);min-width:0;}
.ranking-place {flex:0 0 18px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;}
.ranking-row .avatar {flex:0 0 30px;width:30px;height:30px;font-size:11px;}
.ranking-copy {flex:1;min-width:0;overflow-wrap:anywhere;}
.ranking-copy strong {font-size:13px;line-height:1.4;font-weight:500;display:block;}
.ranking-copy>span {font-size:11px;line-height:1.5;color:var(--muted);display:block;}
.ranking-value {flex:0 0 42px;text-align:right;line-height:1.25;}
.ranking-value strong {font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;display:block;}
.ranking-value small {font-size:10px;color:var(--muted);}
.ranking-trophy {flex:0 0 26px;display:inline-flex;align-items:center;justify-content:flex-end;}
.ranking-trophy .icon {width:25px;height:25px;stroke-width:1.7;fill:currentColor;stroke:var(--trophy-stroke);}
.trophy-1 {color:#deb95b;--trophy-stroke:#967229;}
.trophy-2 {color:#c5cbd0;--trophy-stroke:#717f8b;}
.trophy-3 {color:#c6997c;--trophy-stroke:#8c6248;}
.ranking-rules {width:100%;justify-content:flex-end;font-size:12px;margin-top:4px;}
.ranking-controls {display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--line);padding-top:9px;}
.ranking-arrow {display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;background:transparent;border:0;color:var(--muted);}
.ranking-arrow .icon {width:19px;height:19px;}
.ranking-arrow:disabled {background:transparent;color:#bec5c0;}
.ranking-dots {display:flex;align-items:center;gap:0;}
.ranking-dot {display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;background:transparent;border:0;}
.ranking-dot>span {width:7px;height:7px;border-radius:50%;background:#c5ceca;}
.ranking-dot[aria-pressed="true"]>span {width:9px;height:9px;background:#444f4b;}
.ranking-counter {text-align:center;margin:0 0 5px;font-size:11px;color:var(--muted);}
.ranking-empty {padding:18px 0;color:var(--muted);font-size:13px;}
.mural-section>.footnote {font-size:11px;margin-top:12px;}
.student-shortcut-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.student-shortcut-grid button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:84px;padding:10px 6px;background:#f5f7f5;border:1px solid #dde3de;border-radius:9px;color:var(--text);font-size:12px;line-height:1.4;}
.student-shortcut-grid .icon {width:21px;height:21px;color:#56635d;}
.student-shortcut-grid span {max-width:100%;overflow-wrap:anywhere;}
.class-row.special-class .class-copy p {color:#4d735e;}
.native-home-manager .m-results-group-strip {display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:4px 1px 10px;scrollbar-width:thin;scrollbar-color:#c2cdc5 transparent;}
.native-home-manager .m-group-result {flex:0 0 92px;min-width:0;border:1px solid #d8e0da;background:#f6f8f6;border-radius:8px;padding:10px 8px;scroll-snap-align:start;}
.native-home-manager .m-group-result h4 {font-size:12px;font-weight:500;line-height:1.4;min-height:34px;margin:0 0 9px;}
.native-home-manager .m-group-result dl {margin:0;display:grid;gap:7px;}
.native-home-manager .m-group-result dl>div {display:flex;align-items:center;justify-content:space-between;gap:6px;}
.native-home-manager .m-group-result dt {font-size:10px;color:var(--muted);}
.native-home-manager .m-group-result dd {font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;margin:0;}
.native-home-manager .m-group-result .m-group-positive {color:#23704b;}
.native-home-manager .m-group-result .m-group-negative {color:#b4453c;}
.m-results-strip-hint {font-size:10px;color:var(--muted);margin:2px 0 0;}
@media(max-width:359px){.ranking-row{gap:6px;}.ranking-place{flex-basis:16px;}.ranking-row .avatar{flex-basis:26px;width:26px;height:26px;font-size:10px;}.ranking-value{flex-basis:38px;}.ranking-trophy{flex-basis:23px;}.ranking-trophy .icon{width:23px;height:23px;}.ranking-copy strong{font-size:12px;}.ranking-value small{font-size:9px;}.student-shortcut-grid button{font-size:11px;}}

/* Narrow changes to the classroom evaluation and the student research access. */
.class-action .student-research-link {
 display: block;
 width: 100%;
 min-height: 44px;
 margin: 2px 0 0;
 padding: 10px 8px;
 color: #5c6664;
 font-size: 13px;
 font-weight: 500;
 text-decoration: underline;
 text-underline-offset: 3px;
 background: transparent;
 border: 0;
 border-radius: 6px;
}
.class-action .student-research-link:focus-visible {
 outline: 2px solid #3e4748;
 outline-offset: 2px;
}
.rs-scope .rs-class-form .rs-chips {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 align-items: stretch;
 gap: 6px;
 margin: 10px 0;
}
.rs-scope .rs-class-form .rs-chip {
 display: flex;
 min-width: 0;
 margin: 0;
}
.rs-scope .rs-class-form .rs-chip span {
 display: flex;
 align-items: center;
 width: 100%;
 min-height: 48px;
 padding: 9px 10px;
 font-size: 13px;
 line-height: 1.3;
 white-space: normal;
 overflow-wrap: normal;
 word-break: normal;
 border-radius: 8px;
}
.rs-scope .rs-class-form .rs-chip:last-child:nth-child(odd) {
 grid-column: 1 / -1;
}
.rs-scope .rs-class-form fieldset { margin-bottom: 22px; }
.rs-scope .rs-class-form .rs-comment-toggle {
 margin: 7px 0 0;
 border-top: 1px solid #d4ddda;
}
.rs-scope .rs-class-form .rs-comment-toggle summary {
 min-height: 44px;
 padding: 11px 0;
 font-size: 13px;
 color: #5c6664;
}
.rs-scope .rs-class-form .rs-comment-toggle .rs-comment { margin-top: 0; }
.rs-scope .rs-scale-class .rs-rating.is-filled > span,
.rs-scope .rs-scale-class .rs-rating.is-filled input:checked + span {
 background: var(--rs-fill);
 border-color: var(--rs-fill);
 color: var(--rs-foreground);
}
.rs-scope .rs-scale-class .rs-rating input:checked + span {
 outline: 2px solid var(--rs-foreground);
 outline-offset: 2px;
 font-weight: 700;
}
.rs-scope .rs-scale-class .rs-rating input:focus-visible + span {
 box-shadow: 0 0 0 4px #ffffff, 0 0 0 6px #343d3b;
}
.rs-scope .rs-scale-class .rs-rating span {
 transition: background 120ms ease, color 120ms ease;
}
@media (prefers-reduced-motion: reduce) {
 .rs-scope .rs-scale-class .rs-rating span { transition: none; }
}

/* Linha contínua de marcos esportivos. O primeiro treino permanece na base. */
.journey-timeline { margin: 32px 0 0; padding: 0; }
.journey-timeline-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 0 22px; }
.journey-timeline-heading h2 { margin: 4px 0 0; color: #272d2e; font-size: 23px; line-height: 1.25; font-weight: 600; letter-spacing: -.5px; }
.journey-timeline-caption { margin: 0; color: #596364; font-size: 12px; line-height: 1.5; }
.journey-symbol { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.journey-timeline-heading > .journey-symbol { width: 26px; height: 26px; color: #778782; flex: 0 0 auto; }
.journey-track { list-style: none; padding: 0; margin: 0; position: relative; }
.journey-track::before { content: ''; position: absolute; width: 2px; background: #c8d3cc; top: 21px; bottom: 40px; left: 19px; border-radius: 1px; }
.journey-milestone { --journey-mark: #84694e; display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 13px; align-items: start; position: relative; margin: 0 0 20px; }
.journey-milestone:last-child { margin-bottom: 0; }
.journey-marker { width: 40px; height: 40px; display: grid; place-items: center; background: #eff2f1; border: 1px solid #c9d4cd; border-radius: 50%; color: var(--journey-mark); z-index: 1; box-sizing: border-box; }
.journey-milestone-card { min-width: 0; background: #fff; border: 1px solid #dfe5e0; border-radius: 12px; padding: 14px 15px 15px; }
.journey-milestone-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; justify-content: space-between; align-items: baseline; margin: 0 0 8px; }
.journey-kind { color: var(--journey-mark); font-size: 11px; font-weight: 600; line-height: 1.4; }
.journey-date { color: #596364; font-size: 11px; line-height: 1.4; white-space: nowrap; }
.journey-date.pending { color: #66716e; font-size: 10px; }
.journey-milestone-card h3 { font-size: 16px; font-weight: 600; line-height: 1.35; margin: 0; letter-spacing: -.15px; overflow-wrap: anywhere; color: #272d2e; }
.journey-milestone-card p { font-size: 13px; line-height: 1.55; color: #596364; margin: 7px 0 0; }
.journey-belt, .journey-degree { --journey-mark: var(--journey-belt,#3973a6); }
.journey-belt .journey-milestone-card, .journey-degree .journey-milestone-card { border-left: 3px solid var(--journey-mark); padding-left: 13px; }
.journey-attendance, .journey-first-class { --journey-mark: #3e6f58; }
.journey-first-class .journey-marker { background: #e5ede6; border-color: #b9cbbe; }
.journey-first-class .journey-milestone-card { border-color: #ccdace; }
.journey-championship { --journey-mark: #8b7042; }
.journey-timeline-pending { border-top: 1px solid #d6ded8; padding: 17px 0 0; margin: 22px 0 0 53px; display: flex; align-items: flex-start; gap: 9px; color: #596364; font-size: 12px; line-height: 1.6; }
.journey-timeline-pending .journey-symbol { width: 17px; height: 17px; flex: 0 0 17px; margin-top: 2px; }
.journey-timeline-note { font-size: 11px; line-height: 1.65; color: #66716e; margin: 18px 0 0 53px; }
.journey-timeline-empty { background: #fff; border: 1px solid #dfe5e0; border-radius: 12px; padding: 19px; color: #596364; font-size: 14px; line-height: 1.65; }
@media (max-width: 359px) {
 .journey-timeline-heading h2 { font-size: 22px; }
 .journey-milestone { grid-template-columns: 34px minmax(0,1fr); gap: 10px; }
 .journey-marker { width: 34px; height: 34px; }
 .journey-track::before { left: 16px; top: 18px; }
 .journey-milestone-card { padding: 12px; }
 .journey-belt .journey-milestone-card, .journey-degree .journey-milestone-card { padding-left: 10px; }
 .journey-milestone-card h3 { font-size: 15px; }
 .journey-milestone-card p { font-size: 12px; }
 .journey-timeline-pending, .journey-timeline-note { margin-left: 44px; }
}

/* Ranking sem filtros; quatro destinos no mesmo carrossel. */
.mural-section .section-heading {margin-bottom:7px;}
.ranking-heading {margin:10px 0 16px;align-items:flex-start;}
.ranking-heading .icon {margin-top:3px;flex-shrink:0;}
.ranking-heading h3 {font-size:16px;line-height:1.4;}
.ranking-controls {gap:8px;}
.ranking-dots {flex-shrink:1;min-width:0;}
.ranking-dot {width:38px;flex:0 0 38px;}
.ranking-counter {margin-top:0;}
/* Uma superfície âmbar torna as pendências identificáveis sem alterar ações. */
.native-home-manager .m-section.native-pending {background:#fff8e8;border-color:#ddcba4;border-left:3px solid #d3b16a;}
.native-home-manager .native-pending .m-head h2 {color:#5e4c2d;}
.native-home-manager .native-pending .m-head small {background:#f0e3c5;color:#6d5427;padding:4px 8px;border-radius:5px;font-size:11px;}
.native-home-manager .native-pending .row-link {background:transparent;border-color:#e4d7bb;}
.native-home-manager .native-pending .row-link>.icon {color:#8b6c32;}
.native-home-manager .native-pending .v-inline-actions {border-color:#e4d7bb;}
/* Abreviações apenas no painel pequeno; nomes completos acessíveis. */
.native-home-manager .m-results-group-strip {display:grid;grid-template-columns:repeat(6,minmax(35px,1fr));gap:4px;overflow-x:auto;padding:4px 0 8px;}
.native-home-manager .m-group-result {padding:9px 3px 10px;min-width:0;border-radius:7px;}
.native-home-manager .m-group-result h4 {font-size:10px;line-height:1.4;font-weight:600;min-height:14px;white-space:nowrap;text-align:center;margin:0 0 10px;}
.native-home-manager .m-group-result dl {gap:8px;}
.native-home-manager .m-group-result dl>div {display:block;}
.native-home-manager .m-group-result dd {display:flex;align-items:center;justify-content:center;gap:2px;font-size:16px;line-height:1.1;}
.native-home-manager .m-group-result dd span {font-size:13px;}
.native-home-manager .m-group-result dd strong {font-weight:500;font-size:16px;}
.native-home-manager .m-group-result dd.m-large-count strong {font-size:11px;}
.native-home-manager .m-group-result dd.m-large-count span {font-size:10px;}
.native-home-manager .m-results-strip-hint {font-size:10px;margin-top:3px;}
.journey-privacy {margin-top:30px;border-radius:11px;padding:13px;}
.journey-privacy>span {font-size:13px;line-height:1.4;}
.journey-privacy small {font-size:11px;line-height:1.5;}
.journey-privacy+.journey-timeline {margin-top:25px;}

/* Destaque segue os alertas existentes, sem criar novos critérios. */
.rs-scope .rs-row.rs-care-needs-attention {
 background:#fff8e8;
 border:1px solid #ddcba4;
 border-left:3px solid #d3b16a;
 border-radius:10px;
 margin:9px 0;
 padding:14px 12px;
}
.rs-scope .rs-care-needs-attention .rs-alert-tag {
 background:#f4e8cc;
 border-color:#dac79d;
 color:#6b542a;
}
.rs-scope .rs-care-needs-attention>.icon {color:#8b6c32;}
.rs-scope .rs-dist[data-score="1"],
.r-distribution .r-rating-row[data-score="1"] {margin-top:18px;}

/* Linha do tempo discreta: uma linha fina e marcos sem cartões ou balões. */
.journey-timeline { margin-top: 26px; }
.journey-privacy + .journey-timeline { margin-top: 26px; }
.journey-timeline-heading { gap: 12px; padding-bottom: 20px; }
.journey-timeline-heading h2 { margin-top: 3px; font-size: 19px; line-height: 1.3; letter-spacing: -.3px; }
.journey-timeline-caption { font-size: 11px; line-height: 1.5; }
.journey-timeline-heading > .journey-symbol { width: 20px; height: 20px; color: #778782; }
.journey-track::before { display: none; }
.journey-milestone { grid-template-columns: 18px minmax(0, 1fr); gap: 12px; margin-bottom: 18px; }
.journey-milestone:not(:last-child)::before { content: ''; position: absolute; width: 1px; background: #d2dcd6; left: 8.5px; top: 8px; bottom: -26px; }
.journey-marker { display: block; width: 8px; height: 8px; margin: 4px auto 0; background: var(--journey-mark); border: 0; border-radius: 50%; color: inherit; }
.journey-marker .journey-symbol { display: none; }
.journey-first-class .journey-marker { background: var(--journey-mark); border: 0; }
.journey-milestone-card,
.journey-belt .journey-milestone-card,
.journey-degree .journey-milestone-card,
.journey-first-class .journey-milestone-card { background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.journey-milestone-meta { gap: 3px 10px; margin-bottom: 4px; }
.journey-kind { color: #596364; font-size: 10px; font-weight: 500; line-height: 1.5; }
.journey-date, .journey-date.pending { color: #66716e; font-size: 10px; line-height: 1.5; }
.journey-milestone-card h3 { font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: -.1px; }
.journey-milestone-card p { margin-top: 4px; font-size: 12px; line-height: 1.5; color: #66716e; }
.journey-timeline-pending { margin: 19px 0 0 30px; padding-top: 13px; gap: 8px; font-size: 11px; line-height: 1.6; }
.journey-timeline-pending .journey-symbol { width: 14px; height: 14px; flex-basis: 14px; }
.journey-timeline-note { margin: 13px 0 0 30px; font-size: 10px; line-height: 1.6; }
.journey-timeline-empty { background: transparent; border: 0; border-radius: 0; padding: 0; font-size: 13px; line-height: 1.6; }

/* Controles da grade. Mantém a composição Clara e os controles de toque. */
.calendar-week-nav,.m-calendar-controls{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:9px;align-items:end;margin:16px 0 9px}
.calendar-week-nav>.chip{width:42px;height:44px;padding:9px;display:flex;align-items:center;justify-content:center}
.calendar-date-label,.m-calendar-date{display:grid;gap:5px;min-width:0;font-size:11px;color:#6c7472}
.calendar-date-input,.m-calendar-date .text-input{width:100%;min-width:0;min-height:44px;box-sizing:border-box;background:#fff;color:#272d2e;border:1px solid #d3dcd7;border-radius:8px;padding:9px;font-family:inherit;font-size:14px}
.calendar-period,.calendar-selected-date{font-size:12px;color:#68716d;margin:7px 0 10px;line-height:1.5}
.calendar-status{border-left:2px solid #cbb97d;padding:10px 12px;background:#fff9e8;color:#605b49;font-size:12px;line-height:1.5;margin:12px 0}
.calendar-status p{margin:0}
.m-calendar-controls{grid-template-columns:70px minmax(0,1fr) 70px;gap:8px}
.m-calendar-controls .m-small-btn{display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:8px 5px;font-size:11px;margin:0;min-width:0}
.m-calendar-controls .icon{width:14px;height:14px;flex-shrink:0}
.m-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;flex-wrap:initial;margin:14px 0 22px}
.m-calendar-week .chip{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:57px;padding:7px 3px;gap:4px;border-radius:9px}
.m-calendar-week .chip span{font-size:10px;font-weight:500}
.m-calendar-week .chip strong{font-size:15px}
.m-calendar-week .chip:disabled{opacity:.4}
.lesson-curriculum{margin:18px 0;font-size:13px;line-height:1.55}
.lesson-curriculum h3{font-size:16px;margin:12px 0 7px}
.lesson-curriculum p{margin:7px 0}
.library-entry{padding:16px 0;border-bottom:1px solid #d7e0db}
.library-entry h3{font-size:15px;line-height:1.4;margin:7px 0}
.library-entry p{font-size:12px;line-height:1.5;color:#657069;margin:7px 0}
.library-code{font-size:10px;color:#6e776f;text-transform:uppercase;letter-spacing:.04em}
.m-curriculum-techniques{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:350px){.m-calendar-controls{grid-template-columns:58px minmax(0,1fr) 58px;gap:6px}.m-calendar-controls .m-small-btn{font-size:10px;gap:1px}.m-calendar-controls .m-small-btn .icon{width:12px;height:12px}.calendar-date-input,.m-calendar-date .text-input{font-size:13px;padding:9px 6px}}

/* Jornada clara: ramificações finas, marcos preservados e ícones compactos. */
.journey-milestone {
 --journey-indent: 0px;
 display: grid;
 grid-template-columns: 18px minmax(0, 1fr);
 gap: 12px;
 align-items: start;
 margin: 0 0 18px;
}
.journey-degree, .journey-achievement { --journey-indent: 24px; }
.journey-milestone:last-child { margin-bottom: 0; }
.journey-milestone:not(:last-child)::before {
 content: '';
 position: absolute;
 width: 1px;
 background: #d2dcd6;
 left: 8.5px;
 top: 11px;
 bottom: -29px;
}
.journey-marker { display: none; }
.journey-milestone-card,
.journey-belt .journey-milestone-card,
.journey-degree .journey-milestone-card,
.journey-first-class .journey-milestone-card {
 grid-column: 2;
 min-width: 0;
 margin-left: var(--journey-indent);
 padding: 0;
 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;
}
.journey-milestone-card h3 {
 position: relative;
 margin: 0;
 color: #272d2e;
 font-size: 15px;
 font-weight: 500;
 line-height: 1.4;
 letter-spacing: -.1px;
 overflow-wrap: anywhere;
}
.journey-degree .journey-milestone-card h3 { font-weight: 700; }
.journey-belt .journey-milestone-card h3,
.journey-first-class .journey-milestone-card h3 {
 font-size: 18px;
 font-weight: 700;
 letter-spacing: -.25px;
}
.journey-connector {
 position: absolute;
 left: calc(-21.5px - var(--journey-indent));
 top: .7em;
 width: calc(16px + var(--journey-indent));
 height: 0;
 border-top: 1px solid #9aaea1;
 pointer-events: none;
}
.journey-connector::before {
 content: '';
 position: absolute;
 left: -3.5px;
 top: -4px;
 width: 7px;
 height: 7px;
 border-radius: 50%;
 background: var(--journey-mark);
}
.journey-connector::after {
 content: none;
}
.journey-award {
 display: inline-block;
 width: 16px;
 height: 16px;
 margin-left: 6px;
 vertical-align: -.12em;
 fill: none;
 stroke: currentColor;
 stroke-width: 1.55;
 stroke-linecap: round;
 stroke-linejoin: round;
}
.journey-trophy.bronze { color: #666c6d; }
.journey-trophy.silver { color: #6b7475; }
.journey-trophy.earned { color: #333b3c; }
.journey-merit-star { color: #876415; fill: #f7c83a; }
.journey-milestone-meta {
 justify-content: flex-start;
 align-items: baseline;
 flex-wrap: wrap;
 gap: 3px 9px;
 margin: 5px 0 0;
}
.journey-kind,
.journey-date,
.journey-date.pending {
 color: #66716e;
 font-size: 10px;
 font-weight: 500;
 line-height: 1.5;
}
.journey-milestone-card p {
 margin: 5px 0 0;
 color: #66716e;
 font-size: 12px;
 line-height: 1.5;
}
@media (max-width: 359px) {
 .journey-degree, .journey-achievement { --journey-indent: 20px; }
 .journey-milestone { grid-template-columns: 18px minmax(0, 1fr); gap: 12px; }
 .journey-timeline-heading h2 { font-size: 19px; }
 .journey-timeline-pending, .journey-timeline-note { margin-left: 30px; }
}

/* Requested title highlight, scoped exclusively to the merit ranking. */
#ranking-merit .ranking-heading h3,#ranking-merit .ranking-heading .icon{color:#876415;}
.preview-class-group{margin:4px 0;color:#66716e;font-size:12px;}

/* Somente o complemento opcional. Usa as cores do layout aprovado. */
.tp-invitation,.tp-history,.tp-manager{margin:18px 0 26px;padding:17px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius,14px);color:var(--text);}
.tp-invitation{border-top:2px solid var(--accent);}
.tp-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.tp-heading h2{margin:0;font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.25px;}
.tp-heading>span{color:var(--muted);font-size:11px;line-height:23px;white-space:nowrap;}
.tp-lesson{margin:12px 0 8px;font-size:14px;line-height:1.45;font-weight:600;overflow-wrap:anywhere;}
.tp-lesson small{display:block;margin-top:3px;font-size:11px;font-weight:400;color:var(--muted);}
.tp-question{margin:9px 0 12px;font-size:13px;line-height:1.45;color:var(--muted);}
.tp-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.tp-choice{display:flex;align-items:center;min-width:0;min-height:62px;margin:0;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px;line-height:1.35;text-align:left;font-weight:500;overflow-wrap:break-word;}
.tp-choice:hover:not(:disabled){background:var(--hover);border-color:var(--muted);}
.tp-choice:active{border-color:var(--accent);}
.tp-choice:focus-visible,.tp-skip:focus-visible,.tp-setting-link:focus-visible{outline:2px solid var(--text);outline-offset:3px;}
.tp-privacy,.tp-history-note{margin:12px 0 0;font-size:11px;line-height:1.5;color:var(--muted);}
.tp-skip{display:block;min-height:40px;margin:3px auto -5px;padding:8px 14px;background:transparent;border:0;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px;}
.tp-description{margin:9px 0 15px;color:var(--muted);font-size:13px;line-height:1.5;}
.tp-history-row{padding:14px 0;border-top:1px solid var(--line);}
.tp-history-row:last-of-type{padding-bottom:1px;}
.tp-record-heading{display:flex;gap:10px;align-items:baseline;}
.tp-record-heading time{flex:0 0 auto;color:var(--muted);font-size:11px;}
.tp-record-heading strong{font-size:14px;line-height:1.4;font-weight:600;overflow-wrap:anywhere;}
.tp-record-class{margin:4px 0 8px;font-size:11px;color:var(--muted);}
.tp-record-answer{margin:8px 0 0;font-size:14px;line-height:1.45;}
.tp-record-comment{margin:8px 0 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere;}
.tp-record-comment span{color:var(--muted);}
.tp-record-student{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 8px;}
.tp-record-student strong{font-size:14px;font-weight:600;}
.tp-record-student span{font-size:11px;color:var(--muted);}
.tp-empty{margin:0;color:var(--muted);font-size:13px;line-height:1.5;}
.tp-manager{margin-top:30px;}
.tp-manager .tp-record-heading{display:block;}
.tp-manager .tp-record-heading time{display:block;margin-bottom:5px;}
.tp-setting-link{min-height:40px;max-width:100px;margin:-9px -5px -4px 0;padding:6px 5px;background:transparent;border:0;font-size:11px;line-height:1.25;text-decoration:underline;text-underline-offset:3px;color:var(--muted);}
.tp-settings label{display:block;margin:20px 0 7px;font-size:14px;font-weight:600;}
.tp-settings input{display:block;width:100%;min-height:44px;padding:10px 12px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:16px;}
.tp-settings-note{margin:10px 0 20px;font-size:12px;line-height:1.5;color:var(--muted);}
@media(max-width:340px){.tp-invitation,.tp-history,.tp-manager{padding:15px 13px;}.tp-choice{min-height:70px;padding:9px;font-size:12px;}.tp-record-heading{display:block;}.tp-record-heading time{display:block;margin-bottom:4px;}.tp-record-student{display:block;}.tp-record-student span{display:block;margin-top:2px;}}

/* Painéis compactos da versão clara, no mesmo fluxo de celular consolidado. */
.coverage-panel{margin:24px 0;padding:17px 16px;background:#fff;border:1px solid #e0e5e3;border-radius:14px;color:#2b3232;min-width:0}
.coverage-total{display:flex;align-items:center;justify-content:space-between;gap:12px}
.coverage-panel h2{font-size:15px;line-height:1.35;font-weight:650;letter-spacing:-.2px;margin:0}
.coverage-copy{min-width:0}
.coverage-copy p,.coverage-heading p{font-size:12px;line-height:1.5;color:#697473;margin:5px 0 0}
.coverage-percent{font-size:29px;line-height:1;letter-spacing:-1px;white-space:nowrap;font-weight:650;font-variant-numeric:tabular-nums}
.coverage-track{height:5px;background:#e9eeeb;border-radius:5px;overflow:hidden;margin-top:12px}
.coverage-track span{display:block;height:100%;background:#4c8064;border-radius:inherit}
.coverage-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;color:#697473;font-size:10px;line-height:1.5}
.coverage-bottom>span{max-width:65%}
.coverage-link{background:none;border:0;padding:9px 0 9px 4px;color:#435a50;font-family:inherit;font-size:11px;line-height:1.3;white-space:nowrap;cursor:pointer;min-height:36px}
.coverage-link>span{font-size:16px;margin-left:3px}
.coverage-link:focus-visible{outline:2px solid #3973a6;outline-offset:3px;border-radius:3px}
.coverage-list{list-style:none;margin:17px 0 0;padding:0}
.coverage-row{margin:0;padding:14px 0;border-top:1px solid #edf0ee}
.coverage-row:first-child{padding-top:0;border-top:0}
.coverage-row:last-child{padding-bottom:0}
.coverage-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.coverage-row-top>strong{font-size:13px;font-weight:600;line-height:1.45;min-width:0;overflow-wrap:anywhere}
.coverage-row-percent{font-size:15px;font-weight:650;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums;color:#35604a}
.coverage-row p{font-size:11px;color:#697473;margin:3px 0 0;line-height:1.5}
.coverage-row .coverage-track{margin-top:7px;height:4px}
.coverage-empty{font-size:12px;line-height:1.6;color:#697473;margin:13px 0 0}
.coverage-scope{font-size:11px;line-height:1.55;color:#697473;margin:17px 0 0;padding-top:12px;border-top:1px solid #edf0ee}
.coverage-note{font-size:10px;line-height:1.55;color:#78817e;margin:5px 0 0}
.coverage-unclassified{font-size:11px;line-height:1.55;color:#806846;margin:16px 0 0;padding-top:12px;border-top:1px solid #edf0ee}
@media(max-width:340px){.coverage-panel{padding:15px 13px}.coverage-percent{font-size:26px}.coverage-bottom{gap:8px}.coverage-bottom>span{max-width:58%}.coverage-link{font-size:10px}}

.ra-journey-tools{margin:26px 0 18px}.ra-journey-tools .row-link,.ra-person-tools .row-link,.ra-manager-links .row-link{width:100%;min-width:0}.ra-note{font-size:12px;line-height:1.5;color:#66716e;margin:9px 0 16px}.ra-person-tools{margin:18px 0 24px}.ra-history-list{margin:24px 0 8px;border-top:1px solid #d4dad8;padding-top:20px}.ra-history-list h3{font-size:15px}.ra-history-row{padding:13px 0;border-bottom:1px solid #d4dad8}.ra-history-row strong{font-size:13px;overflow-wrap:anywhere}.ra-history-row time,.ra-catalog time{display:block;font-size:11px;color:#66716e;margin-top:4px}.ra-history-row p{font-size:12px;overflow-wrap:anywhere;margin:5px 0}.ra-history-actions{display:flex;gap:18px}.ra-history-actions button{min-height:40px;border:0;background:transparent;font-size:12px;padding:7px 0;color:#596b60}.ra-catalog{margin:23px 0}.ra-catalog article{padding:13px 0;border-bottom:1px solid #d4dad8;font-size:13px;overflow-wrap:anywhere}.ra-signup-link{display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center;white-space:normal}.ra-timeline-note{font-size:11px;color:#66716e;margin-top:14px}#raHistoryForm select{width:100%;min-width:0;min-height:46px}#raHistoryForm textarea{width:100%;min-height:75px;resize:vertical}#raError{margin-top:13px}.ra-manager-links .row-link span,.ra-person-tools .row-link span{min-width:0;overflow-wrap:anywhere}

