*{box-sizing:border-box}body{color:#392c34;background:#f5f1ec;margin:0;font-family:DM Sans,IBM Plex Sans Arabic,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}.portal-header{border-bottom:1px solid #ded6cf;justify-content:space-between;align-items:center;max-width:1400px;margin:auto;padding:26px 6%;display:flex}.portal-brand{letter-spacing:.18em;align-items:center;gap:15px;text-decoration:none;display:flex}.portal-brand>span{font-family:Noto Naskh Arabic,serif;font-size:45px}.portal-brand div{font-size:22px}.portal-brand small{letter-spacing:.2em;margin-top:5px;font-size:8px;display:block}.portal-header-actions{align-items:center;gap:25px;display:flex}.portal-header button,.portal-auth-links button{color:inherit;text-underline-offset:5px;background:0 0;border:0;padding:8px 0;text-decoration:underline}.portal-main{max-width:1180px;min-height:75vh;margin:auto;padding:65px 5% 100px}.portal-eyebrow{letter-spacing:.13em;text-transform:uppercase;color:#786759;font-size:11px;font-weight:500}.portal-main h1{letter-spacing:-.035em;white-space:pre-line;margin:20px 0;font-family:Cormorant Garamond,Noto Naskh Arabic,serif;font-size:clamp(42px,6vw,74px);font-weight:400;line-height:1.07}.portal-intro{color:#736770;max-width:620px;margin-bottom:32px;line-height:1.8}.portal-main h2{margin:4px 0 20px;font-family:Cormorant Garamond,Noto Naskh Arabic,serif;font-size:32px;font-weight:400}.portal-main h3{margin:14px 0;font-family:Cormorant Garamond,Noto Naskh Arabic,serif;font-size:23px;font-weight:500}.portal-card{overflow-wrap:anywhere;background:#fffdfa;border:1px solid #e4ddd6;border-radius:14px;min-width:0;margin-bottom:20px;padding:26px}.portal-card p{color:#6b6167;font-size:14px;line-height:1.7}.portal-auth{max-width:480px;margin-top:36px;padding:36px}.portal-main form{gap:19px;display:grid}.portal-main label{gap:9px;font-size:13px;display:grid}.portal-main input,.portal-main select,.portal-main textarea{color:#392c34;background:#fffdfa;border:1px solid #cfc4bc;border-radius:6px;width:100%;min-width:0;padding:12px 13px}.portal-main input[type=file]{padding:10px;font-size:13px}.portal-main textarea{resize:vertical;min-height:90px}.portal-main button,.portal-primary{color:#392c34;text-align:center;background:0 0;border:1px solid #cfc4bc;border-radius:6px;padding:11px 18px;font-size:13px;text-decoration:none;display:inline-block}.portal-main .portal-primary{color:#fffdfa;background:#49313f;border-color:#49313f}.portal-main .portal-primary:hover{background:#654859}.portal-auth-links{flex-wrap:wrap;gap:20px;margin-top:22px;display:flex}.portal-main .portal-auth-links button{border:0;padding:0}.portal-hint{color:#766b71;line-height:1.8;font-size:12px!important}.portal-summary{border-top:1px solid #d9cfc6;border-bottom:1px solid #d9cfc6;grid-template-columns:repeat(3,1fr);margin:35px 0;padding:25px 0;display:grid}.portal-summary>div{border-inline-end:1px solid #d9cfc6;align-items:center;gap:16px;padding-inline:20px;display:flex}.portal-summary>div:last-child{border:0}.portal-summary strong{font:400 40px Cormorant Garamond,serif}.portal-summary span{color:#766b71;font-size:12px}.portal-tabs{gap:8px;margin-bottom:20px;padding-bottom:15px;display:flex;overflow-x:auto}.portal-tabs button{white-space:nowrap;border:0;border-radius:30px}.portal-tabs button[aria-current]{color:#fffdfa;background:#49313f}.portal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.portal-list>.portal-card{margin:0}.portal-list{margin:20px 0}.portal-card-top{color:#766b71;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.portal-status{color:#655549;background:#eee7e1;border-radius:30px;padding:6px 10px;font-size:11px;display:inline-block}.portal-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.portal-empty{color:#776a71;border:1px dashed #c9beb5;border-radius:10px;padding:40px;line-height:1.8}.portal-form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.portal-card summary{cursor:pointer;padding:5px 0;font-size:17px}.portal-card[open] summary{margin-bottom:24px}.portal-message{background:#e8efe3;border:1px solid #c9d9bc;border-radius:8px;margin:18px 0;padding:16px 20px;line-height:1.7}.portal-message.error{color:#773a2b;background:#f8e8e3;border-color:#ddbab0}.portal-prewrap{white-space:pre-wrap}.portal-footer{color:#796b73;border-top:1px solid #ded6cf;justify-content:space-between;gap:16px;max-width:1180px;margin:auto;padding:25px 5%;font-size:11px;display:flex}.portal-section li{margin-block:12px}.portal-section li button{margin-inline-start:10px}.portal-shell[dir=rtl] h1{letter-spacing:0;line-height:1.45}.portal-shell[dir=rtl] .portal-eyebrow{letter-spacing:0}@media (width<=650px){.portal-main{padding:40px 6% 60px}.portal-auth{padding:24px}.portal-list,.portal-form-grid{grid-template-columns:1fr}.portal-summary>div{flex-direction:column;align-items:flex-start;gap:6px;padding-inline:8px}.portal-summary strong{font-size:32px}.portal-summary span{font-size:10px}.portal-card{padding:22px}.portal-tabs{margin-inline-end:-6vw}.portal-header-actions{gap:15px;font-size:12px}.portal-main h1{font-size:48px}.portal-footer{padding:25px 6%}}.portal-weekdays{border:0;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}.portal-weekdays legend{margin-bottom:12px;font-size:13px}.portal-weekdays label{border:1px solid #cfc4bc;border-radius:6px;align-items:center;gap:7px;padding:10px;display:flex}.portal-weekdays input{accent-color:#49313f;width:auto}.portal-actions button[aria-pressed=true]{color:#fffdfa;background:#49313f}.portal-section>.portal-actions{margin-bottom:22px}.portal-classroom{margin-bottom:2rem}.classroom-video{background:#17151d;border-radius:12px;height:min(75vh,850px);min-height:480px;margin-block:1rem;overflow:hidden}.classroom-video:empty{display:none}.classroom-ack{align-items:start;gap:.75rem;margin-block:1rem;display:flex!important}.classroom-ack input{margin-top:.35rem;width:auto!important}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-block:1rem;display:flex}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekday{text-align:center;padding:.5rem .1rem;font-size:.8rem}.portal-shell button.calendar-day{text-align:start;color:#332637;background:#fffdf9;border-radius:8px;flex-direction:column;align-items:stretch;min-width:0;min-height:110px;padding:.5rem;display:flex}.calendar-day.outside{opacity:.55}.calendar-day.today strong{text-decoration:underline}.portal-shell button.calendar-day[aria-pressed=true]{background:#f7eef3;outline:2px solid #775366}.calendar-event{text-overflow:ellipsis;white-space:nowrap;border-inline-start:3px solid #739a7a;margin-top:4px;padding-inline-start:4px;font-size:.72rem;font-weight:400;display:block;overflow:hidden}.calendar-event.requested{border-color:#c49a37}.calendar-event.available{border-color:#96a4b3}.library-share{border-bottom:1px solid #e9dfe4;justify-content:space-between;align-items:center;gap:.75rem;padding-block:.65rem;display:flex}@media (width<=600px){.portal-shell button.calendar-day{min-height:76px;padding:.25rem}.calendar-event{font-size:.6rem}.calendar-weekday{font-size:.65rem}.library-share{flex-wrap:wrap}}.schedule-controls{gap:1rem;margin-block:1rem;display:grid}.schedule-actions,.schedule-view-controls,.schedule-view-buttons{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.schedule-view-controls{border-block:1px solid #e9dfe4;justify-content:space-between;padding-block:.85rem}.schedule-view-controls label{align-items:center;gap:.7rem;margin:0;display:flex}.schedule-view-controls select{width:auto;min-width:175px}.schedule-view-buttons button{min-width:95px}.schedule-actions button{min-width:145px}.schedule-simple-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-block:1rem;display:flex}.schedule-simple-toolbar label,.schedule-list-filter{align-items:center;gap:.65rem;margin:0;display:flex}.schedule-simple-toolbar select,.schedule-list-filter select{width:auto;min-width:130px}.schedule-list-filter{margin-block:1rem}.schedule-simple-toolbar{flex-wrap:wrap}:root{--portal-ink:#372535;--portal-plum:#592946;--portal-jade:#23645b;--portal-gold:#d4ad70;--portal-line:#e6d9dd;--portal-paper:#fffdf9}body{color:var(--portal-ink);background:#f8f3ef}.portal-header{background:var(--portal-paper);border-bottom:1px solid var(--portal-line);gap:20px;max-width:none;padding:18px max(5%,50vw - 531px)}.portal-brand{color:var(--portal-plum);letter-spacing:.2em;direction:ltr;flex-shrink:0;gap:16px}.portal-brand .portal-brand-seal{isolation:isolate;background:var(--portal-plum);color:#f4d9a8;letter-spacing:0;border-radius:36px 36px 13px 13px;place-items:center;width:67px;height:76px;padding-top:7px;font-family:Noto Naskh Arabic,serif;font-size:33px;line-height:1;display:grid;position:relative}.portal-brand-seal:before{content:"";z-index:-1;border:1px solid #d4ad7080;border-radius:31px 31px 9px 9px;position:absolute;inset:5px}.portal-brand div{font-family:Cormorant Garamond,serif;font-size:29px;font-weight:600}.portal-brand small{letter-spacing:.23em;color:#76604f;margin-top:3px;font-family:DM Sans,sans-serif;font-size:9px;font-weight:500}.portal-header-actions{color:var(--portal-plum);font-size:13px}.portal-header-actions a,.portal-header-actions button{text-underline-offset:5px;padding:10px 0}.portal-main{padding-top:32px}.portal-welcome{isolation:isolate;background:var(--portal-plum);color:#fff6ed;border-bottom:4px solid var(--portal-gold);border-radius:22px 22px 6px 6px;padding:32px 36px;position:relative;overflow:hidden}.portal-welcome:after{content:"";z-index:-1;inset-inline-end:-65px;border:1px solid #d4ad704d;border-radius:130px 130px 0 0;width:240px;height:320px;position:absolute;top:25px;transform:rotate(12deg);box-shadow:0 0 0 22px #d4ad7010,0 0 0 45px #d4ad700a}.portal-welcome .portal-eyebrow{color:#f2d19b;margin:0 0 14px;font-weight:600}.portal-welcome h1{overflow-wrap:anywhere;margin:0 0 14px;font-size:clamp(38px,5vw,60px);line-height:1.16}.portal-welcome .portal-intro{color:#f1dfe8;max-width:660px;margin:0;font-size:14px;line-height:1.8}.portal-summary{border:0;gap:14px;margin:22px 0 28px;padding:0}.portal-summary>div{color:var(--portal-plum);background:#f3e3eb;border:1px solid #e6cdd7;border-radius:13px;gap:18px;padding:20px 22px;position:relative}.portal-summary>div:nth-child(2){color:#20594d;background:#e3eee8;border-color:#c4d9cf}.portal-summary>div:last-child{color:#71521d;background:#f6eacf;border:1px solid #e6d2a7}.portal-summary strong{font-size:44px;font-weight:500;line-height:1}.portal-summary span{color:inherit;font-size:12px;line-height:1.5}.portal-tabs{background:#eee4e7;border:1px solid #e3d5db;border-radius:12px;gap:4px;margin:0 0 26px;padding:7px;scroll-padding-inline:8px}.portal-tabs button{color:#563b4c;border-radius:8px;flex:1;min-height:42px;padding:10px 14px}.portal-tabs button[aria-current]{background:var(--portal-plum);color:#fff9f4;box-shadow:0 2px 5px #59294624}.portal-card{background:var(--portal-paper);border-color:var(--portal-line);border-radius:16px;box-shadow:0 4px 18px #59294605}.portal-main h2,.portal-main h3{color:var(--portal-plum)}.portal-main button,.portal-primary{border-color:#cbb6c1;border-radius:8px;font-weight:500;transition:background-color .15s,color .15s,border-color .15s}.portal-main button:hover:not(:disabled):not([aria-current]):not([aria-pressed=true]){background:#f0e4eb;border-color:#9e778d}.portal-main .portal-primary{background:var(--portal-plum);border-color:var(--portal-plum);color:#fff9f4}.portal-main .portal-primary:hover:not(:disabled){color:#fff9f4;background:#71395c;border-color:#71395c}.portal-main input,.portal-main select,.portal-main textarea{color:var(--portal-ink);background:#fff;border-color:#cfbdc6;border-radius:8px}.portal-main input:focus,.portal-main select:focus,.portal-main textarea:focus{border-color:var(--portal-plum)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #a87925}.portal-weekdays input{accent-color:var(--portal-plum)}.portal-hint{color:#6a5661}.portal-status{color:#60435a;background:#eee6eb;font-weight:600}.portal-status.confirmed{color:#205a42;background:#dcefe5}.portal-status.requested{color:#74500a;background:#f9e7bc}.portal-status.available{color:#2c537d;background:#e1ebf7}.portal-status.cancelled{color:#873838;background:#f6dfdf}.portal-empty{color:#6c5262;background:#fcf8fa;border-color:#ceb9c5}.schedule-simple-toolbar{border-bottom:1px solid var(--portal-line);margin-top:0;padding:16px 0}.schedule-simple-toolbar .portal-actions,.calendar-toolbar .portal-actions{margin-top:0}.teacher-calendar{background:var(--portal-paper);border:1px solid var(--portal-line);border-radius:16px;margin-top:20px;padding:20px}.calendar-toolbar{margin-top:0}.calendar-toolbar h2{margin:0;font-size:30px}.calendar-weekday{color:#735162;letter-spacing:.03em;padding:12px 2px;font-size:11px;font-weight:600}.calendar-grid{gap:5px}.portal-shell button.calendar-day{min-height:106px;color:var(--portal-ink);background:#fff;border-color:#eadfe4;padding:9px}.portal-shell button.calendar-day.outside{opacity:1;color:#887780;background:#f5f1f2}.calendar-day strong{place-items:center;width:27px;height:27px;font-size:13px;font-weight:500;display:grid}.calendar-day.today strong{background:var(--portal-plum);color:#fff;border-radius:50%;text-decoration:none}.portal-shell button.calendar-day[aria-pressed=true]{outline:2px solid var(--portal-plum);outline-offset:-2px;background:#f5e5ee;border-color:#0000}.calendar-event{color:#24583f;background:#e6f1eb;border-color:#438a67;border-radius:3px;padding:3px 4px;font-size:11px}.calendar-event.requested{color:#735314;background:#fbefd1;border-color:#b18a2d}.calendar-event.available{color:#33587c;background:#e9eff8;border-color:#6189b5}.calendar-event.completed{color:#675364;background:#eee8ed;border-color:#988395}.calendar-grid+.calendar-toolbar{border-top:1px solid var(--portal-line);margin-top:24px;padding-top:20px}.portal-footer{border-color:var(--portal-line);color:#735162}@media (width<=650px){.portal-header{gap:12px;padding:14px 5%}.portal-brand{gap:10px}.portal-brand .portal-brand-seal{width:49px;height:59px;font-size:26px}.portal-brand div{font-size:23px}.portal-brand small{font-size:7px}.portal-header-actions{gap:12px;font-size:11px}.portal-main{padding:24px 5% 55px}.portal-welcome{border-radius:16px 16px 5px 5px;padding:26px 22px}.portal-welcome h1{font-size:38px}.portal-welcome .portal-intro{font-size:13px}.portal-summary{gap:8px;margin-block:16px 22px}.portal-summary>div{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 10px}.portal-summary strong{font-size:34px}.portal-summary span{font-size:10px}.portal-tabs{margin-inline-end:0}.portal-tabs button{flex:none}.teacher-calendar{padding:10px}.calendar-toolbar{gap:12px}.calendar-toolbar h2{font-size:25px}.calendar-toolbar button{padding:9px 11px;font-size:12px}.portal-shell button.calendar-day{min-height:77px;padding:3px}.calendar-day strong{width:23px;height:23px;font-size:12px}.calendar-event{padding:2px;font-size:9px;line-height:1.5}.calendar-grid{gap:3px}.calendar-weekday{font-size:10px}.schedule-simple-toolbar .portal-actions{gap:8px;width:100%}.schedule-simple-toolbar .portal-actions button{flex:1;padding-inline:10px}.calendar-grid+.calendar-toolbar{align-items:flex-start}.portal-card{padding:20px}}@media (prefers-reduced-motion:reduce){.portal-main button{transition:none}}.portal-pending{border:1px solid #d8bca6;background:#fcf1e3;border-inline-start:5px solid #9b6e32;border-radius:20px;margin:1.5rem 0 2rem;padding:clamp(1rem,3vw,2rem)}.portal-pending-heading{align-items:center;gap:.8rem;margin-bottom:.75rem;display:flex}.portal-pending-heading h2{margin:0;font-size:1.4rem}.portal-pending-count{color:#fff;background:#592946;border-radius:50%;place-items:center;min-width:2rem;height:2rem;font-weight:700;display:inline-grid}.portal-pending-list{gap:.8rem;display:grid}.portal-pending-item{background:#fffaf5;border-radius:12px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem;display:flex}.portal-pending-item h3{margin:0 0 .35rem;font-size:1.1rem}.portal-pending-item p{overflow-wrap:anywhere;margin:.25rem 0}.portal-pending-item button{flex-shrink:0}@media (width<=600px){.portal-pending-item{flex-direction:column;align-items:stretch;gap:.75rem}}
