:root{--olive-900:#242E1B;--olive-800:#303D24;--olive-700:#3F5130;--olive-600:#4F643D;--olive-500:#61794A;--olive-400:#7E9665;--olive-300:#A3B389;--olive-200:#C5D2B3;--olive-100:#E4EAD9;--olive-50:#F2F6ED;--paper:#F5F5F7;--paper-subtle:#EDEDEF;--surface:#FFFFFF;--surface-raised:#FFFFFF;--ink:#1D1D1F;--ink-muted:#6E6E73;--ink-faint:#86868B;--border:rgba(0,0,0,0.12);--border-subtle:rgba(0,0,0,0.06);--border-strong:rgba(0,0,0,0.22);--bar-bg:rgba(255,255,255,0.72);--bar-blur:saturate(180%) blur(20px);--status-success:var(--olive-700);--status-success-bg:var(--olive-100);--status-warning:#8F581B;--status-warning-bg:#FEF3E2;--status-danger:#8A2418;--status-danger-bg:#FDECEB;--status-whatsapp:#25D366;--status-whatsapp-dark:#128C7E;--gold:var(--olive-500);--gold-soft:var(--olive-100);--navy:var(--olive-900);--text-muted:var(--ink-muted);--danger:var(--status-danger);--success:var(--status-success);--line:var(--border);--line-strong:var(--border-strong);--font-display:"Cairo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans Arabic","Noto Sans",sans-serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans Arabic","Noto Sans",sans-serif;--leading-ar:1.8;--leading-latin:1.5;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 8px 24px rgba(0,0,0,0.10)}*,:after,:before{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:var(--leading-ar);font-size:.95rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:lang(en),body:lang(fr){line-height:var(--leading-latin)}h1,h2,h3,h4,h5,h6,strong{font-family:var(--font-display);font-weight:700;color:var(--olive-900)}a{color:inherit;text-decoration:none;transition:all .15s ease}::selection{background:var(--olive-100);color:var(--olive-900)}.page{max-inline-size:64rem;margin-inline:auto;padding-inline:1rem;padding-block:1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-xs)}.card,.field{-webkit-margin-after:1rem;margin-block-end:1rem}.field,.field>span{display:block}.field>span{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--olive-900);-webkit-margin-after:.35rem;margin-block-end:.35rem}input[type=email],input[type=password],input[type=tel],input[type=text],select,textarea{inline-size:100%;padding:.6rem .8rem;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);transition:all .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--olive-500);outline:none;box-shadow:0 0 0 3px var(--olive-100)}textarea{min-block-size:7rem;resize:vertical}.count{font-size:.85rem;color:var(--ink-muted)}.count.over{color:var(--status-danger);font-weight:700}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-display);font-weight:700;font-size:.88rem;padding:.55rem 1.25rem;min-height:38px;border-radius:var(--radius-sm);border:1.5px solid var(--olive-500);background:var(--olive-500);color:#ffffff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;transition:all .15s ease}.button:hover,button:hover{background:var(--olive-700);border-color:var(--olive-700)}.button:active,button:active{transform:scale(.98)}.button.secondary,button.secondary{background:transparent;color:var(--olive-900);border-color:var(--border-strong)}.button.secondary:hover,button.secondary:hover{background:var(--olive-50);border-color:var(--olive-500)}button:disabled{opacity:.5;cursor:not-allowed}.button.danger,button.danger{background:var(--status-danger);border-color:var(--status-danger);color:#ffffff}.button.danger:hover,button.danger:hover{background:#6d1b12;border-color:#6d1b12}button.danger.secondary{background:transparent;color:var(--status-danger);border-color:var(--status-danger)}button.danger.secondary:hover{background:var(--status-danger-bg)}.button.small,button.small{padding:.35rem .85rem;font-size:.8rem;min-height:32px;border-radius:var(--radius-sm)}.send-to-parents{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.35rem;min-height:38px;background:#25D366;border:1.5px solid #25d366;color:#ffffff;font-weight:700;font-size:.88rem;border-radius:var(--radius-sm);white-space:nowrap;text-decoration:none;cursor:pointer;transition:all .15s ease}.send-to-parents:hover{background:#128C7E;border-color:#128C7E;color:#ffffff}.button.small.send-to-parents,button.small.send-to-parents{padding:.35rem .85rem;font-size:.8rem;min-height:32px}.preview{background:#EFEBE4;padding:1rem;border-radius:var(--radius-md)}.preview .bubble{background:var(--surface);border-radius:var(--radius-sm);padding:.75rem .9rem;max-inline-size:32rem;white-space:pre-wrap;box-shadow:0 1px 3px rgba(0,0,0,.1)}table{inline-size:100%;border-collapse:collapse}td,th{text-align:start;padding:.65rem .85rem;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border);vertical-align:middle}th{font-family:var(--font-display);font-size:.82rem;color:var(--ink-muted);font-weight:700;background:var(--paper)}tbody tr:hover{background-color:var(--olive-50)}.table-row-clickable{cursor:pointer;transition:background-color .12s ease}.table-row-clickable:hover{background-color:var(--olive-50)!important}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .65rem;border-radius:var(--radius-full);font-size:.78rem;font-weight:600;border:1px solid var(--border);white-space:nowrap}.pill.draft{background:#F1EFE8;color:var(--ink-muted)}.pill.pending{background:var(--status-warning-bg);border-color:#E2C08A;color:var(--status-warning)}.pill.approved{background:var(--status-success-bg);border-color:var(--olive-300);color:var(--status-success)}.pill.sent{background:#DFE9F3;border-color:#9DB6CD;color:#0369A1}.pill.rejected{background:var(--status-danger-bg);border-color:#EABCB7;color:var(--status-danger)}.pill.superadmin{background:#E0F2FE;border-color:#7DD3FC;color:#075985;font-weight:700}.pill.admin{background:#FEF3C7;border-color:#FCD34D;color:#92400E;font-weight:700}.pill.teacher{font-weight:700}.pill.active,.pill.teacher{background:var(--olive-100);border-color:var(--olive-300);color:var(--olive-700)}.pill.inactive{background:#F3F4F6;border-color:#D1D5DB;color:#6B7280}.status-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;white-space:nowrap}.status-label .status-label-icon{display:inline-flex;flex-shrink:0}.status-label.draft{color:var(--ink-muted)}.status-label.pending{color:var(--status-warning)}.status-label.active,.status-label.approved,.status-label.teacher{color:var(--status-success)}.status-label.sent{color:#0369A1}.status-label.rejected{color:var(--status-danger)}.status-label.superadmin{color:#075985;font-weight:700}.status-label.admin{color:#92400E;font-weight:700}.status-label.inactive{color:var(--ink-faint)}.layout-split{display:grid;grid-template-columns:1fr 340px;grid-gap:1.5rem;gap:1.5rem;align-items:start}@media (max-width:860px){.layout-split{grid-template-columns:1fr}}.table-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.problems{color:var(--status-danger);margin:0;-webkit-padding-start:1.2rem;padding-inline-start:1.2rem}.success-banner{background:var(--olive-100);color:var(--olive-900);border:1px solid var(--olive-300);border-radius:var(--radius-sm);padding:.75rem 1rem;-webkit-margin-after:1rem;margin-block-end:1rem;font-size:.9rem;font-weight:600}.empty,.muted{color:var(--ink-muted)}.empty{padding-block:2.5rem;text-align:center}.erp-shell{display:flex;min-height:100vh;background:var(--paper)}[data-lang=ar] .erp-shell,[dir=rtl] .erp-shell,html[dir=rtl] .erp-shell{direction:rtl}[data-lang=fr] .erp-shell,[dir=ltr] .erp-shell,html[dir=ltr] .erp-shell{direction:ltr}.erp-sidebar{inline-size:260px;min-inline-size:260px;background:#ffffff;display:flex;flex-direction:column;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:40}[data-lang=ar] .erp-sidebar,[dir=rtl] .erp-sidebar,html[dir=rtl] .erp-sidebar{border-left:1px solid var(--border);border-right:none;box-shadow:-2px 0 12px rgba(0,0,0,.03);direction:rtl;text-align:right}[data-lang=fr] .erp-sidebar,[dir=ltr] .erp-sidebar,html[dir=ltr] .erp-sidebar{border-right:1px solid var(--border);border-left:none;box-shadow:2px 0 12px rgba(0,0,0,.03);direction:ltr;text-align:left}.erp-sidebar-brand{padding:1.1rem 1.25rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--border);background:var(--surface)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.erp-sidebar-brand{background:var(--bar-bg);backdrop-filter:var(--bar-blur);-webkit-backdrop-filter:var(--bar-blur)}}.brand-emblem-console{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);background:#ffffff;border:1px solid var(--border);flex-shrink:0;padding:2px;box-shadow:var(--shadow-xs)}.erp-brand-title{display:flex;flex-direction:column}.erp-brand-title strong{font-size:.95rem;color:var(--olive-900);line-height:1.2}.erp-brand-title span{font-size:.72rem;color:var(--ink-muted);font-weight:600}.erp-sidebar-label{padding:1.2rem 1.25rem .5rem;font-size:.7rem;letter-spacing:.08em;font-weight:700;color:var(--ink-muted);text-transform:uppercase}.erp-nav{display:flex;flex-direction:column;gap:.3rem;padding:0 .6rem}.erp-module-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;border-radius:var(--radius-sm);text-decoration:none;color:var(--olive-900);font-size:.9rem;font-weight:500;transition:all .15s ease}.erp-module-item.active,.erp-module-item:hover{background:var(--olive-50)}.erp-module-item.active{color:var(--olive-700);font-weight:700}[data-lang=ar] .erp-module-item.active,[dir=rtl] .erp-module-item.active,html[dir=rtl] .erp-module-item.active{border-right:3px solid var(--olive-500);border-left:none}[data-lang=fr] .erp-module-item.active,[dir=ltr] .erp-module-item.active,html[dir=ltr] .erp-module-item.active{border-left:3px solid var(--olive-500);border-right:none}.erp-module-start{display:flex;align-items:center;gap:.75rem}.erp-module-icon{inline-size:32px;block-size:32px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0}.erp-module-texts{display:flex;flex-direction:column;text-align:start}.erp-module-name-fr{font-size:.88rem;line-height:1.2}.erp-module-name-ar{font-size:.72rem;color:var(--ink-muted)}.erp-sidebar-footer{padding:1rem;border-top:1px solid var(--border);background:#FAFBF9;display:flex;flex-direction:column;gap:.75rem}.erp-version-tag{font-size:.72rem;color:var(--ink-muted);text-align:center}.erp-user-badge{justify-content:space-between;gap:.5rem}.erp-user-badge,.erp-user-info{display:flex;align-items:center}.erp-user-info{gap:.6rem}.erp-avatar{inline-size:34px;block-size:34px;border-radius:50%;background:var(--olive-900);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.erp-user-meta{display:flex;flex-direction:column;text-align:start}.erp-user-name{font-size:.82rem;font-weight:700;color:var(--olive-900)}.erp-user-role{font-size:.7rem;color:var(--ink-muted);font-weight:600}.erp-lang-switcher{display:flex;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-full);padding:2px;gap:2px;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}.erp-lang-btn{flex:1 1;display:inline-flex;align-items:center;justify-content:center;padding:.28rem .5rem;font-size:.76rem;font-weight:600;border-radius:var(--radius-full);border:none;background:transparent;color:var(--ink-muted);cursor:pointer;transition:all .15s ease;min-height:unset;-webkit-user-select:none;-moz-user-select:none;user-select:none}.erp-lang-btn:hover{color:var(--olive-900);background:rgba(255,255,255,.6)}.erp-lang-btn.active{background:#ffffff;color:var(--olive-900);font-weight:700;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle)}.erp-main{flex:1 1;min-width:0;display:flex;flex-direction:column;direction:rtl}[data-lang=fr] .erp-main,html[data-lang=fr] .erp-main{direction:ltr;text-align:left}[data-lang=fr] .erp-controlbar,[data-lang=fr] .erp-topbar,html[data-lang=fr] .erp-controlbar,html[data-lang=fr] .erp-topbar{direction:ltr}[data-lang=fr] td,[data-lang=fr] th,html[data-lang=fr] td,html[data-lang=fr] th{text-align:left}[data-lang=fr] .table-actions,html[data-lang=fr] .table-actions{justify-content:flex-start}.erp-topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:.65rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px)){.erp-topbar{background:var(--bar-bg);backdrop-filter:var(--bar-blur);-webkit-backdrop-filter:var(--bar-blur)}}.erp-topbar-breadcrumb{display:flex;align-items:center;gap:.5rem}.erp-topbar-right{display:flex;align-items:center;gap:.75rem}.erp-year-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;background:var(--olive-50);border:1px solid var(--olive-200);border-radius:var(--radius-full);font-size:.8rem;font-weight:700;color:var(--olive-900)}.erp-controlbar{background:#ffffff;border-bottom:1px solid var(--border);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.erp-control-actions{display:flex;align-items:center;gap:.75rem}.btn-action{display:inline-flex;align-items:center;gap:.4rem;background:var(--olive-500);color:#fff;padding:.45rem 1.1rem;border-radius:var(--radius-sm);font-size:.88rem;font-family:var(--font-display);font-weight:700;text-decoration:none;border:1px solid var(--olive-500);cursor:pointer;box-shadow:var(--shadow-xs);transition:all .15s ease}.btn-action:hover{background:var(--olive-700);border-color:var(--olive-700);color:#fff}.erp-search-box{display:flex;align-items:center;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-full);padding:.35rem .85rem;inline-size:260px;transition:border-color .15s ease}.erp-search-box:focus-within{border-color:var(--olive-500);box-shadow:0 0 0 3px var(--olive-100)}.erp-search-box input{border:0;background:transparent;outline:none;font:inherit;font-size:.85rem;inline-size:100%;padding:0 .4rem}.erp-page-body{flex:1 1;padding:1.5rem;max-inline-size:1320px;inline-size:100%;margin-inline:auto}.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:1rem;gap:1rem}.student-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.9rem 1rem;display:flex;gap:.85rem;position:relative;align-items:flex-start;min-height:110px;height:auto;box-shadow:var(--shadow-xs);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.student-card:hover{transform:translateY(-2px);border-color:var(--olive-300);box-shadow:var(--shadow-md)}.student-card-avatar{inline-size:54px;block-size:54px;border-radius:var(--radius-sm);background:var(--olive-100);color:var(--olive-900);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.15rem;position:relative;border:1px solid var(--border)}.student-card-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.student-card-name{font-size:.95rem;font-weight:700;color:var(--olive-900);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.student-card-sub{font-size:.8rem;color:var(--ink-muted);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.student-card-badge{position:absolute;bottom:-4px;left:-4px;inline-size:18px;block-size:18px;border-radius:50%;background:#10B981;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;z-index:2;box-shadow:0 1px 3px rgba(0,0,0,.15);border:2px solid #ffffff}.kanban-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem;align-items:start}.kanban-column{background:#F4F3EE;border-radius:var(--radius-md);padding:.85rem;display:flex;flex-direction:column;gap:.75rem;min-block-size:500px;border:1px solid var(--border)}.kanban-col-header{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-weight:700;font-size:.88rem;color:var(--olive-900);padding-bottom:.5rem;border-bottom:2px solid var(--border)}.kanban-card{border-radius:var(--radius-sm);border:1px solid var(--border);padding:.75rem}.erp-menu-toggle,.kanban-card{background:var(--surface);box-shadow:var(--shadow-xs)}.erp-menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:38px;height:38px;padding:0;border-radius:var(--radius-sm);border:1.5px solid var(--border);cursor:pointer;flex-shrink:0}.erp-burger-bar{display:block;width:18px;height:2px;background-color:var(--olive-900);border-radius:2px;transition:all .2s ease}.erp-sidebar-close{display:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:var(--radius-sm);background:var(--olive-50);border:1px solid var(--border);color:var(--olive-900);font-size:1.1rem;font-weight:700;cursor:pointer;flex-shrink:0}.erp-sidebar-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;animation:erpFadeIn .2s ease}@keyframes erpFadeIn{0%{opacity:0}to{opacity:1}}.erp-mobile-brand{display:none;align-items:center;gap:.5rem;flex-shrink:0}.erp-mobile-brand-title{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--olive-900);white-space:nowrap}.erp-topbar-start{display:flex;align-items:center;gap:.75rem;min-width:0}.class-tree-container{display:flex;gap:1.5rem;align-items:flex-start;width:100%}.class-tree-sidebar{width:320px;min-width:320px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:1rem}.mobile-tree-toggle-btn{display:none;align-items:center;gap:.3rem;background:var(--olive-50);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .75rem;font-size:.8rem;font-weight:600;color:var(--olive-900);cursor:pointer}.class-tree-body{display:block}@media (max-width:1024px){.erp-shell{flex-direction:column!important;min-height:100vh;width:100%;overflow-x:hidden}.erp-menu-toggle,.erp-mobile-brand,.erp-sidebar-close{display:inline-flex!important}.erp-topbar-breadcrumb{display:none!important}.erp-sidebar{position:fixed!important;top:0!important;bottom:0!important;inline-size:290px!important;min-inline-size:290px!important;max-inline-size:85vw!important;height:100vh!important;z-index:1000!important;box-shadow:0 0 35px rgba(0,0,0,.25)!important;transition:transform .28s cubic-bezier(.4,0,.2,1)!important}[data-lang=ar] .erp-sidebar,[dir=rtl] .erp-sidebar,html[dir=rtl] .erp-sidebar{right:0!important;left:auto!important;transform:translateX(100%)!important}[data-lang=ar] .erp-sidebar.mobile-open,[dir=rtl] .erp-sidebar.mobile-open,html[dir=rtl] .erp-sidebar.mobile-open{transform:translateX(0)!important}[data-lang=fr] .erp-sidebar,[dir=ltr] .erp-sidebar,html[dir=ltr] .erp-sidebar{left:0!important;right:auto!important;transform:translateX(-100%)!important}[data-lang=fr] .erp-sidebar.mobile-open,[dir=ltr] .erp-sidebar.mobile-open,html[dir=ltr] .erp-sidebar.mobile-open{transform:translateX(0)!important}.erp-main{width:100%!important;min-width:0!important;max-width:100vw!important;overflow-x:hidden}.erp-topbar{padding:.55rem .85rem!important;position:-webkit-sticky;position:sticky;top:0;z-index:30}.erp-controlbar{padding:.75rem .85rem!important;flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.erp-control-actions{justify-content:space-between!important;width:100%!important;flex-wrap:wrap!important;gap:.5rem!important}.erp-search-box{inline-size:100%!important;width:100%!important}.erp-page-body{padding:.85rem .75rem!important;width:100%!important;max-width:100vw!important;overflow-x:hidden}.card{padding:1rem;max-width:100%}.class-tree-container{flex-direction:column!important;gap:1rem!important;width:100%!important}.class-tree-sidebar{width:100%!important;min-width:0!important;position:static!important}.mobile-tree-toggle-btn{display:inline-flex!important}.class-tree-body{display:none;margin-top:.75rem}.class-tree-body.is-open{display:block!important}.card table{min-width:580px}.student-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))!important;gap:.75rem!important}.student-card{min-height:unset!important}}@media (max-width:480px){.erp-year-badge{display:none!important}.erp-mobile-brand-title{font-size:.88rem!important}.btn-action{padding:.4rem .85rem!important;font-size:.82rem!important}.card{padding:.75rem!important;border-radius:var(--radius-sm)!important}table td,table th{padding:.45rem .55rem!important;font-size:.78rem!important}}@media print{.erp-controlbar,.erp-sidebar,.erp-topbar,button{display:none!important}body{background:var(--surface)!important;direction:rtl}.erp-main,.erp-shell{display:block!important}}