/* A quieter home and a floating, grouped navigation panel. Existing flows stay intact. */
.rf-shell{--rf-card:var(--p1-surface,#fff);--rf-line:var(--p1-line,#e3eaf4);--rf-ink:var(--p1-ink,#1c3158);--rf-muted:#61738e;--rf-accent:#0866ed;--rf-tint:#eef4ff}
.rf-shell.dark{--rf-card:#132033;--rf-line:#2a3b55;--rf-ink:#e9f1ff;--rf-muted:#b2c1d8;--rf-accent:#85b8ff;--rf-tint:#1c3050}
.rf-shell .page-content{padding-top:24px;padding-bottom:24px}
.rf-icon{display:inline-block;vertical-align:middle;width:22px;height:22px;flex-shrink:0}
.rf-shell :is(.p1-task,.p1-session,.p1-class-card,.p1-news-card,.p1-review-card,.lh-course,.lh-meeting,.p1-section-tile){border-radius:22px;box-shadow:0 5px 22px #15345a06;transition:box-shadow .22s ease,border-color .22s ease,translate .22s ease}
.rf-shell :is(.p1-task,.p1-session,.p1-class-card,.p1-review-card){border-top-width:1px}
.rf-shell .p1-task:before{content:'';position:absolute;inset-block-start:0;inset-inline:23px;height:3px;background:#8baaf4;border-radius:0 0 5px 5px}
.rf-shell .p1-task.sheet:before{background:#69b9a8}.rf-shell .p1-task.exam:before{background:#e3b358}
.rf-shell .p1-task .p1-square,.rf-shell .p1-section-tile .p1-square{border-radius:15px}
.rf-shell .p1-metric{border-radius:18px;box-shadow:none}
.rf-ticker{display:flex;align-items:center;gap:13px;min-width:0;min-height:45px;margin:14px 38px 0;padding:0 10px 0 5px;border:1px solid var(--rf-line);border-radius:14px;background:var(--rf-card);color:var(--rf-ink);overflow:hidden;box-sizing:border-box}
.rf-ticker-label{display:flex;align-items:center;gap:7px;flex-shrink:0;padding:0 5px;color:var(--rf-accent);font-size:10px}
.rf-ticker-label .rf-icon{width:17px;height:17px}.rf-ticker-label b{font-weight:700}
.rf-ticker-window{flex:1;min-width:0;overflow:hidden;direction:ltr;mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent)}
.rf-ticker-window:focus-visible{outline:2px solid var(--rf-accent);outline-offset:-2px;border-radius:5px}
.rf-ticker-track{display:flex;width:max-content;animation:rfTicker var(--rf-ticker-duration,90s) linear infinite;will-change:transform}
.rf-ticker-group{display:flex;align-items:center;flex:none}
.rf-ticker-message{display:flex;align-items:center;gap:28px;white-space:nowrap;font-size:11px;line-height:1.8;padding:9px 14px}
.rf-ticker-message i{color:#d49c36;font-size:10px;font-style:normal}
.rf-ticker-toggle{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;background:none;color:var(--rf-muted);border:0;border-radius:11px;cursor:pointer}
.rf-ticker-toggle .rf-icon{width:16px;height:16px}.rf-ticker-toggle:hover{background:var(--rf-tint);color:var(--rf-accent)}
.rf-ticker:is(.is-paused,:hover,:focus-within) .rf-ticker-track{animation-play-state:paused}
@keyframes rfTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rf-student-home .st-hero{min-height:320px;margin-bottom:0;border-radius:25px}
.rf-student-home .st-hero-copy{padding:27px 32px;min-height:320px}
.rf-student-home .st-hero h1{font-size:23px;margin-top:10px}
.rf-student-home .st-hero h2{font-size:36px;line-height:1.35;margin:12px 0 10px}
.rf-student-home .st-hero p{margin:0 0 17px;font-size:12px}
.rf-student-home .st-hero-role{margin-bottom:7px}.rf-student-home .st-hero-actions .p1-btn{flex:none;min-height:43px;padding:10px 17px;font-size:11px}
.rf-learning-paths{margin:25px 0 0}.rf-path-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}
.rf-path-heading h2{font-size:19px;color:var(--rf-ink);margin:0}.rf-path-heading>span{font-size:10px;color:var(--rf-muted)}
.rf-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rf-path{--tile-color:#1760d2;--tile-bg:#edf4ff;display:flex;flex-direction:column;align-items:flex-start;position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:168px;border:1px solid var(--rf-line);border-radius:22px;padding:21px;background:var(--rf-card);color:var(--rf-ink);font:inherit;text-align:right;cursor:pointer;box-shadow:0 6px 24px #15345a05;transition:translate .22s,border-color .22s,box-shadow .22s}
.rf-path:before{content:'';position:absolute;z-index:-1;inset-inline-end:-32px;inset-block-start:-48px;width:150px;height:150px;border:22px solid var(--tile-bg);border-radius:50%;opacity:.65;pointer-events:none}
.rf-path.violet{--tile-color:#7146be;--tile-bg:#f1ebfc}.rf-path.gold{--tile-color:#946319;--tile-bg:#fff3db}.rf-path.teal{--tile-color:#117c72;--tile-bg:#e7f6f1}
.rf-path-symbol{display:grid;place-items:center;width:47px;height:47px;border-radius:16px;background:var(--tile-bg);color:var(--tile-color);margin-bottom:17px}
.rf-path-symbol .rf-icon{width:25px;height:25px}.rf-path-arrow{position:absolute;inset-block-start:26px;inset-inline-end:21px;color:var(--rf-muted)}.rf-path-arrow .rf-icon{width:17px;height:17px}
.rf-path b{display:block;font-size:14px;line-height:1.9;position:relative}.rf-path small{display:block;font-size:10px;line-height:1.9;color:var(--rf-muted);margin-top:2px;position:relative}
.rf-shell .rf-home-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:17px 0 0}
.rf-home-metrics .p1-metric{padding:14px 18px;background:transparent;gap:13px}.rf-home-metrics .p1-metric strong{font-size:21px}.rf-home-metrics .p1-square{width:37px;height:37px;border-radius:12px}.rf-home-metrics .p1-square .p1-icon{width:20px;height:20px}
.rf-staff-home .rf-staff-tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0}
.rf-staff-tools :is(.st-tool,.tn-tool-card){position:relative;min-height:157px;padding:23px 20px;flex-direction:column;align-items:flex-start;gap:16px;border-radius:22px;box-shadow:0 6px 24px #15345a05}
.rf-staff-tools :is(.st-tool,.tn-tool-card)>.p1-icon{position:absolute;inset-inline-end:20px;inset-block-start:30px;width:17px;display:block}
.rf-staff-tools :is(.st-tool-copy,.tn-tool-copy){flex:0;gap:3px}.rf-staff-tools :is(.st-tool-icon,.tn-tool-icon){width:47px;height:47px;border-radius:15px}
.rf-staff-tools :is(.st-tool-copy,.tn-tool-copy) b{font-size:13px}.rf-staff-tools :is(.st-tool-copy,.tn-tool-copy) small{font-size:10px}
.rf-custom-banner:after{background:linear-gradient(270deg,#f4f8ff 0%,#f4f8fff5 38%,#f4f8ffa0 62%,#f4f8ff00 95%)}
.rf-settings-section{margin:20px 0 30px;min-width:0}.rf-settings-heading{margin-bottom:17px}.rf-settings-heading h2{font-size:23px;line-height:1.6;margin:0;color:var(--rf-ink)}.rf-settings-heading p{font-size:12px;color:var(--rf-muted);line-height:1.9;margin:5px 0 0}
.rf-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.rf-settings-card{margin:0;padding:24px;min-width:0;box-sizing:border-box}
.rf-settings-card h3{font-size:18px;margin:0 0 16px;color:var(--rf-ink)}.rf-settings-card form{display:flex;flex-direction:column;gap:15px;min-width:0}
.rf-settings-card .field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--rf-ink)}
.rf-settings-card :is(input[type=text],select){width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--rf-line);border-radius:12px;color:var(--rf-ink);background:var(--rf-card);font:inherit;font-size:12px;box-sizing:border-box}
.rf-settings-card :is(button,input,select){font-family:inherit}.rf-settings-card button{align-self:flex-start}
.rf-banner-preview{position:relative;overflow:hidden;border-radius:15px;border:1px solid var(--rf-line);aspect-ratio:16/7;background:var(--rf-tint)}.rf-banner-preview img{display:block;width:100%;height:100%;object-fit:cover}
.rf-banner-preview>span{position:absolute;bottom:0;inset-inline:0;display:block;padding:18px 14px 9px;background:linear-gradient(0deg,#15233dbb,transparent);color:#fff;font-size:11px}
.rf-image-pick{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px dashed #a5bde5;border-radius:13px;background:var(--rf-tint);color:var(--rf-ink);font-size:12px;cursor:pointer;min-width:0}.rf-image-pick small{font-size:10px;color:var(--rf-muted)}.rf-image-pick input{font:inherit;font-size:11px;max-width:100%;min-width:0;margin-top:4px}
.rf-focus-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.rf-focus-controls label{display:flex;flex-direction:column;gap:9px;color:var(--rf-muted);font-size:11px;min-width:0}.rf-focus-controls input{width:100%;min-width:0;accent-color:#0866ed;padding:0}
.rf-form-status{font-size:12px;color:#13795b;min-height:20px;line-height:1.9;margin:0}.rf-form-status.error{color:#ba344b}.rf-form-actions{display:flex;gap:10px;flex-wrap:wrap}.rf-form-actions button{font-size:11px}
.rf-checkbox{display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.8;color:var(--rf-ink)}.rf-checkbox input{accent-color:#0866ed;width:19px;height:19px;flex-shrink:0}
.rf-phrase-list{display:flex;flex-direction:column;gap:8px;max-height:290px;overflow:auto;overscroll-behavior:contain;padding:2px 2px 2px 5px;scrollbar-width:thin;scrollbar-color:#b5c7e3 transparent}.rf-phrase{display:flex;align-items:center;gap:9px;padding:7px 11px;background:var(--rf-tint);border:1px solid var(--rf-line);border-radius:12px;min-width:0}.rf-phrase p{flex:1;margin:0;font-size:11px;line-height:1.9;color:var(--rf-ink);overflow-wrap:anywhere}.rf-phrase button{align-self:center;flex-shrink:0;min-width:40px;min-height:40px;border:0;background:none;color:var(--rf-muted);font:inherit;font-size:24px;cursor:pointer;border-radius:10px}.rf-phrase button:hover{background:#ef728518;color:#b02e43}.rf-settings-note{font-size:11px;color:var(--rf-muted);margin:0;line-height:1.9}
.rf-shell :is(.rf-path,.rf-settings-card button,.rf-settings-card input,.rf-settings-card select,.rf-ticker-toggle):focus-visible{outline:3px solid #e5af38;outline-offset:3px}
@media(min-width:981px){
 .rf-shell #appView{gap:0;background:var(--p1-bg);padding-inline-start:18px;box-sizing:border-box}
 .rf-shell .sidebar.rf-sidebar{display:flex;flex-direction:column;position:sticky;top:18px;width:246px;min-width:246px;height:calc(100dvh - 36px);margin-block:18px;overflow:hidden;border:1px solid #dce6f4;border-radius:25px;background:linear-gradient(155deg,#ffffff,#f7faff);color:var(--rf-ink);box-shadow:0 12px 36px #1637680a;padding:0 13px 12px;box-sizing:border-box;flex-shrink:0}
 .rf-shell .sidebar.rf-sidebar .side-brand.id-brand{background:transparent;border:0;min-height:97px!important;padding:19px 8px 14px!important;justify-content:flex-start!important;gap:10px!important;flex-shrink:0}
 .rf-shell .sidebar.rf-sidebar .side-brand img.id-brand-mark{width:47px!important;height:47px!important}.rf-sidebar .side-brand .id-brand-copy b{font-size:28px}.rf-sidebar .side-brand .id-brand-copy small{font-size:12px}
 .rf-shell .rf-navigation{display:block;flex:1;min-height:0;overflow-y:auto;padding:0 2px 10px;margin:0;scrollbar-width:thin;scrollbar-color:#c6d3e7 transparent}
 .rf-shell .rf-navigation .nav-item{display:flex;align-items:center;width:100%;min-height:40px;margin:2px 0;border:1px solid transparent;border-radius:12px;background:transparent;padding:9px 12px;gap:9px;font-size:11px;line-height:1.7;color:#526780;text-align:right;white-space:normal;box-sizing:border-box;transition:background .15s,border-color .15s,color .15s}
 .rf-shell .rf-navigation .nav-item .p1-icon{width:19px;height:19px}.rf-shell .rf-navigation .nav-item .nav-icon{color:#7b91b3}
 .rf-shell .rf-navigation .nav-item:hover{background:#edf3ff;color:#0866ed}.rf-shell .rf-navigation .nav-item.active{background:#eaf2ff;border-color:#ccdffc;color:#075fdc;font-weight:800}
 .rf-shell .rf-navigation .nav-item.active .nav-icon{color:#0866ed}.rf-shell .rf-navigation .rf-nav-home{margin-bottom:6px;min-height:44px}
 .rf-nav-group{margin:14px 0 0}.rf-nav-group h2{font-size:10px;font-weight:700;line-height:1.6;color:#8393ac;margin:0 10px 8px}.rf-nav-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .rf-shell .rf-nav-quick .nav-item{flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;min-height:84px;margin:0;padding:12px 10px;border-color:#e3eaf6;background:#fff;font-size:10px}
 .rf-shell .rf-nav-quick .nav-item .nav-icon{width:30px;height:30px;background:#eef4ff;display:grid;place-items:center;border-radius:10px;color:#2b65cd}
 .rf-shell .rf-nav-quick .nav-item.active{background:#eaf2ff;border-color:#b8d2fb}
 .rf-shell .rf-sidebar .sidebar-support{margin:8px 0 4px;padding:8px 9px;border:1px solid #e3eaf5;border-radius:13px;background:#f0f5ff;color:#4b668e;min-height:0;flex-shrink:0;font-size:10px}
 .rf-shell .rf-sidebar .logout-btn{color:#687c96;background:none;border:0;min-height:42px;border-radius:12px;margin:0;padding:9px;font-size:11px;flex-shrink:0}.rf-shell .rf-sidebar .logout-btn:hover{background:#f0f4fb;color:#0866ed}
 .rf-shell .app-header{margin:18px 24px 0;border:1px solid var(--rf-line);border-radius:20px;box-shadow:0 6px 22px #15345a04;padding-inline:22px}
 .rf-shell .rf-ticker{margin:12px 24px 0}.rf-shell .top-quick-nav{display:none!important}.rf-shell .page-content{padding-inline:24px}
 .rf-shell.dark .sidebar.rf-sidebar{background:#132033!important;border-color:var(--rf-line)!important}.rf-shell.dark .rf-sidebar .side-brand{background:transparent!important}
 .rf-shell.dark .rf-navigation .nav-item{color:#b7c8e3}.rf-shell.dark .rf-nav-group h2{color:#8ca2c2}.rf-shell.dark .rf-navigation .nav-item .nav-icon{color:#8da8d2}
 .rf-shell.dark .rf-navigation .nav-item:hover,.rf-shell.dark .rf-navigation .nav-item.active{background:#1c3459;color:#9bc3ff;border-color:#375784}.rf-shell.dark .rf-nav-quick .nav-item{background:#16273e;border-color:#2a3b55}.rf-shell.dark .rf-nav-quick .nav-item .nav-icon{background:#243c60;color:#9fc7ff}
 .rf-shell.dark .rf-sidebar .sidebar-support{background:#1c3050;border-color:#2a3b55;color:#b7c8e3}.rf-shell.dark .rf-sidebar .logout-btn{color:#b7c8e3}.rf-shell.dark .rf-sidebar .logout-btn:hover{background:#1c3050}
}
.rf-shell.dark .rf-path{--tile-color:#97bdff;--tile-bg:#243a5c}.rf-shell.dark .rf-path.violet{--tile-color:#c2a3ff;--tile-bg:#352c50}.rf-shell.dark .rf-path.gold{--tile-color:#f2cc83;--tile-bg:#413629}.rf-shell.dark .rf-path.teal{--tile-color:#81d5c5;--tile-bg:#203f3f}
.rf-shell.dark .rf-form-status{color:#80dbc0}.rf-shell.dark .rf-form-status.error{color:#ffa0b3}.rf-shell.dark .rf-image-pick{border-color:#5d7da6}
.rf-shell.dark .rf-custom-banner:after{background:linear-gradient(270deg,#132033 0%,#132033f5 40%,#132033b0 70%,#13203340 100%)}
@media(max-width:1200px){.rf-path-grid,.rf-staff-home .rf-staff-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-path{min-height:150px;padding:19px}.rf-settings-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:980px){.rf-shell .rf-ticker{margin:12px 22px 0}.rf-shell .page-content{padding-top:19px}.rf-path-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rf-path{padding:17px;min-height:158px}.rf-staff-home .rf-staff-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.rf-staff-tools :is(.st-tool,.tn-tool-card){padding:18px 15px;min-height:156px}}
@media(max-width:700px){
 .rf-shell .rf-ticker{margin:10px 16px 0;min-height:41px;border-radius:12px;gap:3px;padding-inline-start:8px}.rf-ticker-label b{display:none}.rf-ticker-label{padding:0 3px}.rf-ticker-message{font-size:10px;padding-block:8px;gap:20px}.rf-ticker-toggle{width:40px;height:40px}
 .rf-path-grid,.rf-staff-home .rf-staff-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .rf-student-home .st-hero{min-height:279px;border-radius:22px}.rf-student-home .st-hero-copy{min-height:279px;width:100%;padding:20px;box-sizing:border-box}.rf-student-home .st-hero h1{font-size:19px;line-height:1.6;margin-top:10px}.rf-student-home .st-hero-role{font-size:10px;margin-bottom:6px}.rf-student-home .st-hero h2{font-size:29px;margin:10px 0 7px;line-height:1.32}.rf-student-home .st-hero p{font-size:10px;margin-bottom:14px;line-height:1.9}.rf-student-home .st-hero-kicker{font-size:9px;padding:4px 10px}.rf-student-home .st-hero-actions .p1-btn{font-size:10px;min-height:42px;padding:9px 14px;flex:none}.rf-student-home .st-hero-actions .rf-icon{width:18px;height:18px}
 .rf-learning-paths{margin-top:21px}.rf-path-heading{margin-bottom:11px}.rf-path-heading h2{font-size:17px}.rf-path-heading>span{font-size:9px}
 .rf-path{min-height:147px;padding:17px 14px;border-radius:19px}.rf-path b{font-size:12px}.rf-path small{font-size:9px}.rf-path-symbol{width:41px;height:41px;border-radius:13px;margin-bottom:15px}.rf-path-symbol .rf-icon{width:23px;height:23px}.rf-path-arrow{inset-block-start:24px;inset-inline-end:14px}.rf-path-arrow .rf-icon{width:15px;height:15px}.rf-path:before{width:110px;height:110px;border-width:17px;inset-block-start:-34px;inset-inline-end:-34px}
 .rf-shell .rf-home-metrics{gap:11px;margin-top:13px}.rf-shell .rf-home-metrics .p1-metric{padding:12px 10px;gap:8px}.rf-home-metrics .p1-metric strong{font-size:19px}.rf-home-metrics .p1-metric div>span{font-size:9px}
 .rf-staff-tools :is(.st-tool,.tn-tool-card){min-height:147px;padding:18px 14px;gap:14px;border-radius:19px}.rf-staff-tools :is(.st-tool-copy,.tn-tool-copy) b{font-size:12px}.rf-staff-tools :is(.st-tool-copy,.tn-tool-copy) small{font-size:9px}.rf-staff-tools :is(.st-tool,.tn-tool-card)>.p1-icon{inset-inline-end:15px;inset-block-start:27px;width:15px}
 .rf-settings-heading h2{font-size:20px}.rf-settings-heading p{font-size:11px}.rf-settings-card{padding:20px 16px;border-radius:20px}.rf-settings-card h3{font-size:17px}.rf-settings-card .field{font-size:11px}.rf-settings-grid{gap:16px}.rf-focus-controls{gap:11px}.rf-focus-controls label{font-size:10px}.rf-form-actions{gap:8px}.rf-form-actions button{font-size:10px;padding-inline:12px}.rf-banner-preview{aspect-ratio:16/9}.rf-checkbox{font-size:10px}
 .rf-shell .rf-custom-banner:after{background:linear-gradient(270deg,#f4f8fffa 0%,#f4f8ffe8 40%,#f4f8ffb5 74%,#f4f8ff50 100%)}.rf-shell.dark .rf-custom-banner:after{background:linear-gradient(270deg,#132033fa 0%,#132033eb 40%,#132033bb 80%,#13203375 100%)}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.rf-path:hover,.rf-staff-tools :is(.st-tool,.tn-tool-card):hover,.rf-shell :is(.p1-task,.p1-session,.p1-class-card,.lh-course,.p1-section-tile):hover{translate:0 -3px;box-shadow:0 12px 26px #15345a0d;border-color:#bdd1ef}.rf-path:hover .rf-path-arrow{color:var(--rf-accent)}}
@media(prefers-reduced-motion:reduce){.rf-ticker-track{animation:none;will-change:auto}.rf-ticker-window{overflow-x:auto;scrollbar-width:thin}.rf-ticker-group[aria-hidden=true]{display:none}.rf-path,.rf-shell :is(.p1-task,.p1-session,.p1-class-card,.lh-course,.p1-section-tile){transition:none}.rf-shell .rf-staff-tools :is(.st-tool,.tn-tool-card){transition:none}}
