:root{--primary: #107c41;--primary-dark: #0a5c2f;--primary-light: #22c55e;--primary-glow: rgba(16, 124, 65, .2);--secondary: #c62828;--secondary-dark: #991b1b;--secondary-light: #ef4444;--accent-gold: #d97706;--accent-gold-light: #fef3c7;--bg-dark: #0b1329;--bg-darker: #070d1e;--card-bg: rgba(15, 23, 42, .85);--card-border: rgba(255, 255, 255, .08);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--surface-light: #ffffff;--surface-muted: #f1f5f9;--border-light: #e2e8f0;--text-dark: #0f172a;--text-dark-muted: #475569;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 8px 24px rgba(0, 0, 0, .12);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .25);--shadow-glow: 0 0 25px rgba(16, 124, 65, .35);--font-family: "Cairo", "Tajawal", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:radial-gradient(circle at 50% 0%,#132238,#070d1e);color:var(--text-main);min-height:100vh;direction:rtl;text-align:right;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0f172a99}::-webkit-scrollbar-thumb{background:#64748b66;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.glass-panel{background:#0f172abf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.glass-card{background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);transition:all .25s ease}.glass-card:hover{border-color:#107c4166;transform:translateY(-2px);box-shadow:0 12px 28px #0000004d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-family);font-size:.95rem;font-weight:600;padding:10px 20px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#107c41,#0a5c2f);color:#fff;box-shadow:0 4px 14px #107c4159}.btn-primary:hover{background:linear-gradient(135deg,#15803d,#166534);box-shadow:0 6px 20px #107c4180;transform:translateY(-1px)}.btn-secondary{background:#ffffff14;color:var(--text-main);border:1px solid rgba(255,255,255,.12)}.btn-secondary:hover{background:#ffffff24;border-color:#fff3}.btn-danger{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#ef4444,#b91c1c)}.btn-outline-primary{background:transparent;color:var(--primary-light);border:1px solid rgba(34,197,94,.4)}.btn-outline-primary:hover{background:#22c55e1a;border-color:var(--primary-light)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;font-size:.82rem;font-weight:700}.badge-excellent{background:#d9770626;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.badge-committed{background:#107c4126;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.badge-average{background:#3b82f626;color:#60a5fa;border:1px solid rgba(96,165,250,.3)}.badge-warning{background:#dc262626;color:#f87171;border:1px solid rgba(248,113,113,.3)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:.9rem;font-weight:600;color:var(--text-muted)}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;background:#0f172ab3;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-family);font-size:.95rem;transition:all .2s ease;outline:none;color-scheme:dark}.form-select{padding-top:6px;padding-bottom:6px;line-height:1.4}.form-select option,.form-select optgroup{background-color:#0f172a;color:#f8fafc}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #22c55e33;background:#0f172ae6}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:999;overflow-y:auto}.modal-content{background:#0f172a;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.nav-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;color:var(--text-muted);border:none;border-bottom:2px solid transparent;font-family:var(--font-family);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.nav-tab:hover{color:var(--text-main)}.nav-tab.active{color:#4ade80;border-bottom-color:#22c55e}.tab-label-short{display:none}.a4-page-container{background:#fff;color:#0f172a;width:210mm;min-height:297mm;padding:14mm 16mm;margin:0 auto;box-shadow:0 10px 30px #00000059;position:relative;font-family:Cairo,Tajawal,sans-serif;direction:rtl;overflow:hidden}.a4-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140mm;height:140mm;opacity:.06;pointer-events:none;z-index:1}.a4-content{position:relative;z-index:2;display:flex;flex-direction:column;height:100%}@media print{body{background:#fff!important;color:#000!important;padding:0!important;margin:0!important}.no-print{display:none!important}.a4-page-container{width:100%!important;min-height:100%!important;margin:0!important;padding:8mm 12mm!important;box-shadow:none!important;border:none!important;page-break-after:avoid}@page{size:A4 portrait;margin:0}}@media (max-width: 768px){.a4-page-container{width:100%;min-height:auto;padding:12px}}html{overflow-x:hidden;max-width:100%}img,svg,video,canvas{max-width:100%;height:auto}@media (max-width: 640px){.modal-backdrop{padding:8px}.modal-content{max-height:95vh}.glass-panel,.glass-card{border-radius:var(--radius-md)}.form-input,.form-select,.form-textarea{font-size:16px}}@media (max-width: 768px){.app-navbar{margin:10px!important;padding:12px!important;gap:12px!important}.navbar-brand{flex:1 1 100%;gap:12px!important}.navbar-brand h1{font-size:.92rem!important}.navbar-tabs{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding-bottom:2px}.navbar-tabs::-webkit-scrollbar{display:none}.navbar-tabs .nav-tab{padding:8px 12px;font-size:.85rem;white-space:nowrap;flex:0 0 auto}.navbar-actions{width:100%;flex-wrap:wrap;gap:8px!important;justify-content:flex-start}.build-stamp{display:none}.hero-row,.hero-brand{flex-direction:column;align-items:flex-start!important;gap:14px!important}.hero-badge{border-radius:var(--radius-md)!important;display:block!important;line-height:1.7;font-size:.75rem!important;padding:8px 12px!important}.hero-title{font-size:1.15rem!important}}@media (max-width: 480px){.app-navbar{margin:8px!important}.navbar-brand h1{font-size:.85rem!important}.hero-title{font-size:1.05rem!important}}@media screen and (max-width: 820px){.a4-viewport{align-items:flex-start;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:12px 8px!important}.a4-page-container{transform:scale(.44);transform-origin:top right;margin-bottom:-166mm!important;flex:0 0 auto}}@media screen and (max-width: 420px){.a4-page-container{transform:scale(.36);margin-bottom:-190mm!important}}@media screen and (max-width: 640px){.a4-toolbar{width:calc(100% - 16px);max-width:100%;flex-wrap:wrap;justify-content:center;border-radius:var(--radius-md)!important;padding:8px!important;gap:8px!important}.a4-toolbar .btn{padding:8px 12px!important;font-size:.8rem!important}}.badge-new{background:#94a3b826;color:#cbd5e1;border:1px solid rgba(148,163,184,.3)}.cards-viewport{align-items:flex-start;justify-content:center;overflow:auto;padding:90px 12px 40px!important}.cards-toolbar,.roster-toolbar{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:14px;background:#0f172af2;padding:10px 18px;border-radius:9999px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 30px #00000080}.cards-stack{display:flex;flex-direction:column;gap:24px}.mc-page{width:210mm;min-height:297mm;background:#fff;padding:8mm 9mm;display:grid;grid-template-columns:repeat(2,85.6mm);grid-auto-rows:54mm;gap:2.5mm 6mm;justify-content:center;align-content:start;box-shadow:0 10px 30px #00000059;direction:rtl}.mc-card{width:85.6mm;height:54mm;border-radius:3mm;background:linear-gradient(135deg,#fff,#f2f9f5);color:#0f172a;padding:3mm 3.5mm;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;font-family:Cairo,Tajawal,sans-serif;border:.3mm solid #107c41}.mc-cut .mc-card{outline:.2mm dashed #94a3b8;outline-offset:1mm}.mc-head{display:flex;align-items:center;gap:2mm;border-bottom:.4mm solid #107c41;padding-bottom:1.2mm}.mc-logo{width:9mm;height:9mm;object-fit:contain;flex-shrink:0}.mc-org{display:flex;flex-direction:column;min-width:0;line-height:1.25}.mc-org strong{font-size:6.4pt;color:#0a5c2f;font-weight:800}.mc-org span{font-size:5.6pt;color:#475569}.mc-body{display:flex;align-items:center;gap:2.5mm;flex:1;min-height:0}.mc-photo{width:17mm;height:22mm;border-radius:1.5mm;border:.3mm solid #cbd5e1;background:#f1f5f9;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.mc-photo img{width:100%;height:100%;object-fit:cover}.mc-nophoto{font-size:5pt;color:#94a3b8;text-align:center}.mc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.6mm}.mc-name{font-size:8.2pt;font-weight:800;color:#0f172a;line-height:1.25}.mc-name-en{font-size:6pt;color:#64748b;direction:ltr;text-align:right}.mc-row{font-size:6.4pt;color:#334155}.mc-row strong{color:#0a5c2f;letter-spacing:.3px}.mc-type{color:#475569}.mc-qr{width:16mm!important;height:16mm!important;flex-shrink:0}.mc-foot{display:flex;align-items:center;justify-content:space-between;border-top:.3mm solid #cbd5e1;padding-top:1mm;font-size:5.8pt}.mc-ok{color:#0a5c2f;font-weight:700}.mc-pending{color:#b45309;font-weight:700}.mc-join{color:#64748b}@media print{.cards-viewport{position:static!important;background:#fff!important;padding:0!important;overflow:visible!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.cards-stack{gap:0!important}.mc-page{box-shadow:none!important;margin:0!important;page-break-after:always;break-after:page}.mc-page:last-child{page-break-after:auto;break-after:auto}}@media screen and (max-width: 820px){.mc-page{transform:scale(.44);transform-origin:top center;margin-bottom:-166mm!important}}@media screen and (max-width: 420px){.mc-page{transform:scale(.36);margin-bottom:-190mm!important}}.scanner-shell{width:100%;max-width:520px;height:100%;max-height:100vh;display:flex;flex-direction:column;background:#0b1329}.scanner-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1);background:#0f172af2}.scanner-head strong{display:block;color:#f8fafc;font-size:1rem}.scanner-head span{display:block;color:#4ade80;font-size:.82rem;margin-top:2px}.scanner-head button{background:#ffffff1a;border:none;color:#fff;border-radius:50%;width:40px;height:40px;cursor:pointer;flex-shrink:0}.scanner-view{flex:1;position:relative;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}.scanner-video{width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(68vw,280px);height:min(68vw,280px);border:3px solid rgba(74,222,128,.9);border-radius:18px;box-shadow:0 0 0 9999px #00000073;pointer-events:none}.scanner-msg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;background:#0b1329e6;color:#cbd5e1;font-size:.92rem;line-height:1.7}.scanner-feedback{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#0f172af5;border:2px solid;border-radius:9999px;padding:10px 18px;font-size:.9rem;font-weight:700;max-width:92%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scanner-foot{padding:12px 18px;text-align:center;color:#94a3b8;font-size:.82rem;line-height:1.6;border-top:1px solid rgba(255,255,255,.08);background:#0f172af2}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.meetings-grid{grid-template-columns:1fr!important}}@media (max-width: 640px){.form-grid-2{grid-template-columns:1fr!important}}.meeting-actions{flex-wrap:wrap}.session-banner{flex:1 0 100%}@media (max-width: 768px){.meeting-actions{width:100%}.meeting-actions .btn{flex:1 1 auto;min-width:140px;white-space:nowrap;justify-content:center}}@media print{body.print-isolated .app-root>*:not(.print-target){display:none!important}body.print-isolated .print-target{position:static!important;background:#fff!important;padding:0!important;margin:0!important;overflow:visible!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:block!important}}@media screen and (max-width: 640px){.cards-toolbar,.roster-toolbar{position:sticky;top:0;left:auto;transform:none;width:100%;border-radius:var(--radius-md);flex-wrap:wrap;justify-content:center;padding:10px!important;gap:10px!important}.cards-toolbar .btn,.roster-toolbar .btn{font-size:.8rem;padding:8px 12px}.cards-viewport{padding:10px 8px 30px!important;flex-direction:column;align-items:center}}.members-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.82rem;text-align:right}.members-table th,.members-table td{border:1px solid rgba(255,255,255,.13);padding:8px 6px;vertical-align:middle;overflow-wrap:anywhere;word-break:break-word}.members-table thead th{background:#107c4129;color:#cbd5e1;font-weight:700;font-size:.78rem;white-space:nowrap;padding:10px 6px}.members-table tbody tr:nth-child(2n){background:#ffffff05}.members-table tbody tr:hover{background:#107c411a}.cell-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.members-table .row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px}.members-table .row-actions button{display:inline-flex;align-items:center;justify-content:center;padding:3px 5px;border-radius:5px;cursor:pointer;line-height:0}@media (max-width: 1560px){.members-table .row-actions{gap:2px}.members-table .row-actions button{padding:3px 4px}}@media (max-width: 1200px){.members-table{font-size:.75rem}.members-table thead th{font-size:.72rem}.members-table th,.members-table td{padding:6px 4px}}@media (max-width: 860px){.list-panel{padding:16px!important}.list-toolbar>div:first-child{flex:1 1 100%}.list-toolbar h2{font-size:1.05rem!important}.list-toolbar-actions{width:100%;flex-wrap:wrap}.list-toolbar-actions .btn{flex:1 1 auto;min-width:130px;justify-content:center;padding:9px 12px;font-size:.82rem}.members-table,.members-table tbody,.members-table tr,.members-table td{display:block;width:100%}.members-table{table-layout:auto;font-size:.88rem}.members-table colgroup,.members-table thead{display:none}.members-table tbody tr,.members-table tbody tr:nth-child(2n),.members-table tbody tr:hover{background:#1e293b8c}.members-table tbody tr{border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden}.members-table td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center;min-height:36px;border:none;border-top:1px solid rgba(255,255,255,.07);padding:7px 12px;text-align:right!important;overflow-wrap:break-word;word-break:normal}.members-table td:before{content:attr(data-label);color:#94a3b8;font-size:.72rem;font-weight:700;line-height:1.5}.members-table td.cell-index{background:#107c412e;border-top:none;min-height:32px}.members-table td.cell-name{font-size:.97rem}.members-table .cell-clamp{display:block;-webkit-line-clamp:unset;overflow:visible}.members-table .row-actions{justify-content:flex-start;gap:8px}.members-table .row-actions button{padding:8px 11px}}@media (min-width: 641px) and (max-width: 860px){.members-table tbody{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.members-table tbody tr{margin-bottom:0}}@media (max-width: 420px){.members-table td{grid-template-columns:78px minmax(0,1fr);gap:8px;padding:8px 10px}.members-table td:before{font-size:.68rem}.list-toolbar-actions .btn{min-width:0;flex:1 1 calc(50% - 10px);font-size:.78rem;padding:9px 8px}}.roster-viewport{align-items:flex-start;justify-content:center;overflow:auto;padding:90px 12px 40px!important}.roster-hint{color:#94a3b8;font-size:.78rem;white-space:nowrap}.roster-sheet{width:297mm;background:#fff;color:#0f172a;padding:9mm 8mm;box-shadow:0 10px 30px #00000059;direction:rtl;font-family:Cairo,Tajawal,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}.roster-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:8.6pt;line-height:1.45}.roster-table th,.roster-table td{border:1px solid #64748b;padding:1.6mm 1.2mm;vertical-align:middle;overflow-wrap:anywhere;word-break:break-word;text-align:right}.roster-table thead{display:table-header-group}.roster-table tbody tr{page-break-inside:avoid;break-inside:avoid}.roster-title-cell{border:none!important;border-bottom:1.2px solid #107c41!important;padding:0 0 2.5mm!important}.roster-head{display:flex;align-items:center;gap:4mm}.roster-logo{width:14mm;height:14mm;object-fit:contain;flex-shrink:0}.roster-org{flex:1;min-width:0}.roster-org strong{display:block;font-size:11pt;font-weight:800;color:#0f172a}.roster-org span{font-size:8.5pt;font-weight:600;color:#475569}.roster-meta{text-align:left;font-size:8.5pt;color:#475569;font-weight:600;flex-shrink:0}.roster-doc-title{font-size:11pt;font-weight:800;color:#107c41;margin-bottom:1mm}.roster-colhead th{background:#e2e8f0;font-weight:800;font-size:8.2pt;text-align:center;white-space:nowrap}.roster-table tbody tr:nth-child(2n) td{background:#f1f5f9}.roster-table .td-num{text-align:center;white-space:nowrap}.roster-table .td-name{font-weight:700}.roster-table .td-name-en{font-family:Segoe UI,Arial,sans-serif;font-weight:700}.roster-table .td-notes{font-size:8pt;color:#334155}.roster-foot{display:flex;justify-content:space-between;gap:8mm;margin-top:3mm;padding-top:1.5mm;border-top:1px solid #cbd5e1;font-size:7.5pt;color:#475569}@media screen and (max-width: 1240px){.roster-sheet{zoom:.72}}@media screen and (max-width: 900px){.roster-sheet{zoom:.46}}@media screen and (max-width: 560px){.roster-sheet{zoom:.3}}@media print{@page roster-a4{size:A4 landscape;margin:8mm 7mm}.roster-viewport{position:static!important;background:#fff!important;padding:0!important;overflow:visible!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.roster-sheet{page:roster-a4;width:100%!important;padding:0!important;margin:0!important;box-shadow:none!important;zoom:1!important}}.num-ltr,.roster-table .td-num{direction:ltr;unicode-bidi:isolate}@media screen and (min-width: 641px) and (max-width: 1100px){.cards-viewport,.roster-viewport{padding-top:190px!important}}@media (max-width: 640px){.member-head{position:relative;flex-direction:column;align-items:stretch!important;gap:14px!important;padding:16px!important}.member-head-id{align-items:flex-start!important;gap:12px!important;padding-inline-end:42px}.member-head-photo{width:58px!important;height:66px!important;flex-shrink:0}.member-head-name{flex-wrap:wrap;row-gap:8px}.member-head-name h3{font-size:1.02rem!important;line-height:1.45;min-width:0}.member-head-name .badge{white-space:nowrap;font-size:.74rem;padding:3px 10px}.member-head-meta{gap:8px!important;font-size:.75rem!important}.member-head-close{position:absolute;top:12px;inset-inline-end:12px;width:32px!important;height:32px!important}.member-head-logo{display:none!important}.tab-label-full{display:none}.tab-label-short{display:inline}.member-head-actions{width:100%;flex-wrap:wrap;gap:8px!important}.member-head-actions .btn{flex:1 1 calc(50% - 4px);min-width:0;justify-content:center;white-space:nowrap;padding:10px 8px!important;font-size:.8rem!important}.member-tabs{padding:0 8px!important;overflow-x:auto;scrollbar-width:none;flex-shrink:0}.member-head{flex-shrink:0}.member-tabs::-webkit-scrollbar{display:none}.member-tabs .nav-tab{flex:0 0 auto;white-space:nowrap;padding:11px 12px;font-size:.82rem}}
