#student-portal .ro-v131 .ro-dash{padding:30px 28px;max-width:1800px}#student-portal .ro-v131 .ro-dash-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}#student-portal .ro-v131 .ro-dash-heading h1{font-size:29px;margin:6px 0 0;letter-spacing:-.7px}#student-portal .ro-eyebrow{font-size:10px;letter-spacing:1.7px;color:#75bfe9;font-weight:750}#student-portal .ro-primary{background:#267eae;color:#fff;border:1px solid #4c9ac4;padding:11px 16px;border-radius:0;cursor:pointer;font-weight:700}#student-portal .ro-columns{display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,1.3fr) minmax(220px,.95fr);gap:15px;align-items:start}#student-portal .ro-panel{background:#122234;border:1px solid #293e52;min-height:365px;min-width:0}#student-portal .ro-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:18px;border-bottom:1px solid #2b4054}#student-portal .ro-panel-head h2{font-size:15px;margin:0;color:#f0f6fb}#student-portal .ro-subtle{font-size:11px;color:#92a9be}#student-portal .ro-month-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;color:#e8f3fb;font-size:13px}#student-portal .ro-month-head a{font-size:25px;text-decoration:none;color:#8bc9ed;padding:0 7px}#student-portal .ro-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:0 13px}#student-portal .ro-weekday{text-align:center;font-size:10px;color:#8da6bd;padding:8px 0}#student-portal .ro-day{position:relative;background:transparent;border:1px solid transparent;color:#e0e9f2;min-height:37px;padding:5px 0;cursor:pointer;border-radius:0;font-size:12px}#student-portal .ro-day:hover{background:#24445c}#student-portal .ro-day.ro-selected{background:#285e82;border-color:#65b6e6}#student-portal .ro-day.ro-today{outline:1px solid #5285a6;outline-offset:-2px}#student-portal .ro-day.ro-outside{opacity:.32}#student-portal .ro-day i{display:block;position:absolute;bottom:2px;left:calc(50% - 2px);height:4px;width:4px;border-radius:50%;background:#71c7ff}#student-portal .ro-calendar-foot{padding:12px 17px;color:#8da5b9;font-size:11px}#student-portal .ro-empty{color:#90a6ba;font-size:13px;padding:28px 18px}#student-portal .ro-lesson{display:flex;align-items:center;gap:12px;padding:15px;border-bottom:1px solid #26394d}#student-portal .ro-lesson-time{font-size:12px;color:#87c8ed;min-width:65px}#student-portal .ro-lesson-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}#student-portal .ro-lesson-details strong{font-size:13px;color:#e8f3fa}#student-portal .ro-lesson-details span,#student-portal .ro-lesson-details small{font-size:11px;color:#90a7ba}#student-portal .ro-small-action{font-size:11px;background:#244b67;color:#dff4ff;border:1px solid #447fa5;border-radius:0;padding:8px;cursor:pointer;white-space:nowrap}#student-portal .ro-complete{font-size:11px;color:#91d5bb}#student-portal .ro-past-item{display:flex;justify-content:space-between;gap:8px;padding:16px;border-bottom:1px solid #26394d}#student-portal .ro-past-item div{display:flex;flex-direction:column;gap:5px}#student-portal .ro-past-item strong{font-size:13px;color:#edf5fb}#student-portal .ro-past-item span{font-size:11px;color:#90a7ba}#student-portal .ro-inprogress{font-size:11px;color:#e9c789}#student-portal .ro-notice{padding:12px;background:#17324a;border:1px solid #47728e;color:#e1eff9}#ro-booking-dialog{width:min(640px,calc(100vw - 20px));max-height:90vh;background:#102033;color:#e8f2fa;border:1px solid #496781;border-radius:0;padding:0;box-shadow:0 24px 90px #0009}#ro-booking-dialog::backdrop{background:#030b15d9}#ro-booking-dialog .ro-dialog-bar{position:sticky;top:0;z-index:2;background:#102033;border-bottom:1px solid #314a60;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}#ro-booking-dialog .ro-dialog-bar h2{color:#f0f7ff;margin:5px 0 0;font-size:21px}#ro-booking-dialog .ro-dialog-close{background:none;color:#e4f1fc;border:0;font-size:30px;cursor:pointer}#ro-booking-dialog .ro-dialog-content{padding:20px 24px}#ro-booking-dialog .ro-book-date-label{color:#9db6cb;font-size:13px}#ro-booking-dialog #rax-booking-form{display:block!important;background:transparent!important;border:0!important;padding:0!important}#ro-booking-dialog #rax-booking-form>summary{display:none!important}#ro-booking-dialog .rax-scheduler{background:transparent!important;padding:0!important;border:0!important}#ro-booking-dialog .rax-schedule-create{background:transparent!important;box-shadow:none!important}#ro-booking-dialog .rax-schedule-create form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#ro-booking-dialog .rax-schedule-create form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#b8cfe0}#ro-booking-dialog input,#ro-booking-dialog select,#ro-booking-dialog textarea{width:100%;background:#172c41;color:#f1f8ff;border:1px solid #3a5870;border-radius:0;padding:10px;box-sizing:border-box}#ro-booking-dialog .rax-schedule-create form button[type=submit]{background:#2882b4;color:white;border:0;border-radius:0;padding:12px;font-weight:700;cursor:pointer}#ro-booking-dialog .rax-rental-approvals{display:none}@media(max-width:1250px){#student-portal .ro-columns{grid-template-columns:1fr 1fr}#student-portal .ro-past{grid-column:1/-1}}@media(max-width:800px){#student-portal .ro-columns{grid-template-columns:1fr}#student-portal .ro-past{grid-column:auto}#student-portal .ro-v131 .ro-dash{padding:20px 14px}#ro-booking-dialog .rax-schedule-create form{grid-template-columns:1fr}}/* v13.1.1 — three-column uniform-height dashboard */
@media (min-width:1251px){
 #student-portal .ro-columns{align-items:stretch!important;grid-template-columns:minmax(240px,1fr) minmax(300px,1.3fr) minmax(220px,.95fr)}
 #student-portal .ro-columns>.ro-panel{height:560px!important;min-height:0!important;max-height:560px!important;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}
 #student-portal .ro-columns>.ro-panel>.ro-panel-head{flex:0 0 auto}
 #student-portal .ro-columns>.ro-panel>:not(.ro-panel-head){min-height:0}
 #student-portal .ro-columns>.ro-panel .ro-lesson-list,
 #student-portal .ro-columns>.ro-panel .ro-past-list{overflow-y:auto;flex:1 1 auto;scrollbar-width:thin;scrollbar-color:#42617a transparent}
 #student-portal .ro-columns>.ro-panel .ro-calendar-foot{margin-top:auto}
}
@media (min-width:801px) and (max-width:1250px){
 #student-portal .ro-columns{align-items:stretch!important}
 #student-portal .ro-columns>.ro-panel{min-height:460px;box-sizing:border-box}
}

