@import "https://fonts.googleapis.com/css2?family=Assistant:wght@400;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Assistant,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background-color:#f5f7fb}.pageTitle{text-align:center;color:#2a2450;letter-spacing:.5px;margin:0 0 28px;font-size:40px;font-weight:700;line-height:1.2}.pageTitle:after{content:"";opacity:.8;background:linear-gradient(90deg,#b09ddf,#8f7bd8);border-radius:999px;width:60px;height:3px;margin:10px auto 0;display:block}#root{width:100%}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.app-shell{color:#1f2a44;background:#f5f7fb;min-height:100vh}.header{background:#fff;border-bottom:1px solid #d9e0f1;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.header h1{margin:0;font-size:1.4rem}.header__subtitle{color:#5d6b8a;font-size:.95rem}.app-shell__body{grid-template-columns:240px 1fr;min-height:calc(100vh - 74px);display:grid}.sidebar{background:#fff;border-left:1px solid #d9e0f1;padding:1rem}.app-shell__content{padding:1.5rem}.app-shell__content section{background:#fff;border:1px solid #d9e0f1;border-radius:.75rem;padding:1.2rem}.loginForm{border-radius:20px;flex-direction:column;gap:12px;width:400px;margin-right:400px;padding:20px 50px 50px;display:flex}.label{text-align:right;font-weight:600}.input{border:1px solid #ccc;border-radius:6px;padding:10px;font-size:14px}.loginButton{cursor:pointer;background-color:#bca6e6;border:2px solid #bca6e6;border-radius:6px;margin-top:10px;padding:10px;font-weight:600}.loginButton:hover{filter:brightness(.95);background-color:#a890d6;font-weight:700}.forgotPasswordLink{font-weight:400}.forgotPasswordLink:hover{cursor:pointer;font-weight:700}.errorMessage{color:#e40d0d;font-weight:500}.forgotPasswordPage{direction:rtl;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.forgotPasswordCard{background:#dcdcdc99;border-radius:10px;width:min(720px,95%);padding:30px 28px;box-shadow:0 6px 18px #0000001a}.forgotPasswordTitle{text-align:center;margin:0 0 22px;font-size:26px;font-weight:700}.emailRow{grid-template-columns:1fr 320px;align-items:center;gap:16px;margin-bottom:22px;display:grid}.emailLabel{text-align:right;margin-right:60px;font-size:18px;font-weight:600}.emailInput{background:#f5f5f5;border:1px solid #777;border-radius:6px;height:44px;margin-right:-50px;padding:0 12px;font-size:15px;display:block}.primaryButton{cursor:pointer;background:#47357b;border:2px solid #c3b2f1;border-radius:6px;min-width:220px;padding:12px 18px;font-size:16px;font-weight:700;display:block}.primaryButton:hover{filter:brightness(.95)}.otpInfoText{text-align:center;margin:0 0 14px;font-weight:600}.otpInput{text-align:center;letter-spacing:3px;background:#fff;border:1px solid #777;border-radius:6px;width:260px;height:44px;margin:0 auto 16px;padding:0 12px;font-size:16px;display:block}.backArrow{cursor:pointer;margin-bottom:15px;font-weight:600}.backArrow:hover{font-weight:700}.timerText{color:#4b3f72;text-align:center;margin-top:10px;margin-bottom:10px;font-size:16px;font-weight:600}.expiredText{color:red;text-align:center;margin-top:8px;margin-bottom:12px;font-size:14px;font-weight:600}.secondaryButton{color:#253c60;cursor:pointer;border:none;width:35%;margin-top:10px;margin-right:220px;font-size:16px;font-weight:700}.secondaryButton.sendagain{margin-right:210px}.secondaryButton:hover{filter:brightness(.95);border-width:2px;border-color:#253c60}.resetPasswordPage{direction:rtl;background:linear-gradient(#f5f7fb,#e9eef7);justify-content:center;align-items:center;min-height:100vh;display:flex}.resetPasswordCard{text-align:right;background:#fff;border-radius:16px;width:420px;padding:32px 28px;box-shadow:0 8px 24px #00000014}.backArrow{color:#355c9a;cursor:pointer;margin-bottom:12px;font-size:15px;display:inline-block}.backArrow:hover{text-decoration:underline}.resetPasswordTitle{color:#1f3b68;text-align:center;margin:0 0 24px;font-size:28px;font-weight:700}.passwordRow{flex-direction:column;margin-bottom:18px;display:flex}.passwordLabel{color:#1f2d3d;text-align:right;margin-bottom:8px;font-size:17px;font-weight:600}.passwordInput{text-align:right;background:#f5f5f5;border:1px solid #777;border-radius:6px;height:44px;padding:0 12px;font-size:15px}.passwordInput:focus{border-color:#4b73b5;outline:none;box-shadow:0 0 0 2px #4b73b526}.primaryButton{color:#fff;cursor:pointer;background:#253c60;border:none;border-radius:8px;width:30%;height:46px;margin-top:8px;margin-right:220px;font-size:16px;font-weight:600}.primaryButton:hover{background:#315081}.successBox{text-align:center;margin-top:20px}.successBox h3{color:#2e7d32;margin-bottom:16px;font-size:22px}.resetPasswordPage .primaryButton{margin-right:65px}.home{background:#f3f4f7;grid-template-columns:1fr 1px 1fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.home__left,.home__right{z-index:1;position:relative}.home__right{text-align:right;direction:rtl;flex-direction:column;justify-content:center;align-items:flex-end;padding:40px 70px;display:flex}.home__left{justify-content:center;align-items:center;padding:40px;display:flex}.home__login-wrap{justify-content:center;width:100%;max-width:520px;display:flex;transform:translate(160px)}.home__divider{background:#d4d7dd;width:1px;min-height:100vh;transform:translate(-160px)}.home__right h1{color:#0f172a;margin:0 0 12px;font-size:4rem;font-weight:800}.home__right h2{color:#234b8f;margin:0 0 20px;font-size:2.2rem;font-weight:700}.home__right p{color:#5b6472;max-width:540px;margin:0;font-size:1.2rem;line-height:1.8}@media (width<=900px){.home{grid-template-columns:1fr}.home__divider{display:none}.home__right{text-align:center;order:1;align-items:center;padding:50px 24px 20px}.home__left{order:2;padding-top:0}.home__right p{max-width:100%}.home__bg-logo{width:260px}}html,body,#root{min-height:100%;margin:0;padding:0}.mainLayout{background-color:#f3f3f3;min-height:100vh;position:relative;overflow-x:hidden}.mainLayout:before{content:"";opacity:.08;z-index:0;background-image:url(/assets/Syspecial-D3aWkQvs.png);background-position:50%;background-repeat:no-repeat;background-size:260px;position:absolute;inset:0}.mainLayout>*{z-index:1;position:relative}.topNav{-webkit-backdrop-filter:blur(10px);z-index:10;background-color:#ffffff73;border-bottom:1px solid #8a8a8a40;justify-content:flex-start;align-items:center;padding:10px 18px;display:flex;position:sticky;top:0}.topNavRight{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.navItem{color:#1f1f1f;cursor:pointer;-webkit-backdrop-filter:blur(6px);background:#fff9;border:1px solid #8a8a8a33;border-radius:16px;min-width:110px;height:48px;padding:0 18px;font-size:18px;font-weight:500;transition:all .2s}.navItem:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.navItem.active{color:#2f2450;background:#b09ddf47;border:1px solid #876ec259;box-shadow:0 4px 10px #6c55aa14}.layoutContent{z-index:1;padding:24px;position:relative}.profileWrapper{position:relative}.profileMenu{-webkit-backdrop-filter:blur(12px);z-index:999;background-color:#f4f6fbeb;border:1px solid #c8ccd680;border-radius:24px;flex-direction:column;gap:14px;width:320px;padding:22px 18px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 10px 30px #0000001f}.profileGreeting{text-align:center;color:#222;margin:0;font-size:22px;font-weight:700}.profileMenuButton{cursor:pointer;background-color:#ffffffe6;border:1px solid #c8ccd6;border-radius:999px;width:100%;min-height:52px;padding:0 16px;font-size:18px;transition:all .2s}.profileMenuButton:hover{background-color:#fff;box-shadow:0 4px 12px #00000014}.logoutButton{border-radius:14px}.profileImage{object-fit:cover;border-radius:50%;width:80px;height:80px;margin:0 auto}@media (width<=900px){.topNav{padding:10px 12px}.topNavRight{gap:8px}.navItem{min-width:90px;height:42px;padding:0 12px;font-size:15px}}.dashboardPage{text-align:center;direction:rtl;background-color:#f3f3f3;min-height:100vh;padding:0}.dashboardLogo{opacity:.2;width:90px;margin-bottom:10px}.topMenu{justify-content:center;margin:0;display:flex}.menuBox{cursor:pointer;background-color:#fff;border:1px solid #777;width:120px;height:70px;font-size:24px}.weeklyBoard{justify-content:center;max-width:1200px;margin:0 auto;display:flex}.dayColumn{background-color:#f1f4f4;border:1px solid #777;width:150px}.dayHeader{border-bottom:1px solid #777;justify-content:center;align-items:center;height:70px;font-size:28px;display:flex}.dayBody{min-height:260px}.home__bg-logo{opacity:.08;pointer-events:none;z-index:0;width:380px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calendarWrapper{flex-direction:column;gap:20px;padding:10px 0 30px;display:flex}.calendarNavigation{justify-content:center;align-items:center;margin-bottom:8px;display:flex;position:relative}.todayButton{color:#1f1f1f;cursor:pointer;background-color:#ffffffe6;border:1px solid #b8b8b8;border-radius:14px;min-width:120px;height:44px;font-size:16px;font-weight:500;transition:all .2s}.todayButton:hover{background-color:#fff;box-shadow:0 4px 12px #00000014}.navArrow{all:unset;cursor:pointer;color:#1f1f1f;justify-content:center;align-items:center;margin:0;padding:0;font-size:28px;line-height:1;transition:opacity .2s;display:inline-flex}.navArrow:hover{opacity:.5}.navArrow:focus,.navArrow:active{box-shadow:none;border:none;outline:none}.weeklyBoard{background-color:#ffffff59;border:1px solid #9f9f9f;justify-content:center;align-items:stretch;gap:0;width:100%;max-width:1200px;margin:0 auto;display:flex}.dayColumn{background-color:#ffffff2e;border-left:1px solid #9f9f9f;flex:1;min-width:0}.dayColumn:last-child{border-left:none}.dayHeader{color:#202020;text-transform:capitalize;background-color:#ffffff52;border-bottom:1px solid #9f9f9f;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:80px;font-size:22px;font-weight:700;display:flex}.dayHeader div:last-child{color:#555;font-size:16px;font-weight:500}.dayBody{flex-direction:column;gap:10px;min-height:300px;padding:14px 10px;display:flex}.eventBubble{color:#2f2450;-webkit-backdrop-filter:blur(4px);word-break:break-word;background-color:#b09ddf73;border:1px solid #876ec259;border-radius:16px;padding:10px 12px;font-size:15px;line-height:1.4;box-shadow:0 4px 10px #6c55aa14}.eventBubble:hover{background-color:#b09ddf99}.weeklyTitle{text-align:center;color:#1a1a1a;letter-spacing:.15px;margin-bottom:15px;font-size:42px;font-weight:420;position:relative}@media (width<=900px){.weeklyBoard{justify-content:flex-start;overflow-x:auto}.dayColumn{min-width:150px}.dayHeader{font-size:18px}.dayBody{min-height:240px}.eventBubble{font-size:14px}}.calendarHeader{justify-content:center;align-items:center;gap:16px;margin-bottom:10px;display:flex}.addEventWrapper{align-items:center;display:inline-flex;position:relative}.addEventButton{cursor:pointer;color:#2f2450;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#b09ddf66;border:none;border-radius:50%;width:38px;height:38px;margin-left:90px;font-size:24px;transition:all .2s}.addEventButton:hover{background:#b09ddfb3;transform:scale(1.05)}.tooltipText{color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;background-color:#2f2450;border-radius:10px;padding:6px 10px;font-size:13px;transition:all .2s;position:absolute;bottom:-38px;right:50%;transform:translate(50%)}.addEventWrapper:hover .tooltipText{opacity:1;visibility:visible}.modalOverlay{z-index:2000;background:#0000002e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.addEventModal{-webkit-backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #876ec233;border-radius:24px;flex-direction:column;gap:14px;width:100%;max-width:420px;padding:24px;display:flex;box-shadow:0 12px 30px #0000001f}.modalTitle{text-align:center;color:#2a2450;margin:0 0 6px;font-size:28px}.eventInput{box-sizing:border-box;background:#ffffffe6;border:1px solid #876ec233;border-radius:14px;width:100%;min-height:46px;padding:0 14px;font-size:16px}.modalActions{justify-content:center;gap:12px;margin-top:8px;display:flex}.saveEventButton,.cancelEventButton{cursor:pointer;border:none;border-radius:14px;min-width:110px;height:44px;font-size:16px;transition:all .2s}.saveEventButton{color:#2f2450;background:#b09ddf80}.saveEventButton:hover{background:#b09ddfbf}.cancelEventButton{color:#333;background:#f0f0f0f2}.cancelEventButton:hover{background:#e1e1e1}.navCenter{align-items:center;gap:12px;display:flex}.navRight{position:absolute;right:10px}.eventBubble.school{background-color:#78b4ff40}.eventBubble.therapy{background-color:#b09ddf73}.eventBubble.meeting{background-color:#ffd2784d}.eventBubble.birthday{background-color:#ffaac859}.eventBubble.other{background-color:#aaffe359}.categorySelect{color:#2f2450;background-color:#ffffffe6;font-family:Assistant,sans-serif;font-size:16px}.schoolsPage{direction:rtl;min-height:100vh;padding:30px}.schoolsList{flex-direction:column;gap:18px;max-width:900px;margin:0 auto;display:flex}.schoolCard,.classCard{flex-direction:column;gap:10px;display:flex}.schoolButton,.classButton{color:#2f2450;text-align:right;cursor:pointer;-webkit-backdrop-filter:blur(6px);background-color:#ffffffb8;border:1px solid #876ec233;border-radius:18px;width:100%;min-height:58px;padding:0 20px;font-size:22px;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #6c55aa0f}.schoolButton:hover,.classButton:hover{background-color:#ffffffeb;transform:translateY(-1px);box-shadow:0 6px 18px #6c55aa1a}.classesList{border-right:2px solid #b09ddf47;flex-direction:column;gap:12px;margin-right:8px;padding-right:18px;display:flex}.studentsList{flex-direction:column;gap:10px;margin:0;padding:4px 28px 0 0;list-style:none;display:flex}.studentItem{color:#2f2450;background-color:#ffffff85;border:1px solid #876ec224;border-radius:14px;padding:10px 14px;font-size:18px;box-shadow:0 3px 10px #6c55aa0a}.clickableStudent{cursor:pointer;transition:all .2s}.clickableStudent:hover{color:#6b57aa;background-color:#b09ddf33;text-decoration:none}@media (width<=900px){.schoolsPage{padding:20px 16px}.schoolsTitle{margin-bottom:24px;font-size:32px}.schoolButton,.classButton{min-height:52px;padding:0 16px;font-size:18px}.studentItem{padding:9px 12px;font-size:16px}.classesList{padding-right:14px}.studentsList{padding-right:18px}}.arrowIcon{flex-shrink:0;transition:transform .2s}.arrowIcon.open{transform:rotate(-90deg)}.schoolButton{cursor:pointer;text-align:right;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:14px 18px;display:flex}.messages-page-layout{height:100vh;display:flex}.conversation-context-menu{z-index:1000;background-color:#fff;border:1px solid #ddd;border-radius:10px;width:180px;padding:6px 0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #0000001f}.context-menu-item{text-align:right;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 14px;font-size:14px}.sidebar-search-container{background-color:#fff;border-bottom:1px solid #eee;padding:12px}.sidebar-search-input{box-sizing:border-box;border:1px solid #ccc;border-radius:10px;outline:none;width:100%;height:40px;padding:0 12px;font-size:14px}.sidebar-search-input:focus{border-color:#7aa7ff}.sidebar-conversations-list{flex:1;overflow-y:auto}.sidebar{background:#fff;border-right:1px solid #ddd;flex-direction:column;width:280px;height:100vh;display:flex;position:relative;overflow:hidden}.conversation-card{cursor:pointer;border-bottom:1px solid #eee;align-items:center;gap:10px;padding:12px;transition:background .2s;display:flex}.conversation-card:hover{background:#f5f7fb}.conversation-card.selected{background:#e6f0ff}.conversation-avatar{flex-shrink:0;width:40px;height:40px}.conversation-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.default-avatar{background-color:#dcdcdc;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:18px;display:flex}.conversation-content{flex-direction:column;flex:1;min-width:0;display:flex}.conversation-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.conversation-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;font-weight:700;overflow:hidden}.conversation-meta{flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:center;gap:4px;min-width:36px;display:flex}.conversation-time{color:#999;min-height:14px;font-size:11px;line-height:1}.conversation-time.unread{color:#7a5af8;font-weight:600}.conversation-status-row{justify-content:center;align-items:center;gap:6px;min-height:18px;display:flex}.conversation-last-message{color:#666;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;overflow:hidden}.pinned-indicator,.muted-indicator{font-size:12px;line-height:1}.status-icon{color:#8a8f98;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.unread-badge{color:#fff;box-sizing:border-box;background-color:#7a5af8;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:10px;font-weight:600;line-height:1;display:inline-flex;position:relative;top:1px}.conversation-context-menu{z-index:1000;background-color:#fff;border:1px solid #ddd;border-radius:10px;width:180px;padding:6px 0;position:absolute;box-shadow:0 4px 14px #0000001f}.context-menu-item{text-align:right;cursor:pointer;direction:rtl;background:0 0;border:none;width:100%;padding:10px 14px;font-size:14px}.context-menu-item:hover{background-color:#f5f7fb}.context-menu-item.delete{color:#c62828}.menu-item-content{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.menu-icon{flex-shrink:0;font-size:18px}.menu-icon-pin{color:#8a8f98}.menu-icon-delete{color:#c62828}.pin-wrapper{justify-content:center;align-items:center;display:inline-flex;position:relative}.pin-slash{background:#8a8f98;border-radius:2px;width:16px;height:2px;position:absolute;transform:rotate(45deg)}.delete-modal-overlay{z-index:3000;background:#11182773;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.delete-modal{text-align:right;direction:rtl;background:#fff;border-radius:18px;width:min(420px,92vw);padding:24px;box-shadow:0 18px 50px #0000002e}.delete-modal-title{color:#1f2937;margin:0 0 12px;font-size:22px;font-weight:700}.delete-modal-text{color:#374151;margin:0 0 10px;font-size:15px;line-height:1.6}.delete-modal-warning{color:#b42318;margin:0 0 20px;font-size:13px}.delete-modal-actions{justify-content:flex-start;gap:10px;display:flex}.delete-modal-cancel,.delete-modal-confirm{cursor:pointer;border:none;border-radius:12px;padding:10px 16px;font-size:14px;transition:all .2s}.delete-modal-cancel{color:#374151;background:#eef2f7}.delete-modal-cancel:hover{background:#e5e7eb}.delete-modal-confirm{color:#fff;background:#d92d20}.delete-modal-confirm:hover{background:#b42318}.chat-window{background-color:#f7f7f7;flex-direction:column;flex:1;display:flex}.chat-content{flex:1;padding:20px}.chat-search{border-bottom:1px solid #eee;padding:10px}.chat-search input{border:1px solid #ccc;border-radius:8px;outline:none;width:10%;height:36px;padding:0 10px}.chat-header{background-color:#fff;border-bottom:1px solid #ddd;padding:16px}.chat-header-name{margin:0;font-size:20px}.message-list{flex-direction:column;flex:1;padding:10px;display:flex;overflow-y:auto}.message-bubble{box-sizing:border-box;border-radius:16px;flex-direction:column;gap:6px;max-width:340px;margin:8px;padding:10px;font-size:14px;display:flex}.my-message{color:#fff;background-color:#2f80ed;align-self:flex-end}.other-message{color:#000;background-color:#e5e5ea;align-self:flex-start}.message-text{word-break:break-word}.message-time{opacity:.8;align-self:flex-end;margin-top:2px;font-size:11px}.highlight{color:#000;background-color:#fff176;border-radius:3px;padding:0 2px;font-weight:700}.message-image{object-fit:cover;background:#f3f4f6;border-radius:12px;width:100%;max-width:280px;max-height:280px;display:block}.file-message{box-sizing:border-box;border-radius:12px;align-items:center;gap:10px;width:100%;min-width:220px;padding:12px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .15s,opacity .2s;display:flex}.file-message:hover{opacity:.95;transform:translateY(-1px)}.my-message .file-message{color:#fff;background:#ffffff29}.other-message .file-message{color:#1f2937;background:#d8dbe2}.file-icon{flex-shrink:0;font-size:22px}.file-content{flex-direction:column;flex:1;min-width:0;display:flex}.file-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.file-subtitle{opacity:.8;margin-top:2px;font-size:12px}.message-caption{word-break:break-word;margin-top:8px;line-height:1.4}.message-input-container{background-color:#fff;border-top:1px solid #ddd;align-items:center;gap:12px;padding:14px;display:flex;position:relative}.message-input{border:1px solid #ccc;border-radius:10px;outline:none;flex:1;height:42px;padding:0 12px;font-size:14px}.message-input:focus{border-color:#7aa7ff}.send-button{color:#fff;cursor:pointer;background-color:#2f80ed;border:none;border-radius:10px;padding:10px 18px;font-size:14px}.send-button:hover{background-color:#1f6fd6}.emoji-button{cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:all .2s;display:flex}.emoji-button:hover{background-color:#f5f7fb;border-color:#bbb}.emoji-button:active{transform:scale(.95)}.emoji-picker-wrapper{z-index:1000;position:absolute;bottom:60px;right:20px}.attach-button{cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:all .2s;display:flex}.attach-button:hover{background-color:#f5f7fb;border-color:#bbb}.attach-button:active{transform:scale(.95)}.hidden-file-input{display:none}.tooltip-wrapper{display:inline-block;position:relative}.tooltip-text{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:1000;background-color:#1f2937;border-radius:6px;padding:6px 10px;font-size:12px;transition:opacity .2s;position:absolute;bottom:120%;left:50%;transform:translate(-50%)}.tooltip-text:after{content:"";border:5px solid #0000;border-top-color:#1f2937;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-wrapper:hover .tooltip-text{opacity:1}.file-preview{background:#fff;border:1px solid #ddd;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex;position:absolute;bottom:60px;right:20px;box-shadow:0 4px 10px #0000001a}.preview-image{object-fit:cover;border-radius:8px;width:60px;height:60px}.file-preview-name{color:#333;font-size:13px}.remove-file-button{cursor:pointer;color:#999;background:0 0;border:none;font-size:16px}.remove-file-button:hover{color:red}.restore-button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:13px;transition:all .2s}.restore-button:hover{color:#111827;background:#f3f4f6}.rewrite-button{color:#2f5bd1;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#eef3ff 0%,#e7edff 100%);border:none;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #2f5bd114}.rewrite-button:hover:not(:disabled){background:linear-gradient(135deg,#e3ebff 0%,#dce6ff 100%);transform:translateY(-1px)}.rewrite-button:active:not(:disabled){transform:scale(.98)}.rewrite-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.rewrite-button.loading{position:relative}.attachment-overlay{z-index:2000;background:#1118278c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.attachment-modal{background:#fff;border-radius:20px;flex-direction:column;gap:18px;width:min(920px,95vw);min-height:620px;max-height:90vh;padding:28px 28px 22px;display:flex;position:relative;box-shadow:0 18px 50px #0000002e}.close-button{cursor:pointer;background:#f3f4f6;border:none;border-radius:50%;width:40px;height:40px;font-size:18px;transition:background .2s;position:absolute;top:18px;right:18px}.close-button:hover{background:#e5e7eb}.attachment-modal-header{flex-direction:column;gap:6px;padding-right:54px;display:flex}.attachment-modal-title{color:#1f2937;margin:0;font-size:22px;font-weight:700}.attachment-count{color:#6b7280;font-size:14px}.attachment-preview-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;min-height:0;padding:6px 2px;display:grid;overflow-y:auto}.attachment-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex;position:relative}.remove-preview-file-button{color:#fff;cursor:pointer;z-index:2;background:#111827b8;border:none;border-radius:50%;width:30px;height:30px;position:absolute;top:10px;left:10px}.attachment-card-preview{background:#eef2f7;border-radius:12px;justify-content:center;align-items:center;height:190px;display:flex;overflow:hidden}.preview-image-large{object-fit:cover;width:100%;height:100%}.file-preview-large{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;padding:16px;display:flex}.file-preview-icon{font-size:40px}.file-preview-label{color:#374151;word-break:break-word;font-size:14px}.attachment-file-name{color:#374151;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.attachment-caption{box-sizing:border-box;border:1px solid #d1d5db;border-radius:12px;outline:none;width:100%;height:48px;padding:0 14px;font-size:14px}.attachment-caption:focus{border-color:#7aa7ff}.attachment-actions{justify-content:space-between;align-items:center;display:flex}.add-more-button{color:#2f80ed;cursor:pointer;background:#e8eefc;border:none;border-radius:50%;width:46px;height:46px;font-size:28px;transition:transform .15s,background .2s}.add-more-button:hover{background:#dbe7ff}.add-more-button:active{transform:scale(.96)}.send-attachment-button{color:#fff;cursor:pointer;background:#2f80ed;border:none;border-radius:999px;min-width:110px;height:44px;font-size:15px;font-weight:600;transition:background .2s}.send-attachment-button:hover{background:#1f6fd6}.file-error{color:#e53935;margin-top:-6px;margin-bottom:4px;font-size:13px;font-weight:500}.file-error-popup{color:#c62828;background:#fff1f1;border:1px solid #f3b3b3;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.file-error-popup-text{font-size:13px;font-weight:500}.file-error-popup-close{color:#c62828;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;width:28px;height:28px;font-size:14px}.file-error-popup-close:hover{background:#c6282814}.add-more-button.disabled,.add-more-button:disabled{color:#9ca3af;cursor:not-allowed;pointer-events:none;background:#e5e7eb}.reportsPage{direction:rtl;flex-direction:column;gap:24px;padding:30px;display:flex}.pageTitle{color:#2a2450;font-size:32px;font-weight:700}.filters{gap:12px;display:flex}.filters select{border:1px solid #d6d6e7;border-radius:10px;padding:8px 12px}.cards{gap:20px;display:flex}.card{text-align:center;background:#ffffffbf;border-radius:20px;min-width:150px;padding:20px;box-shadow:0 6px 18px #6c55aa14}.card h3{color:#6c55aa}.card p{font-size:26px;font-weight:700}.tableWrapper{background:#ffffffbf;border-radius:20px;padding:20px}table{border-collapse:collapse;width:100%}th,td{text-align:center;padding:12px}thead{background-color:#f3f2fb}.dateSection{flex-direction:column;gap:16px;display:flex}.sessionsList{flex-direction:column;gap:12px;display:flex}.sessionCard{background:#fff;border-radius:16px;padding:16px;box-shadow:0 4px 12px #0000000d}.attended{color:green;font-weight:700}.absent{color:red;font-weight:700}.therapistReportPage{direction:rtl;flex-direction:column;gap:24px;min-height:100vh;padding:30px;display:flex}.pageTitle{color:#2a2450;text-align:center;margin:0;font-size:32px;font-weight:700;position:relative}.pageTitle:after{content:"";background-color:#b59ce8;border-radius:999px;width:80px;height:3px;margin:12px auto 0;display:block}.reportForm{-webkit-backdrop-filter:blur(6px);background-color:#ffffffc7;border:1px solid #876ec229;border-radius:24px;flex-direction:column;gap:18px;width:100%;max-width:620px;margin:0 auto;padding:26px;display:flex;box-shadow:0 6px 18px #6c55aa12}.formGroup{flex-direction:column;gap:8px;display:flex}.formGroup label{color:#2a2450;font-size:15px;font-weight:600}.formGroup input,.formGroup select,.formGroup textarea{color:#2a2450;box-sizing:border-box;background-color:#ffffffeb;border:1px solid #876ec238;border-radius:14px;outline:none;width:100%;padding:12px 14px;font-size:15px;transition:all .2s}.formGroup input:focus,.formGroup select:focus,.formGroup textarea:focus{border-color:#9b7fe2;box-shadow:0 0 0 3px #b59ce82e}.formGroup textarea{resize:vertical;min-height:110px}.submitButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7d67bf,#9c85dc);border:none;border-radius:16px;margin-top:4px;padding:13px 18px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .2s;box-shadow:0 8px 18px #6c55aa2e}.submitButton:hover{transform:translateY(-1px)}.parentProgressPage{direction:rtl;flex-direction:column;gap:24px;min-height:100vh;padding:30px;display:flex}.pageTitle{color:#2a2450;margin:0;font-size:32px;font-weight:700}.progressCard{-webkit-backdrop-filter:blur(6px);background-color:#ffffffbf;border:1px solid #876ec229;border-radius:24px;width:100%;max-width:1000px;margin:0 auto;padding:26px;box-shadow:0 6px 18px #6c55aa12}.sectionTitle{color:#2a2450;margin:0 0 16px;font-size:24px;font-weight:700}.sectionText{color:#5b5578;margin:0 0 18px;font-size:15px;line-height:1.6}.childInfoGrid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;display:grid}.infoItem{background:#f7f4ffcc;border:1px solid #9b7fe224;border-radius:16px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.infoLabel{color:#6d6790;font-size:14px;font-weight:600}.infoValue{color:#2a2450;font-size:16px;font-weight:700}.therapistsList{flex-direction:column;gap:12px;display:flex}.therapistItem{background:#f7f4ffcc;border:1px solid #9b7fe224;border-radius:16px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.therapistName{color:#2a2450;font-size:16px;font-weight:700}.therapistProfession{color:#6d6790;font-size:14px;font-weight:600}.uploadBox{text-align:center;cursor:pointer;background:#f8f5ffd9;border:2px dashed #9b7fe273;border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;transition:all .2s;display:flex}.uploadBox:hover{background:#f3eefff2}.fileInput{display:none}.uploadTitle{color:#4a3f8a;font-size:18px;font-weight:700}.uploadSubtitle{color:#6d6790;max-width:520px;font-size:14px;line-height:1.5}.noteSection{flex-direction:column;gap:8px;margin-top:18px;display:flex}.noteLabel{color:#2a2450;font-size:15px;font-weight:600}.noteTextarea{color:#2a2450;resize:vertical;box-sizing:border-box;background-color:#fffffff0;border:1px solid #876ec233;border-radius:16px;outline:none;width:100%;min-height:110px;padding:12px 14px;font-size:15px}.noteTextarea:focus{border-color:#9b7fe2;box-shadow:0 0 0 3px #b59ce826}.filesGrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.filePreviewCard{background:#ffffffeb;border:1px solid #876ec229;border-radius:18px;overflow:hidden}.previewBox{background:#f6f3ff;justify-content:center;align-items:center;width:100%;height:220px;display:flex}.previewMedia{object-fit:cover;width:100%;height:100%}.fileMeta{flex-direction:column;gap:10px;padding:14px;display:flex}.fileName{color:#2a2450;word-break:break-word;margin:0;font-size:14px;font-weight:600}.deleteButton{color:#9b2f2f;cursor:pointer;background:#aa50501f;border:none;border-radius:12px;align-self:flex-start;padding:8px 14px;font-weight:700}.deleteButton:hover{background:#aa50502e}.analysisBox{background:#f7f4ffcc;border:1px solid #9b7fe21f;border-radius:18px;padding:18px}.analysisText{color:#4b4763;margin:0;font-size:15px;line-height:1.7}.analysisHighlights{flex-direction:column;gap:12px;margin-top:16px;display:flex}.analysisItem{flex-direction:column;gap:4px;display:flex}.analysisLabel{color:#6d6790;font-size:14px;font-weight:600}.analysisValue{color:#2a2450;font-size:15px;font-weight:700}.analysisValue.positive{color:#2f8a57}.emptyState{color:#6d6790;margin:0;font-size:15px}@media (width<=700px){.parentProgressPage{padding:20px}.childInfoGrid{grid-template-columns:1fr}.pageTitle{font-size:28px}.sectionTitle{font-size:21px}.therapistItem{flex-direction:column;align-items:flex-start}}.studentProfilePage{direction:rtl;flex-direction:column;gap:24px;min-height:100vh;padding:32px;display:flex}.backButton{cursor:pointer;background:0 0;border:none;align-self:flex-start;font-size:24px}.studentHeaderCard,.studentCard{background:#ffffffc7;border:1px solid #876ec22e;border-radius:24px;padding:24px;box-shadow:0 6px 18px #6c55aa14}.studentHeaderCard{justify-content:space-between;align-items:center;display:flex}.studentName{color:#2a2450;margin:0;font-size:38px}.studentMeta{color:#6f6991;margin-top:8px}.studentAvatar{background:#ece8f8;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:30px;display:flex}.studentGrid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.sectionHeader{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.sectionHeader h2{color:#2a2450;margin:0;font-size:22px}.contactsGrid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contactBlock{background:#f8f6fd;border-radius:18px;padding:16px}.contactBlock h3{color:#5e4da3;margin-top:0}.uploadArea{margin-bottom:16px}.uploadLabel{flex-direction:column;gap:8px;font-weight:600;display:inline-flex}.uploadHint{color:#6d678c;font-size:14px}.previewBox{background:#faf8ff;border:1px dashed #b6a8ea;border-radius:18px;margin-top:18px;padding:16px}.previewTable,.studentTable{border-collapse:collapse;width:100%}.previewTable th,.previewTable td,.studentTable th,.studentTable td{text-align:right;border-bottom:1px solid #ddd7ef;padding:12px}.previewActions{gap:12px;margin-top:16px;display:flex}.reportCard{border-bottom:1px solid #ece7f8;gap:16px;padding:12px 0;display:flex}.summaryBox{background:#f8f6fd;border-radius:18px;padding:18px}@media (width<=900px){.studentGrid,.contactsGrid{grid-template-columns:1fr}.studentName{font-size:28px}}.templateDraftBox{background:#f8f6fd;border:1px dashed #cfc3f6;border-radius:18px;margin-top:16px;padding:16px}.templateDraftBox h3{color:#2a2450;margin-top:0;margin-bottom:12px;font-size:18px}.templateTags{flex-wrap:wrap;gap:10px;display:flex}.templateTags span{color:#5f5885;background:#fff;border:1px solid #ddd7ef;border-radius:999px;padding:8px 14px;font-size:14px}.previewFileName{color:#4d466f;margin-bottom:16px}.mappingSection{margin-top:18px}.formPage{direction:rtl;flex-direction:column;gap:24px;min-height:100vh;padding:30px;display:flex}.formCard{-webkit-backdrop-filter:blur(6px);background-color:#ffffffbd;border:1px solid #876ec229;border-radius:24px;width:100%;max-width:900px;margin:0 auto;padding:28px;box-shadow:0 6px 18px #6c55aa12}.formTitle{color:#2a2450;margin:0 0 8px;font-size:30px;font-weight:700}.formSubtitle{color:#6f6790;margin:0 0 24px;font-size:15px}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.formField{flex-direction:column;gap:8px;display:flex}.formField label{color:#433b66;font-size:14px;font-weight:600}.formField input,.formField select,.formField textarea{color:#2a2450;box-sizing:border-box;background:#fffffff2;border:1px solid #876ec233;border-radius:14px;outline:none;width:100%;min-height:48px;padding:0 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.formField textarea{resize:vertical;min-height:120px;padding:14px}.formField input:focus,.formField select:focus,.formField textarea:focus{border-color:#876ec2;box-shadow:0 0 0 3px #876ec21f}.fullWidth{grid-column:1/-1}.submitButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#876ec2,#6f58a8);border:none;border-radius:14px;grid-column:1/-1;justify-self:start;min-width:170px;min-height:48px;padding:0 22px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 20px #6f58a82e}.submitButton:hover{transform:translateY(-1px);box-shadow:0 10px 24px #6f58a83d}.submitButton:active{transform:translateY(0)}@media (width<=768px){.formPage{padding:18px}.formCard{border-radius:20px;padding:20px}.formGrid{grid-template-columns:1fr}.fullWidth{grid-column:auto}.submitButton{justify-self:stretch;width:100%}}.accountPage{direction:rtl;flex-direction:column;gap:24px;min-height:100vh;padding:30px;display:flex}.accountCard{-webkit-backdrop-filter:blur(6px);background-color:#ffffffb8;border:1px solid #876ec229;border-radius:24px;width:100%;max-width:1000px;margin:0 auto;padding:26px;box-shadow:0 6px 18px #6c55aa12}.accountSectionTitle{color:#2a2450;margin:0 0 22px;font-size:30px;font-weight:700;position:relative}.accountSectionTitle:after{content:"";opacity:.85;background:linear-gradient(90deg,#b09ddf,#8f7bd8);border-radius:999px;width:60px;height:3px;margin-top:10px;display:block}.profileTop{align-items:center;gap:18px;margin-bottom:24px;display:flex}.accountProfileImage{object-fit:cover;border:3px solid #b09ddf4d;border-radius:50%;width:92px;height:92px}.accountFormGrid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px;display:grid}.accountField{flex-direction:column;gap:8px;display:flex}.accountField label{color:#2f2450;font-size:16px;font-weight:600}.accountField input,.accountField select{color:#2a2450;box-sizing:border-box;background-color:#ffffffeb;border:1px solid #876ec233;border-radius:14px;width:100%;min-height:48px;padding:0 14px;font-family:inherit;font-size:16px}.accountField input:disabled{color:#666;cursor:not-allowed;background-color:#f0f0f0e6}.accountActions{justify-content:flex-start;margin-top:22px;display:flex}.primaryAccountButton,.secondaryAccountButton{cursor:pointer;border:none;border-radius:14px;min-width:140px;height:44px;font-family:inherit;font-size:16px;transition:all .2s}.primaryAccountButton{color:#2f2450;background-color:#b09ddf80}.primaryAccountButton:hover{background-color:#b09ddfbf}.secondaryAccountButton{color:#333;background-color:#f0f0f0f2}.secondaryAccountButton:hover{background-color:#e1e1e1}.professionalInfo{flex-direction:column;gap:14px;display:flex}.infoRow{gap:10px;font-size:18px;display:flex}.infoLabel{color:#2f2450;font-weight:700}.infoValue{color:#444}@media (width<=768px){.accountPage{padding:20px 16px}.accountCard{padding:20px}.accountFormGrid{grid-template-columns:1fr}.profileTop{flex-direction:column;align-items:flex-start}}.accountSectionToggle{cursor:pointer;text-align:right;color:#2a2450;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;margin:0 0 22px;padding:0;font-family:inherit;font-size:30px;font-weight:700;display:flex}.accountSectionToggle span:first-child{position:relative}.accountSectionToggle span:first-child:after{content:"";opacity:.85;background:linear-gradient(90deg,#b09ddf,#8f7bd8);border-radius:999px;width:60px;height:3px;margin-top:10px;display:block}.sectionArrow{color:#6b57aa;font-size:28px;transition:transform .25s}.sectionArrow.open{transform:rotate(-90deg)}
