/* Compact student shell; desktop workspaces keep their existing density. */
:root{--student-bottom-height:74px}
body[data-role=student]{font-size:15px}
body[data-role=student] .mobile-shell{display:flex;flex-direction:column;min-height:100dvh}
.mobile-top{position:sticky;top:0;z-index:81;padding:9px 15px;gap:10px;min-height:64px;background:#fff}
.mobile-top .brand-logo{width:156px;max-width:100%;height:auto}
.mobile-top .brand{max-width:156px;flex:0 1 156px}
.mobile-tools{margin-inline-start:auto;gap:4px;flex-shrink:0}
.mobile-tools .language-button{padding:7px 8px;max-width:132px;font-size:12px;line-height:1.5}
.mobile-tools .language-button span{overflow-wrap:anywhere}
.mobile-tools .icon-button{justify-content:center;min-width:44px;min-height:44px}
.student-access-bar{top:var(--student-top-height,64px);padding:7px 14px;gap:7px}
.student-access-bar button{min-height:44px;font-size:12px;line-height:1.45;padding:7px 9px}
.student-access-bar button:last-child{flex:0 0 44px}
.student-access-bar button:last-child span{display:none}
.mobile-main{padding:19px 18px 20px;flex:1}
.mobile-main .page-heading{margin-bottom:18px;gap:10px}
.mobile-main .page-heading h1{font-size:25px;line-height:1.35}
.mobile-main .page-heading p{font-size:13px;line-height:1.65;color:#526c73;margin-top:5px}
.mobile-main .page-tag,.mobile-main .breadcrumb{display:none}
.v4-heading-back{min-height:44px;min-width:44px;padding:9px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d5e2df;border-radius:12px;color:#326367;flex-shrink:0}
.v4-heading-copy{flex:1;min-width:0}
[dir=rtl] .v4-heading-back svg,[dir=rtl] .v4-continue svg{transform:rotate(180deg)}
.mobile-main .ui-note{font-size:13px;line-height:1.75;color:#3f646b;background:#edf5f3}
.mobile-main .ui-note.amber{background:#fff7e9;color:#7e6334}
.mobile-main .ui-note.red{background:#fff1ed;color:#904d3a}
.mobile-main .ui-btn.ghost{color:#23696f;min-height:44px;padding:8px}
.mobile-main .ui-input,.mobile-main select,.mobile-main textarea{font-size:16px}
.mobile-main .field-label,.mobile-main .check-field{font-size:14px;line-height:1.7}
.mobile-main .ui-small,.mobile-main .ui-muted{color:#526d76}
.mobile-main .ui-kv dt{color:#526d76}
.mobile-main button,.mobile-main a{overflow-wrap:anywhere}
.mobile-bottom{margin-top:auto;min-height:var(--student-bottom-height)}
.mobile-tab{font-size:12px;min-height:49px}
.mobile-page-foot{padding:0 14px 9px}
.local-demo-label{font-size:11px;color:#607b80;line-height:1.7;padding:4px 18px 14px}
.v4-offline{padding:10px 18px;color:#80552b;background:#fff3dd;font-size:13px;line-height:1.65}
[hidden]{display:none!important}
.v4-current{font-size:13px;color:#526e72;line-height:1.6}
.v4-language-page{gap:15px}
.v4-language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;direction:ltr}
.v4-language-choice{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;min-height:54px;padding:12px;border:1px solid #d0dfdd;border-radius:12px;color:#244b53;background:#fff;text-align:start;font-size:16px;line-height:1.65}
.v4-language-choice span{overflow-wrap:anywhere}
.v4-language-choice.selected{border-color:#176c70;background:#e5f3ef;box-shadow:inset 0 0 0 1px #176c70;color:#145b60}
.v4-language-choice svg{width:17px;height:17px}
.v4-recent{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;color:#587478}
.v4-recent button{min-height:44px;padding:8px 11px;background:#eaf2f1;border-radius:9px;font-size:14px;color:#285e63}
.v4-continue{width:100%;min-height:48px!important}
.language-sheet-overlay{align-items:flex-end;padding:0;background:#16363566;backdrop-filter:blur(2px)}
.v4-language-sheet{width:100%;max-width:480px;max-height:88dvh;overflow-y:auto;border-radius:23px 23px 0 0;padding:8px 20px max(20px,env(safe-area-inset-bottom));box-shadow:0 -12px 50px #173d4c26;text-align:start}
.v4-sheet-handle{width:38px;height:4px;border-radius:5px;background:#d4e2df;margin:0 auto 9px}
.v4-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.v4-sheet-head h2{font-size:21px;line-height:1.4;color:#224c53}
.v4-sheet-head button{justify-content:center;min-width:44px;min-height:44px;background:#eef5f3;color:#2f6065}
.v4-language-sheet .v4-language-grid{margin-top:14px}
.v4-language-sheet .v4-recent{margin-top:8px}
.v4-sheet-return{width:100%;min-height:46px;margin-top:16px}
body.has-modal{overflow:hidden}
.v4-draft-status{font-size:12px!important;line-height:1.6;color:#51746b;margin-top:6px!important;min-height:20px}
.v4-draft-status.empty{visibility:hidden}
.v4-draft-status.warning{color:#88512a}
.v4-message-list{display:flex;flex-direction:column;gap:12px}
.v4-message{border:1px solid #dce8e4;border-radius:14px;background:#fff;padding:15px}
.v4-message-meta{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:#5b777c}
.v4-message-meta>span{display:flex;align-items:center;gap:7px;font-weight:600;color:#2e555d}
.v4-message-meta time{font-variant-numeric:tabular-nums;font-size:12px}
.v4-message-meta [data-message-read]{font-size:10px;line-height:1.5;padding:2px 6px;border-radius:5px;background:#edf5f2;color:#25635d}
.appointment-v04{scroll-margin-top:calc(var(--student-top-height,64px) + 80px)}
.mobile-main input,.mobile-main textarea,.mobile-main select,.mobile-main [tabindex],.mobile-main .form-error-summary{scroll-margin-block:calc(var(--student-top-height,64px) + 80px) 100px}
.capture-mode .mobile-top{position:static}
.v4-message-details summary{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding-top:7px;color:#17696d;cursor:pointer;list-style:none;font-weight:600;font-size:14px}
.v4-message-details summary::-webkit-details-marker{display:none}
.v4-message-details[open] summary svg{transform:rotate(180deg)}
.v4-message-content{padding-top:10px;border-top:1px solid #e5eeeb;font-size:14px;line-height:1.8}
.v4-message-content .ui-btn{margin-top:10px;width:100%}
.v4-readable{display:flex;align-items:flex-start;gap:8px}
.v4-readable-copy{min-width:0;flex:1;display:flow-root}
.v4-readable-copy>svg{display:none}
.v4-listen-section{min-width:44px;min-height:44px;border-radius:9px;border:1px solid #d4e3df;color:#2d696b;background:#ffffffaa;display:grid;place-items:center;flex-shrink:0}
[lang=ur] .mobile-main,[lang=ur] .v4-language-sheet{line-height:1.9;font-family:Tahoma,Arial,sans-serif}
[lang=ar] .mobile-main,[lang=ar] .v4-language-sheet{line-height:1.8}
.v4-language-choice[lang=ur],.v4-language-choice[lang=ar]{font-size:18px;line-height:1.8}
.v4-language-choice:focus-visible,.v4-language-sheet button:focus-visible{outline:3px solid #267e88;outline-offset:3px}
@media(max-width:380px){.mobile-top{padding-inline:12px;gap:5px}.mobile-top .brand-logo{width:140px}.mobile-top .brand{max-width:140px;flex-basis:140px}.mobile-tools .language-button{font-size:11px;max-width:117px;gap:4px}.mobile-main{padding-inline:15px}.student-access-bar{padding-inline:12px}.v4-language-choice{padding:10px;font-size:15px}.mobile-tab{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(min-width:700px){.language-sheet-overlay{align-items:center}.v4-language-sheet{border-radius:20px}.v4-sheet-handle{display:none}}