/* v13.2: full-width notifications, independent of the three equal-height columns */
#student-portal .ro-notification-center{background:#122234;border:1px solid #293e52;margin:0 0 16px;min-width:0;color:#eaf4fb}
#student-portal .ro-notify-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border-bottom:1px solid #2b4054}
#student-portal .ro-notify-heading{display:flex;align-items:center;gap:12px}
#student-portal .ro-notify-symbol{font-size:19px;color:#7ac9f4}
#student-portal .ro-notify-heading h2{font-size:15px;margin:0 0 4px;color:#f0f6fb}
#student-portal .ro-notify-badge{display:inline-flex;align-items:center;justify-content:center;background:#2688bb;color:white;min-width:21px;height:21px;padding:0 5px;font-size:11px;margin-left:7px;border-radius:2px}
#student-portal .ro-notify-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
#student-portal .ro-notify-form{margin:0;flex:none}
#student-portal .ro-notify-form button{cursor:pointer;border:1px solid #46657e;background:#1b3449;color:#e0f0fb;border-radius:0;padding:7px 10px;font-size:11px;white-space:nowrap}
#student-portal .ro-notify-form button:hover{background:#285273}
#student-portal .ro-notify-clear button{border-color:#72525c;color:#f3c4cc;background:transparent}
#student-portal .ro-notify-empty{padding:20px 18px;color:#94afc3;font-size:12px}
#student-portal .ro-notify-list{max-height:196px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#42617a transparent}
#student-portal .ro-notify-item{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid #26394d;min-width:0}
#student-portal .ro-notify-item:last-child{border-bottom:0}
#student-portal .ro-notify-unread{background:#183149}
#student-portal .ro-notify-dot{flex:0 0 6px;width:6px;height:6px;background:transparent;border-radius:50%}
#student-portal .ro-notify-unread .ro-notify-dot{background:#6ec9ff}
#student-portal .ro-notify-copy{flex:1;min-width:0}
#student-portal .ro-notify-title{font-size:12px;font-weight:650;color:#e8f5ff}
#student-portal .ro-notify-copy p{font-size:11px;color:#9eb7cb;margin:3px 0 0;overflow-wrap:anywhere}
#student-portal .ro-notify-item time{color:#91aabe;font-size:10px;white-space:nowrap}
#student-portal .ro-notify-read-label{font-size:11px;color:#7795aa;min-width:54px;text-align:right}
@media(max-width:700px){#student-portal .ro-notify-head{align-items:flex-start;flex-direction:column}#student-portal .ro-notify-item{flex-wrap:wrap}#student-portal .ro-notify-item time{margin-left:18px}#student-portal .ro-notify-list{max-height:260px}}

/* v13.3: notifications are the first dashboard element */
#student-portal .ro-v131 .ro-dash{padding:18px 24px 26px!important;max-width:none!important}
#student-portal .ro-v131 .ro-dash-heading{display:none!important}
@media(max-width:800px){#student-portal .ro-v131 .ro-dash{padding:12px!important}}

/* v13.3.2: compact administrative actions, unchanged row dimensions */
#student-portal .ro-lesson-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}#student-portal .ro-cancel-form{margin:0;display:inline-flex}#student-portal .ro-lesson-actions .ro-small-action{padding:6px 9px;font-size:11px;line-height:1.2}#student-portal .ro-cancel-action{background:#432735;border-color:#865263;color:#ffe0e5}#student-portal .ro-lesson{flex-wrap:nowrap}#student-portal .ro-edit-dialog{width:min(460px,calc(100vw - 24px));max-height:85vh;overflow:auto;border:1px solid #39566e;border-radius:0;background:#122438;color:#e8f3fb;padding:22px}#student-portal .ro-edit-dialog::backdrop{background:#000b}#student-portal .ro-edit-dialog form{display:grid;gap:14px}#student-portal .ro-edit-dialog h3{margin:0;font-size:18px}#student-portal .ro-edit-dialog label{display:grid;gap:5px;font-size:12px}#student-portal .ro-edit-dialog input,#student-portal .ro-edit-dialog select{width:100%;padding:10px;background:#192f45;color:#fff;border:1px solid #46627a;border-radius:0}#student-portal .ro-edit-footer{display:flex;justify-content:flex-end;gap:8px}#student-portal .ro-edit-footer button{padding:9px 13px;border:1px solid #47728e;background:#234d6a;color:#fff;cursor:pointer;border-radius:0}

/* v13.3.3 horizontal lesson actions */
#student-portal .ro-lesson-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end;gap:6px!important;min-width:max-content;flex:0 0 auto}
#student-portal .ro-lesson-actions>.ro-small-action,#student-portal .ro-lesson-actions>.ro-cancel-form{flex:0 0 auto!important;width:auto!important;margin:0!important}
#student-portal .ro-lesson-actions .ro-small-action{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap!important;min-height:32px;box-sizing:border-box}
#student-portal .ro-lesson{min-width:0;gap:8px}
@media(max-width:700px){#student-portal .ro-lesson{flex-wrap:wrap!important}#student-portal .ro-lesson-actions{width:100%;justify-content:flex-end}}

/* v13.3.4 - explicitly size all three actions as a single nonwrapping horizontal group */
#student-portal .ro-lesson-actions { display:inline-flex!important; flex-flow:row nowrap!important; align-items:center!important; justify-content:flex-end!important; gap:4px!important; width:max-content!important; max-width:none!important; min-width:max-content!important; flex:0 0 auto!important; margin:0!important; padding:0!important; }
#student-portal .ro-lesson-actions > button, #student-portal .ro-lesson-actions > form { display:inline-flex!important; flex:0 0 auto!important; float:none!important; clear:none!important; width:auto!important; max-width:none!important; min-width:0!important; margin:0!important; padding:0!important; }
#student-portal .ro-lesson-actions .ro-small-action { display:inline-flex!important; width:auto!important; min-width:0!important; min-height:26px!important; height:26px!important; margin:0!important; padding:3px 6px!important; font-size:10px!important; font-weight:600!important; line-height:1!important; white-space:nowrap!important; border-radius:0!important; box-sizing:border-box!important; }
#student-portal .ro-lesson-actions .ro-cancel-form { display:inline-flex!important; flex-flow:row nowrap!important; align-items:center!important; }
#student-portal .ro-lesson { display:flex!important; flex-flow:row nowrap!important; align-items:center!important; gap:5px!important; padding:9px 7px!important; overflow-x:auto; }
#student-portal .ro-lesson-time { min-width:47px!important; font-size:10px!important; flex:0 0 auto!important; }
#student-portal .ro-lesson-details { min-width:55px!important; flex:1 1 auto!important; overflow:hidden; }
#student-portal .ro-lesson-details strong,#student-portal .ro-lesson-details span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:700px){#student-portal .ro-lesson{flex-wrap:nowrap!important}#student-portal .ro-lesson-actions{width:max-content!important;justify-content:flex-end!important}}

/* v13.3.5: dedicated action toolbar, never stack the three controls */
#student-portal .ro-v131 .ro-agenda .ro-lesson{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;column-gap:8px!important;row-gap:8px!important;align-items:center!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-time{grid-column:1!important;grid-row:1!important;min-width:0!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-details{grid-column:2!important;grid-row:1!important;min-width:0!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions{grid-column:1/-1!important;grid-row:2!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-end!important;align-items:center!important;gap:5px!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions > button,#student-portal .ro-v131 .ro-agenda .ro-lesson-actions > form{display:inline-flex!important;flex:0 0 auto!important;position:static!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;clear:none!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions .ro-small-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;height:28px!important;min-height:28px!important;padding:3px 7px!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important;box-sizing:border-box!important;border-radius:0!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions .ro-cancel-action{background:#8b2637!important;border-color:#cf5265!important;color:#fff!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions .ro-cancel-action:hover{background:#a52e43!important}

/* v13.3.6: explicit three-column action row */
#student-portal .ro-lesson .ro-lesson-actions{display:grid!important;grid-template-columns:max-content max-content max-content!important;grid-auto-flow:column!important;align-items:center!important;justify-content:end!important;gap:5px!important;width:100%!important;min-width:0!important}
#student-portal .ro-lesson .ro-lesson-actions>.ro-edit-open{grid-column:1!important;grid-row:1!important}
#student-portal .ro-lesson .ro-lesson-actions>.ro-cancel-form{grid-column:2!important;grid-row:1!important;display:block!important}
#student-portal .ro-lesson .ro-lesson-actions>.rax-flight-open,#student-portal .ro-lesson .ro-lesson-actions>.ro-complete{grid-column:3!important;grid-row:1!important}
#student-portal .ro-lesson .ro-lesson-actions>button,#student-portal .ro-lesson .ro-lesson-actions>form,#student-portal .ro-lesson .ro-lesson-actions>form>button{width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;float:none!important;clear:none!important;white-space:nowrap!important;position:static!important}
#student-portal .ro-lesson .ro-lesson-actions .ro-small-action{font-size:10px!important;height:27px!important;min-height:27px!important;padding:3px 6px!important;line-height:1!important;border-radius:0!important}
#student-portal .ro-lesson .ro-lesson-actions .ro-cancel-action{background:#a52b3d!important;border:1px solid #d65365!important;color:#fff!important}

/* v13.3.7 — compact daily schedule entries; do not alter the panel's fixed height */
#student-portal .ro-v131 .ro-agenda .ro-lesson {
 display:grid!important;
 grid-template-columns:60px minmax(100px,1fr) max-content!important;
 grid-template-rows:auto!important;
 align-items:center!important;
 column-gap:10px!important;
 row-gap:0!important;
 padding:9px 12px!important;
 min-height:54px!important;
 height:auto!important;
 box-sizing:border-box!important;
 overflow:visible!important;
}
#student-portal .ro-v131 .ro-agenda .ro-lesson-time {grid-column:1!important;grid-row:1!important;align-self:center!important;}
#student-portal .ro-v131 .ro-agenda .ro-lesson-details {grid-column:2!important;grid-row:1!important;gap:2px!important;align-self:center!important;}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions {
 grid-column:3!important;grid-row:1!important;
 display:grid!important;
 grid-template-columns:repeat(3,max-content)!important;
 width:max-content!important;max-width:none!important;
 justify-self:end!important;align-self:center!important;
 gap:5px!important;
}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions .ro-small-action {
 height:27px!important;min-height:27px!important;padding:3px 6px!important;font-size:10px!important;
}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions .ro-cancel-action {background:#a52b3d!important;border-color:#d65365!important;color:#fff!important;}
@media(max-width:1050px){
 #student-portal .ro-v131 .ro-agenda .ro-lesson {grid-template-columns:52px minmax(0,1fr)!important;row-gap:5px!important;}
 #student-portal .ro-v131 .ro-agenda .ro-lesson-actions {grid-column:2!important;grid-row:2!important;justify-self:start!important;}
}

/* v14.2.3: calendar browsing and flight booking are separate actions */
#student-portal .ro-calendar-actions{padding:14px 16px 4px;display:flex}#student-portal .ro-calendar-actions .ro-book-open{width:100%;border:1px solid #4a96c5;border-radius:0;background:#2679ac;color:#fff;font-size:13px;font-weight:700;padding:12px 15px;cursor:pointer}#student-portal .ro-calendar-actions .ro-book-open:hover{background:#328fc4}#student-portal .ro-calendar-actions .ro-book-open:focus-visible{outline:2px solid #8bc9ed;outline-offset:2px}

/* v14.2.7: administrator booking approval, Edit / Approve / Cancel */
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions{display:flex!important;flex-flow:row nowrap!important;gap:6px!important;align-items:center!important;justify-content:flex-end!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions>.ro-edit-open{order:1!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions>.ro-approve-form{order:2!important;display:inline-flex!important;flex:0 0 auto!important;margin:0!important;width:auto!important;grid-column:auto!important;grid-row:auto!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions>.ro-cancel-form{order:3!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions>.rax-flight-open,#student-portal .ro-v131 .ro-agenda .ro-lesson-actions>.ro-complete{order:4!important}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions .ro-approve-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#207c4d!important;border:1px solid #3db77b!important;color:#fff!important;min-height:28px!important;height:28px!important;padding:3px 9px!important;font-size:11px!important;font-weight:650!important;border-radius:0!important;white-space:nowrap!important;cursor:pointer}
#student-portal .ro-v131 .ro-agenda .ro-lesson-actions .ro-approve-action:hover{background:#29955f!important}
