:root{--ink:#172038;--muted:#7b8498;--line:#e8ebf4;--panel:#fff;--bg:#f7f8fc;--purple:#6d4aff;--purple-soft:#eeeaff;--cyan:#0db8cb;--green:#23b57b;--orange:#ff9f43}*{box-sizing:border-box}html{direction:rtl}body{color:var(--ink);background:var(--bg);margin:0;font-family:Tahoma,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none}.dashboard-shell{min-height:100vh;display:flex}.desktop-sidebar{flex:0 0 280px;width:280px}.sidebar{color:#e9edff;z-index:10;background:linear-gradient(#171c35,#101426);flex-direction:column;width:280px;height:100vh;padding:24px 16px;display:flex;position:fixed;top:0}.sidebar-brand{border-bottom:1px solid #ffffff1c;align-items:center;gap:12px;padding:4px 10px 24px;display:flex}.brand-symbol{color:#fff;background:linear-gradient(135deg,#876bff,#4f46e5);border-radius:15px;place-items:center;width:43px;height:43px;font-size:24px;font-weight:900;display:grid;box-shadow:0 10px 24px #5f49f559}.sidebar-brand strong{font-size:22px;display:block}.sidebar-brand span,.sidebar-profile span{color:#aeb6d8;margin-top:3px;font-size:12px;display:block}.sidebar-profile{background:#ffffff0f;border-radius:18px;align-items:center;gap:10px;margin:22px 10px 14px;padding:12px;display:flex}.avatar,.top-avatar{border-radius:50%;place-items:center;font-weight:800;display:grid}.avatar{color:#5e3200;background:#ffb76a;width:38px;height:38px}.sidebar-profile strong{font-size:14px}.sidebar nav{gap:6px;display:grid}.side-link{color:#c7cee8;text-align:right;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:13px 14px;transition:all .18s;display:flex}.side-link:hover{color:#fff;background:#ffffff12}.side-link.active{color:#fff;background:linear-gradient(90deg,#745bfff2,#5b45ded9);box-shadow:0 10px 24px #4a36c333}.logout-btn{color:#ffc4c4;background:#ff535317;border:0;border-radius:14px;align-items:center;gap:10px;margin-top:auto;padding:13px;display:flex}.main-area{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;height:100px;padding:0 38px;display:flex}.top-caption{color:var(--muted);margin:0 0 5px;font-size:12px}.topbar h1{margin:0;font-size:23px}.top-actions{align-items:center;gap:11px;display:flex}.icon-button{border:1px solid var(--line);color:#596178;background:#fff;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.notify{position:relative}.notify span{background:#ff5f56;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:9px;left:9px}.top-avatar{color:#7b3d00;background:#ffe0bd;width:41px;height:41px}.mobile-menu{display:none}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-content{max-width:1560px;margin:0 auto;padding:30px 38px 50px}.welcome-banner{color:#fff;background:radial-gradient(circle at 85% 25%,#ffffff2e,#0000 20%),linear-gradient(130deg,#4f46e5,#7955ff 58%,#9676ff);border-radius:28px;justify-content:space-between;min-height:250px;padding:34px 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 45px #5a47e72e}.teacher-banner{background:radial-gradient(circle at 85% 25%,#ffffff2b,#0000 20%),linear-gradient(130deg,#144a72,#0f8fa9 58%,#30c7c9)}.welcome-banner h2{margin:14px 0 10px;font-size:29px}.welcome-banner p{color:#e9e5ff;margin:0 0 20px}.tiny-badge{background:#ffffff29;border-radius:999px;padding:7px 12px;font-size:12px;display:inline-block}.primary-btn{color:#fff;background:#202950;border:0;border-radius:13px;align-items:center;gap:8px;padding:12px 18px;font-weight:800;display:inline-flex}.primary-btn.light{color:#0f7590;background:#fff}.secondary-btn{color:#fff;background:#ffffff1a;border:1px solid #ffffff73;border-radius:13px;align-items:center;gap:8px;padding:12px 18px;font-weight:800;display:inline-flex}.action-row{gap:10px;display:flex}.welcome-art{color:#ffffffeb;place-items:center;width:260px;display:grid;position:relative}.welcome-art:before{content:"";border:1px solid #fff3;border-radius:50%;width:190px;height:190px;position:absolute}.stats-grid{grid-template-columns:repeat(4,1fr);gap:17px;margin:24px 0;display:grid}.stat-card,.panel{background:var(--panel);border:1px solid #eff0f5;box-shadow:0 10px 30px #19223f0a}.stat-card{border-radius:20px;align-items:center;gap:14px;padding:19px;display:flex}.stat-icon{border-radius:17px;place-items:center;width:52px;height:52px;display:grid}.stat-icon.purple{color:var(--purple);background:var(--purple-soft)}.stat-icon.cyan{color:var(--cyan);background:#e6fbfd}.stat-icon.green{color:var(--green);background:#e7fbf1}.stat-icon.orange{color:var(--orange);background:#fff3e2}.stat-card strong{font-size:23px;display:block}.stat-card span{color:#5e667b;margin-top:4px;font-size:13px;display:block}.two-columns{grid-template-columns:1.2fr .8fr;gap:20px;margin-bottom:20px;display:grid}.panel{border-radius:22px;padding:22px}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.panel-header h3{margin:0 0 6px;font-size:18px}.panel-header p{color:var(--muted);margin:0;font-size:12px}.text-btn{color:var(--purple);background:0 0;border:0;font-size:12px;font-weight:800}.session-row,.task-row{border-bottom:1px solid #f0f1f5;align-items:center;gap:13px;padding:17px 0;display:flex}.session-row:last-child,.task-row:last-child{border-bottom:0}.session-date{color:#61708d;background:#eef1f8;border-radius:14px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.session-date.live{color:var(--purple);background:#eeeaff}.session-info,.task-row>div:nth-child(2){flex:1;min-width:0}.session-info strong,.task-row strong{font-size:14px;display:block}.session-info span,.task-row span{color:#687188;margin-top:4px;font-size:12px;display:block}.session-info small,.task-row small{color:#9ca4b4;align-items:center;gap:4px;margin-top:7px;font-size:11px;display:flex}.join-small,.outline-btn{color:var(--purple);background:#fff;border:1px solid #dcdcf4;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:800}.join-small{color:#fff;background:#6d4aff;border-color:#6d4aff}.task-check{color:#aeb5c2;background:#f4f5f8;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.status-warning{white-space:nowrap;color:#be6e00;background:#fff1d9;border-radius:999px;padding:6px 9px;font-size:11px}.courses-panel{margin-top:20px}.course-grid{grid-template-columns:repeat(3,1fr);gap:17px;padding-top:20px;display:grid}.course-card{background:#fff;border:1px solid #eceef5;border-radius:18px;transition:all .18s;overflow:hidden}.course-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px #25285014}.course-cover{color:#fff;justify-content:space-between;align-items:flex-end;min-height:122px;padding:17px;display:flex}.course-cover.purple{background:linear-gradient(130deg,#6d4aff,#9a83ff)}.course-cover.cyan{background:linear-gradient(130deg,#0caaba,#4ad8e7)}.course-cover.orange{background:linear-gradient(130deg,#fc8c3f,#ffc05a)}.course-cover span{background:#ffffff29;border-radius:999px;padding:5px 8px;font-size:10px}.course-body{padding:17px}.course-body h4{margin:0 0 8px;font-size:15px}.course-body p{color:#737b90;margin:0 0 15px;font-size:12px}.course-meta,.teacher-course-mini{color:#8a92a3;justify-content:space-between;margin-bottom:9px;font-size:11px;display:flex}.teacher-course-mini{background:#f7f8fc;border-radius:9px;padding:8px}.outline-btn{width:100%}.content-heading{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.content-heading h2{margin:0 0 7px;font-size:26px}.content-heading p{color:var(--muted);margin:0;font-size:13px}.course-grid.large{padding:0}.assignment-table{padding:0;overflow:hidden}.table-head,.table-row{grid-template-columns:1.4fr 1.2fr 1fr .7fr .8fr;align-items:center;gap:12px;padding:17px 19px;display:grid}.table-head{color:#7f8797;background:#f7f8fc;font-size:12px}.table-row{border-top:1px solid var(--line);font-size:12px}.table-row>span{color:#667087}.table-row .outline-btn{width:auto}.live-page-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.live-session-card{background:#fff;border:1px solid #edf0f5;border-radius:22px;overflow:hidden}.live-visual{color:#6f7990;background:#edf0f7;place-items:center;height:160px;display:grid;position:relative}.live-visual.is-live{color:#fff;background:linear-gradient(135deg,#4f46e5,#8a70ff)}.live-label{background:#ff4d57;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;position:absolute;top:15px;right:15px}.live-session-content{padding:18px}.live-session-content h3{margin:0 0 9px;font-size:16px}.live-session-content p,.live-session-content span{color:#70798e;font-size:12px}.live-session-content span{align-items:center;gap:5px;margin:14px 0;display:flex}.empty-panel{text-align:center;background:#fff;border:1px dashed #dfe4ee;border-radius:25px;align-content:center;justify-items:center;min-height:430px;padding:40px;display:grid}.empty-icon{width:76px;height:76px;color:var(--purple);background:var(--purple-soft);border-radius:23px;place-items:center;display:grid}.empty-panel h2{margin:20px 0 9px}.empty-panel p{max-width:460px;color:var(--muted);line-height:2}.empty-inline{color:#8a92a3;text-align:center;padding:25px}.modal-backdrop{z-index:50;background:#0e11258c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.form-modal{background:#fff;border-radius:26px;width:min(580px,100%);max-height:90vh;padding:30px;position:relative;overflow:auto;box-shadow:0 25px 80px #00000040}.form-modal h2{margin:0 0 22px;font-size:21px}.close-modal{color:#7f8795;background:0 0;border:0;position:absolute;top:16px;left:16px}.entity-form label{margin:14px 0 7px;font-size:13px;font-weight:800;display:block}.entity-form input,.entity-form textarea,.entity-form select{background:#fff;border:1px solid #dde1eb;border-radius:12px;outline:none;width:100%;padding:12px}.entity-form textarea{resize:vertical;min-height:95px}.entity-form input:focus,.entity-form textarea:focus,.entity-form select:focus{border-color:var(--purple);box-shadow:0 0 0 4px #6d4aff1a}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.full-btn{background:#6d4aff;justify-content:center;width:100%;margin-top:22px}.login-page{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-card{place-self:center;width:min(430px,90%);padding:35px 20px}.login-logo{align-items:center;gap:12px;margin-bottom:38px;display:flex}.login-logo strong{font-size:25px;display:block}.login-logo span{color:#858ca0;font-size:11px}.login-card h1{margin:0 0 10px;font-size:29px}.login-card>p{color:var(--muted);margin-bottom:26px;line-height:1.9}.login-card label{margin:15px 0 8px;font-size:13px;font-weight:800;display:block}.login-card input{border:1px solid #dde1eb;border-radius:12px;outline:none;width:100%;padding:13px}.login-card input:focus{border-color:var(--purple);box-shadow:0 0 0 4px #6d4aff1a}.login-btn{background:var(--purple);justify-content:center;width:100%;margin-top:22px}.login-btn:disabled{opacity:.7;cursor:wait}.demo-note{text-align:center;color:#6656a6;background:#f5f3ff;border-radius:12px;margin-top:16px;padding:10px;font-size:12px}.error-box{color:#ba2532;background:#fff0f1;border:1px solid #ffd1d5;border-radius:11px;align-items:center;gap:7px;margin-top:14px;padding:10px;font-size:12px;display:flex}.login-side{color:#fff;background:radial-gradient(circle at 30% 30%,#a58dff,#0000 28%),linear-gradient(130deg,#1d2350,#4f46e5);align-items:center;padding:60px;display:grid}.login-side>div{max-width:500px}.login-side h2{margin:16px 0;font-size:46px;line-height:1.4}.login-side p{color:#e1e4ff;font-size:17px;line-height:2}.loading-screen{color:#606a80;background:#f7f8fc;align-content:center;place-items:center;gap:14px;min-height:100vh;display:grid}.loading-logo{color:#fff;background:linear-gradient(135deg,#876bff,#4f46e5);border-radius:18px;place-items:center;width:55px;height:55px;font-size:27px;font-weight:900;animation:1.4s infinite pulse;display:grid}@keyframes pulse{50%{transform:scale(1.08);box-shadow:0 12px 30px #4f46e559}}.mobile-sidebar,.mobile-overlay{display:none}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.two-columns{grid-template-columns:1fr}.course-grid,.live-page-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=780px){.desktop-sidebar{display:none}.mobile-sidebar{z-index:40;transition:all .2s;display:block;position:fixed;inset:0 auto 0 0;transform:translate(110%)}.mobile-sidebar.show{transform:translate(0)}.mobile-sidebar .sidebar{width:280px;position:relative}.mobile-overlay{z-index:30;background:#0006;position:fixed;inset:0}.mobile-overlay.show{display:block}.topbar{height:83px;padding:0 18px}.mobile-menu{background:#f1f2f8;border:0;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.topbar>div:first-of-type{flex:1;margin-right:10px}.topbar h1{font-size:17px}.top-actions .icon-button:first-child{display:none}.page-content{padding:20px 16px 40px}.welcome-banner{min-height:210px;padding:25px}.welcome-banner h2{font-size:21px}.welcome-art{display:none}.stats-grid,.course-grid,.live-page-grid{grid-template-columns:1fr}.content-heading{flex-direction:column;align-items:flex-start;gap:15px}.table-head{display:none}.table-row{grid-template-columns:1fr;gap:7px;padding:16px}.table-row .outline-btn{width:100%}.login-page{grid-template-columns:1fr}.login-side{display:none}.form-grid{grid-template-columns:1fr}}.session-action-buttons{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.session-action-buttons .primary-btn,.session-action-buttons .secondary-btn,.session-action-buttons .danger-btn{justify-content:center;align-items:center;gap:7px;min-height:40px;text-decoration:none;display:inline-flex}.danger-btn{cursor:pointer;color:#fff;background:#dc2626;border:0;border-radius:12px;padding:10px 14px;font-family:inherit}.danger-btn:hover{background:#b91c1c}.copy-link-btn{color:#5b4cc4;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:8px 0;font-family:inherit;font-weight:700}.disabled-btn{opacity:.55;cursor:not-allowed;pointer-events:none}@media (width<=600px){.session-action-buttons{flex-direction:column}.session-action-buttons .primary-btn,.session-action-buttons .secondary-btn,.session-action-buttons .danger-btn{width:100%}}.assignment-row{align-items:center}.assignment-description,.grade-feedback{margin-top:6px;line-height:1.6;display:block}.assignment-description{color:#64748b}.grade-feedback{color:#0f766e;font-weight:700}.status-success{color:#15803d;white-space:nowrap;font-size:.85rem}.auth-switch-btn{color:#5b4cc4;cursor:pointer;background:0 0;border:0;width:100%;margin-top:12px;font-family:inherit;font-size:.95rem;font-weight:800}.auth-switch-btn:hover{color:#4338ca;text-decoration:underline}.success-box{color:#166534;background:#dcfce7;border-radius:12px;align-items:center;gap:8px;margin:12px 0;padding:11px 12px;font-size:.9rem;font-weight:700;display:flex}
