:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#292b34;background:#f7f7f2;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#292b34;--muted:#858791;--line:#ececf0;--paper:#fff;--base:#f7f7f2;--violet:#7864de;--violet-light:#f0edff;--green:#4b9e78;--shadow:0 2px 14px rgba(40,40,65,.035)}:root{font-family:DM Sans,sans-serif;color:#292b34;background:#f7f7f2;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#292b34;--muted:#858791;--line:#ececf0;--paper:#fff;--base:#f7f7f2;--violet:#7864de;--violet-light:#f0edff;--green:#4b9e78;--shadow:0 2px 14px rgba(40,40,65,.035)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}.app{min-height:100vh;background:var(--base);color:var(--ink);transition:background .2s,color .2s}.dark{--ink:#efeff5;--muted:#a3a3af;--line:#34343f;--paper:#24242e;--base:#1c1c24;--violet-light:#302c48;--shadow:0 2px 14px rgba(0,0,0,.14)}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:var(--paper);border-right:1px solid var(--line);padding:27px 17px 16px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;font:800 21px Manrope,sans-serif;letter-spacing:-.8px}.brand-icon{height:34px;width:34px;background:#7763df;color:#fff;border-radius:11px;display:grid;place-items:center}.brand-dot{color:#ed9a7c}.workspace-label{font-size:9px;font-weight:700;color:#a2a3ab;letter-spacing:1.1px;padding:46px 11px 11px}.sidebar nav{display:grid;gap:4px}.nav{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:9px;display:flex;align-items:center;gap:12px;font-size:13px;color:#777985}.nav.active{background:var(--violet-light);color:#6854ce;font-weight:700}.nav-count{margin-left:auto;font-size:11px;background:var(--base);border-radius:6px;padding:2px 7px;color:var(--muted)}.side-bottom{margin-top:auto}.side-note{background:#f5f3ff;border-radius:12px;padding:13px 11px;display:flex;gap:10px;align-items:center;color:#514781}.dark .side-note{background:#302c48;color:#cfc7ff}.note-icon{width:29px;height:29px;border-radius:9px;background:#e8e3ff;display:grid;place-items:center;color:#705bda}.side-note b,.side-note span{display:block}.side-note b{font-size:11px}.side-note span{font-size:10px;margin-top:3px;color:#8a85a3}.profile{margin-top:17px;border:0;border-top:1px solid var(--line);padding:16px 5px 0;background:transparent;display:flex;align-items:center;text-align:left;width:100%;gap:9px}.avatar,.top-avatar{height:31px;width:31px;border-radius:50%;display:grid;place-items:center;background:#ecd4c4;color:#775341;font-size:12px;font-weight:700}.profile-info{display:grid;gap:3px;flex:1}.profile-info b{font-size:12px}.profile-info span{font-size:10px;color:var(--muted)}.profile>svg{color:var(--muted)}.main{margin-left:246px;padding:0 44px;max-width:1600px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.crumb{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.crumb b{font-weight:600;color:var(--ink)}.slash{color:#cacad0}.top-actions{display:flex;align-items:center;gap:16px}.icon-button{border:0;background:transparent;color:var(--muted);display:grid;place-items:center;padding:7px;border-radius:8px}.icon-button:hover,.round-small:hover{background:var(--base)}.top-avatar{background:#e8e4f7;color:#6755b5}.mobile-menu{display:none}.welcome,.page-heading{padding:38px 0 24px;display:flex;align-items:flex-end;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:1.15px;font-weight:700;color:#9999a4;text-transform:uppercase}.welcome h1,.page-heading h1,.portal-welcome h1{font:700 27px Manrope,sans-serif;letter-spacing:-1.1px;margin:9px 0 5px}.wave{color:#d99e64;font-size:21px}.welcome p,.page-heading p,.portal-welcome p{font-size:12px;color:var(--muted);margin:0}.button{height:37px;border-radius:8px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;font-size:11px;white-space:nowrap;text-decoration:none}.button.primary{background:#7561d9;color:#fff;border:1px solid #7561d9;box-shadow:0 3px 8px #7561d926}.button.primary:hover{background:#6653c5}.button.ghost{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.button.small{height:31px;font-size:10px;padding:0 10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px;min-height:132px;box-shadow:var(--shadow)}.stat-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;margin-bottom:11px}.stat-icon svg{width:16px}.lavender{background:#f0edff;color:#7863d9}.mint{background:#e9f5ef;color:#4d9c74}.peach{background:#fff0e6;color:#d4875d}.stat-label{font-size:10px;color:var(--muted)}.stat-value{font:700 20px Manrope,sans-serif;margin-top:4px}.stat-sub{position:absolute;right:16px;bottom:18px;font-size:9px;color:#a4a5ae}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;margin-top:16px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.students-panel,.upcoming-panel,.activity-panel{padding:18px 19px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel-head h2,.package-title h2,.cal-head h2{margin:0;font:700 14px Manrope,sans-serif;letter-spacing:-.2px}.panel-head p,.package-title p{font-size:10px;margin:5px 0 0;color:var(--muted)}.text-link{border:0;background:none;color:#7561d9;font-size:10px;font-weight:600;padding:5px}.text-link span{margin-left:4px}.student-list{margin-top:12px}.student-row{width:100%;display:flex;align-items:center;gap:10px;padding:10px 2px;background:none;border:0;border-top:1px solid var(--line);text-align:left}.student-avatar,.mini-avatar{width:34px;height:34px;flex:none;border-radius:50%;background:#f5e8df;color:#95694f;display:grid;place-items:center;font-size:10px;font-weight:700}.student-main{min-width:125px;display:grid;gap:4px}.student-main b,.table-student b{font-size:10px}.student-main span{font-size:9px;color:var(--muted)}.student-progress{margin-left:auto;width:min(34%,120px);display:grid;gap:5px}.progress-track{height:5px;background:#eeedf2;border-radius:9px;overflow:hidden;display:block}.progress-track i{height:100%;display:block;background:#8473e6;border-radius:9px}.student-progress small{font-size:8px;color:var(--muted)}.renew-dot{width:7px;height:7px;border-radius:50%;background:#e5a356}.row-chevron{color:#b2b2bb;transform:rotate(-90deg)}.round-small{border:1px solid var(--line);border-radius:8px;background:var(--paper);color:#858690;width:30px;height:30px;display:grid;place-items:center}.upcoming-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);margin-top:8px}.date-tile{width:37px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5f3ff;color:#6d58cc;border-radius:8px;flex:none}.dark .date-tile{background:#302c48}.date-tile b{font:700 15px Manrope}.date-tile span{font-size:8px;text-transform:uppercase}.upcoming-copy{display:grid;gap:4px;min-width:0}.upcoming-copy b{font-size:10px}.upcoming-copy span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-tag{margin-left:auto;background:var(--base);border-radius:5px;padding:5px 7px;color:var(--muted);font-size:9px}.calendar-link{width:100%;text-align:left;margin-top:5px;border:0;border-top:1px solid var(--line);padding:12px 0 0;background:transparent;color:#7561d9;font-weight:600;font-size:10px}.calendar-link span{float:right}.empty-small,.empty-line{color:var(--muted);font-size:11px;padding:15px 0}.empty-small button{display:block;margin-top:8px;border:0;background:none;color:#7561d9;padding:0}.activity-panel{margin-top:15px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;margin-top:15px;text-align:left;min-width:600px}th{font-size:8px;color:#a0a0aa;font-weight:700;letter-spacing:.7px;padding:8px 7px;border-bottom:1px solid var(--line)}td{padding:10px 7px;border-bottom:1px solid var(--line);font-size:9px;color:var(--muted)}tbody tr:last-child td{border:0}.table-student{display:flex;align-items:center;gap:7px;color:var(--ink)}.mini-avatar{width:25px;height:25px;font-size:8px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 8px;font-size:8px;white-space:nowrap}.status i{width:5px;height:5px;border-radius:50%;background:currentColor}.done{background:#e9f5ef;color:#4c9873}.scheduled{background:#f0edff;color:#7561d9}.missed{background:#fff0e6;color:#cc8054}.cancelled{background:#f2f2f4;color:#878791}.rescheduled{background:#eaf2fa;color:#5984ac}.dots{border:0;background:none;color:#a8a8b1;font-weight:700}.footer{margin-top:auto;display:flex;justify-content:space-between;padding:24px 0 18px;color:#a4a5ae;font-size:9px}.footer-star{color:#d4a56c}.page-heading{padding-bottom:20px}.page-heading h1{margin-top:8px}.student-layout{display:grid;grid-template-columns:220px 1fr;gap:15px}.roster{padding:15px 11px;align-self:start}.roster-head{display:grid;gap:12px;padding:2px 4px 14px}.roster-head h2{margin:0;font:700 13px Manrope}.roster-head h2 span{font:500 10px DM Sans;background:var(--base);padding:3px 6px;border-radius:5px;color:var(--muted);margin-left:4px}.searchbox{border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;padding:0 8px;gap:6px;color:#aaa;height:31px}.searchbox input{border:0;outline:none;background:transparent;width:100%;font-size:10px;color:var(--ink)}.roster-item{border:0;border-top:1px solid var(--line);background:none;padding:10px 4px;width:100%;display:flex;align-items:center;gap:8px;text-align:left}.roster-item.selected{background:var(--violet-light);border-radius:8px}.roster-item .student-avatar{width:29px;height:29px}.roster-item>span:nth-child(2){display:grid;gap:4px;flex:1;min-width:0}.roster-item b{font-size:10px}.roster-item small{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.alert-icon{color:#df9951}.detail{display:grid;gap:12px;min-width:0}.detail-hero{padding:17px;display:flex;align-items:center;justify-content:space-between}.detail-profile{display:flex;align-items:center;gap:11px}.big-avatar{width:49px;height:49px;border-radius:15px;background:#f1e5df;color:#9a6b54;display:grid;place-items:center;font-weight:700;font-size:15px}.detail-profile h2{font:700 16px Manrope;margin:4px 0}.detail-profile>div>span{font-size:10px;color:var(--muted)}.detail-actions{display:flex;gap:7px}.renew-alert{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:10px;border:1px solid #f2d4b4;background:#fff7ed;color:#805d35}.renew-alert b,.renew-alert span{display:block}.renew-alert b{font-size:11px}.renew-alert span{font-size:9px;margin-top:3px;color:#9d7952}.alert-symbol{color:#df9c57}.package-card,.next-card,.history-card{padding:17px}.package-title{display:flex;justify-content:space-between;align-items:flex-start}.package-numbers{display:flex;gap:45px;padding:18px 0 15px}.package-numbers>div,.portal-numbers>div{display:grid;gap:3px}.package-numbers strong{font:700 21px Manrope}.package-numbers span{font-size:9px;color:var(--muted)}.package-bar{padding:12px 0;border-top:1px solid var(--line)}.bar-caption{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:7px}.bar-caption b{color:var(--ink)}.progress-track.thick{height:8px}.last-payment{display:flex;align-items:center;gap:10px;padding-top:10px}.last-payment>span{color:var(--muted);font-size:9px}.last-payment>b{font-size:9px}.last-payment .text-link{margin-left:auto}.next-class{display:flex;align-items:center;gap:11px;padding:15px 0}.date-tile.large{width:47px;height:50px}.date-tile.large b{font-size:17px}.next-copy{display:grid;gap:5px;flex:1;min-width:0}.next-copy b{font-size:10px}.next-copy span{font-size:9px;color:var(--muted)}.meet-button{border-radius:7px;background:#7561d9;color:#fff;text-decoration:none;padding:9px 11px;display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:600;white-space:nowrap}.meet-link{border-top:1px solid var(--line);padding-top:11px;display:grid;gap:6px}.meet-link span{font-size:8px;color:#a0a0aa;letter-spacing:.6px}.meet-link a{font-size:10px;color:#7561d9;text-decoration:none;overflow-wrap:anywhere}.history-card .panel-head{align-items:center}.history-list{margin-top:10px}.history-item{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:10px 0}.history-date{width:31px;height:34px;border-radius:7px;background:var(--base);display:grid;place-content:center;text-align:center;flex:none}.history-date b{font:700 12px Manrope}.history-date span{font-size:7px;text-transform:uppercase;color:var(--muted)}.history-main{display:grid;gap:4px;flex:1;min-width:0}.history-main b{font-size:10px}.history-main span{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item select{font-size:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:5px 6px;border-radius:6px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);gap:15px}.calendar-card,.agenda-card{padding:18px}.cal-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px}.cal-head h2{text-transform:capitalize}.cal-head span{font-size:9px;color:var(--muted);display:block;margin-top:4px}.cal-controls{display:flex;gap:4px}.cal-controls button{height:28px;min-width:29px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font-size:10px;color:var(--muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.weekday{text-align:center;padding:9px 0;font-size:8px;color:var(--muted);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-day{min-height:76px;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px;color:var(--muted)}.cal-day>span{display:grid;place-items:center;width:20px;height:20px}.cal-day.today>span{background:#7561d9;color:#fff;border-radius:50%}.cal-day.blank{background:var(--base);opacity:.55}.cal-event{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:4px;text-align:left;background:#f0edff;color:#6956c2;font-size:8px;padding:4px;margin-top:4px}.cal-event i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#7561d9;margin-right:3px}.agenda-card .panel-head{align-items:center;margin-bottom:11px}.agenda-card .panel-head>svg{color:#8270d8}.agenda-item{display:flex;gap:9px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.agenda-date{width:34px;height:38px;border-radius:7px;background:var(--base);display:grid;align-content:center;justify-content:center;text-align:center;flex:none}.agenda-date b{font:700 13px Manrope}.agenda-date span{font-size:8px;text-transform:uppercase;color:var(--muted)}.agenda-item>div:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}.agenda-item>div:nth-child(2) b{font-size:9px}.agenda-item>div:nth-child(2) span{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-item button{border:0;background:none;color:#8172cf;padding:4px}.calendar-tip{margin-top:12px;background:#f4f1ff;color:#7461c6;border-radius:8px;padding:10px;display:flex;gap:8px;align-items:flex-start;font-size:9px;line-height:1.5}.dark .calendar-tip{background:#302c48;color:#c9c1ff}.student-portal{max-width:900px;width:100%;margin:0 auto;flex:1;padding-bottom:10px}.portal-top{height:68px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:12px}.portal-top>.brand{padding:0;flex:1}.portal-top>span{font-size:10px;color:var(--muted);margin-right:13px}.portal-welcome{padding:35px 0 20px}.portal-welcome h1{font-size:29px}.portal-alert{margin-bottom:15px}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-package,.portal-next,.portal-history{padding:19px}.portal-numbers{display:flex;gap:55px;margin-bottom:15px}.portal-numbers strong{font:700 30px Manrope;color:#6d59cf}.portal-numbers span{font-size:10px;color:var(--muted)}.portal-package .bar-caption{margin-top:8px}.portal-message{border-top:1px solid var(--line);margin-top:17px;padding-top:12px;display:flex;gap:9px;align-items:center;font-size:10px;color:#8170cd}.portal-date{display:flex;gap:12px;align-items:center;padding:17px 0}.portal-date>div:last-child{display:grid;gap:5px}.portal-date>div:last-child b{font-size:10px}.portal-date>div:last-child span{font-size:9px;color:var(--muted)}.meet-button.full{width:100%;justify-content:center;padding:11px}.add-calendar{display:block;border:0;background:none;color:#7561d9;margin:9px auto 0;font-size:9px}.portal-history{grid-column:1/-1}.portal-history-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.portal-history-row>div:nth-child(2){display:grid;gap:4px;flex:1}.portal-history-row>div:nth-child(2) b{font-size:10px}.portal-history-row>div:nth-child(2) span{font-size:9px;color:var(--muted)}.portal-footer{text-align:center;padding:24px;color:var(--muted);font-size:9px}.portal-footer span{color:#d4a56c}.overlay{position:fixed;inset:0;z-index:10;background:#17162277;display:grid;place-items:center;padding:18px}.modal{width:min(100%,440px);max-height:92vh;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 20px 70px #0002}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-head h2{font:700 16px Manrope;margin:0}.field{display:grid;gap:6px;margin:12px 0}.field>span{font-size:10px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px;background:var(--paper);color:var(--ink);outline:0;font-size:11px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#9c8be9}.field textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-hint{color:var(--muted);font-size:9px;margin:9px 0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:15;background:#282833;color:#fff;border-radius:9px;padding:11px 15px;display:flex;align-items:center;gap:8px;font-size:11px;box-shadow:0 7px 25px #0003}.toast svg{color:#a6dfb9}@media(max-width:1050px){.main{padding:0 25px}.sidebar{width:215px}.main{margin-left:215px}.student-layout{grid-template-columns:190px 1fr}.detail-actions .button{font-size:0;width:35px;padding:0}.detail-actions .button svg{flex:none}.calendar-layout{grid-template-columns:1fr}.agenda-card{display:grid;grid-template-columns:1fr 1fr;column-gap:15px}.agenda-card>.panel-head,.calendar-tip{grid-column:1/-1}}@media(max-width:720px){.sidebar{display:none}.main{margin-left:0;padding:0 16px}.topbar{height:58px}.mobile-menu{display:grid;border:0;background:none;padding:3px;color:var(--muted)}.crumb{gap:7px}.welcome,.page-heading{padding:27px 0 18px;align-items:flex-start}.welcome h1,.page-heading h1{font-size:23px}.welcome .button,.page-heading .button{height:34px;padding:0 9px;font-size:9px}.welcome .button svg,.page-heading .button svg{width:14px}.stats{gap:7px}.stat-card{padding:12px 10px;min-height:123px}.stat-icon{width:27px;height:27px;margin-bottom:9px}.stat-label{font-size:8px}.stat-value{font-size:17px}.stat-sub{left:10px;right:auto;bottom:11px;font-size:8px}.content-grid{grid-template-columns:1fr;gap:11px;margin-top:11px}.students-panel,.upcoming-panel,.activity-panel{padding:15px}.student-row{gap:8px}.student-progress{width:32%}.student-main{min-width:95px}.footer{font-size:8px;padding:19px 0 14px}.student-layout{display:flex;flex-direction:column}.roster{width:100%;padding:10px}.roster-head{grid-template-columns:1fr 150px;align-items:center;padding-bottom:8px}.roster-item{display:none}.roster-item.selected{display:flex}.roster-item.selected:after{content:"Cambiar";font-size:9px;color:#7561d9}.detail{width:100%}.detail-hero{padding:13px}.big-avatar{width:42px;height:42px}.detail-profile h2{font-size:14px}.detail-actions{gap:3px}.detail-actions .button{width:32px;height:32px}.package-numbers{justify-content:space-between;gap:10px}.package-numbers strong{font-size:18px}.package-numbers span{font-size:8px}.next-class{flex-wrap:wrap}.next-copy{min-width:calc(100% - 65px)}.history-item{gap:7px}.history-item select{max-width:112px}.history-card .panel-head{gap:6px}.history-card .panel-head .button{font-size:0;width:33px;padding:0}.history-card .panel-head .button svg{width:15px}.calendar-card,.agenda-card{padding:12px}.cal-day{min-height:63px;padding:4px 2px}.cal-event{font-size:7px;padding:3px 2px}.weekday{font-size:7px}.agenda-card{display:block}.portal-top>.brand{font-size:17px}.portal-top .brand-icon{width:30px;height:30px}.portal-top>span{display:none}.portal-top>.button{font-size:9px}.portal-welcome{padding:28px 0 16px}.portal-welcome h1{font-size:25px}.portal-grid{grid-template-columns:1fr;gap:10px}.portal-history{grid-column:auto}.portal-numbers{gap:40px}.portal-history-row{gap:7px}.portal-history-row .status{font-size:7px;padding:4px 6px}.portal-package,.portal-next,.portal-history{padding:15px}.student-portal{padding-bottom:0}}@media(max-width:380px){.welcome h1{font-size:21px}.welcome .button{font-size:8px;padding:0 7px}.stat-card{padding:10px 8px}.student-main span{font-size:8px}.student-progress small{font-size:7px}.student-progress{width:29%}.row-chevron{display:none}.detail-actions .button{width:29px}.package-numbers strong{font-size:16px}}.demo-banner,.inline-error{display:flex;align-items:center;gap:8px;border-radius:8px;padding:9px 12px;margin-top:12px;font-size:10px;line-height:1.4}.demo-banner{background:#fff7ed;color:#8f693b;border:1px solid #f2dfc5}.inline-error{background:#fff0f0;color:#a34444;border:1px solid #efcccc}.dark .demo-banner{background:#3c3025;color:#f0c99a;border-color:#58442d}.dark .inline-error{background:#402b2b;color:#ffbdbd;border-color:#603b3b}.inactive-toggle{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:5px}.inactive-toggle input{accent-color:#7561d9}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--base);color:var(--ink)}.login-card{width:min(100%,390px);background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:29px;box-shadow:var(--shadow)}.login-card .brand{padding:0 0 35px}.login-card h1,.empty-dashboard h1{font:700 25px Manrope,sans-serif;letter-spacing:-.8px;margin:8px 0}.login-card>p,.empty-dashboard p{font-size:12px;line-height:1.6;color:var(--muted)}.login-card form .button{width:100%;margin-top:4px}.auth-message{font-size:11px;color:#5d8c70;margin-top:12px;line-height:1.5}.login-card>small{display:block;margin-top:24px;color:var(--muted);font-size:9px;line-height:1.5}.portal-loading,.portal-unavailable{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted);font-size:12px;padding:24px}.portal-unavailable svg{margin:0 auto;color:#8170d7}.portal-unavailable h1{font:700 22px Manrope;color:var(--ink)}.portal-unavailable p{max-width:300px;line-height:1.6}.student-portal-shell{max-width:950px;margin:auto;padding:0 24px}.empty-dashboard{margin:auto;min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-dashboard .brand-icon{width:48px;height:48px}.empty-dashboard p{max-width:340px}.empty-dashboard .button{margin-top:12px}.profile{cursor:pointer}.profile:hover{background:var(--base)}.portal-top .icon-button{margin-left:auto}.detail-actions .button{height:32px}.roster-head{grid-template-columns:1fr}.roster-head h2{display:flex;align-items:center;justify-content:space-between}.roster-head .searchbox{width:100%}.roster-item small:last-child{font-size:8px}.main .page-heading{padding-top:34px}.mobile-nav{display:none}@media(max-width:720px){.mobile-nav{position:fixed;z-index:6;inset:auto 0 0;display:flex;justify-content:space-around;padding:8px 10px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.mobile-nav button{display:grid;justify-items:center;gap:3px;border:0;background:transparent;color:var(--muted);font-size:8px;padding:3px 12px}.mobile-nav button.selected{color:#7561d9;font-weight:700}.main{padding-bottom:66px}.footer{padding-bottom:14px}.backup-button{font-size:0;width:31px;padding:0}}
