:root{--cd-navy:#0d2b52;--cd-orange:#f58220;--cd-bg:#f7f9fc;--cd-surface:#fff;--cd-text:#1f2937;--cd-muted:#6b7280;--cd-line:#dfe5ee;--cd-success:#15803d;--cd-danger:#b42318}*{box-sizing:border-box}body{color:var(--cd-text);background:#f4f7fb;margin:0;font-family:Segoe UI,Helvetica Neue,sans-serif}.page{max-width:1180px;margin:0 auto;padding:1.2rem 1.2rem 3rem}.hero{color:#fff;background:#0f2f58;border-radius:8px;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.15rem 1.25rem;display:flex;box-shadow:0 12px 24px #0d2b5224}.hero h1{margin:.2rem 0;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.05}.hero-copy{min-width:0}.hero-status{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;min-width:260px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.1em;opacity:.88;margin:0;font-size:.78rem}.subtitle{opacity:.92;max-width:680px;margin:0;line-height:1.45}.status-pill{color:#f8fafc;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:999px;align-items:center;min-height:30px;padding:.28rem .62rem;font-size:.78rem;font-weight:700;display:inline-flex}.status-connected{color:var(--cd-success);background:#dcfce7;border-color:#bbf7d0}.status-offline{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-top:1.2rem;display:grid}.card{background:var(--cd-surface);border:1px solid var(--cd-line);border-radius:8px;padding:.95rem}.metric-card{flex-direction:column;justify-content:space-between;min-height:98px;display:flex}.card-label{color:var(--cd-muted);margin:0;font-size:.85rem}.card-value{color:var(--cd-navy);margin:.4rem 0 0;font-size:1.55rem;font-weight:700}.split-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;margin-top:1rem;display:grid}.panel{border:1px solid var(--cd-line);background:#fff;border-radius:8px;padding:1rem}.panel h2{margin:0;font-size:1.08rem;line-height:1.25}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.section-kicker{color:var(--cd-muted);text-transform:uppercase;margin:0 0 .2rem;font-size:.75rem;font-weight:800}.panel ul{margin:0;padding-left:1.1rem}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chips span{color:#a34a00;background:#fff2e6;border:1px solid #ffd5ad;border-radius:999px;padding:.35rem .7rem;font-size:.86rem}.auth-panel{margin-top:1rem}.grid-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;display:grid}.grid-form label{color:var(--cd-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.grid-form input,.grid-form select,.assign-box select{color:var(--cd-text);background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.55rem .65rem;font-size:.92rem}.grid-form input:focus,.grid-form select:focus,.assign-box select:focus{border-color:var(--cd-orange);outline:3px solid #f582202e}.toolbar{flex-wrap:wrap;gap:.6rem;margin-top:.9rem;display:flex}.quick-actions{border-top:1px solid var(--cd-line);flex-wrap:wrap;gap:.5rem;margin-top:.9rem;padding-top:.9rem;display:flex}.btn{color:var(--cd-text);cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;min-height:38px;padding:.5rem .8rem;font-weight:600}.btn:hover:not(:disabled){background:#f8fafc;border-color:#9eb2cc}.btn:focus-visible{outline-offset:2px;outline:3px solid #f582203d}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--cd-orange);color:#fff;border-color:var(--cd-orange)}.btn-primary:hover:not(:disabled){background:#dc6f12;border-color:#dc6f12}.btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.token,.message,.empty{color:var(--cd-muted);margin:.8rem 0 0;font-size:.9rem}.session-feedback{min-height:42px}.queue-list,.mapping-list{flex-direction:column;gap:.7rem;margin-top:.8rem;display:flex}.env-fallback-box{border:1px solid var(--cd-line);background:#f8fafc;border-radius:8px;margin-top:.75rem;padding:.7rem}.env-fallback-box p{margin:.25rem 0;font-size:.86rem}.queue-item,.mapping-item{border:1px solid var(--cd-line);background:#fcfdff;border-radius:8px;padding:.8rem}.queue-item h3{margin:0 0 .4rem}.queue-item p,.mapping-item p{margin:.2rem 0;font-size:.9rem}.assign-box{gap:.5rem;margin-top:.6rem;display:flex}.assign-box select{flex:1}.checkbox-line{justify-content:flex-start;align-items:center;flex-direction:row!important;gap:.45rem!important}.workload-panel{grid-column:1/-1}.workload-table-wrapper{margin-top:.8rem;overflow-x:auto}.workload-table{border-collapse:collapse;width:100%;min-width:860px}.workload-table th,.workload-table td{border-bottom:1px solid var(--cd-line);text-align:left;vertical-align:top;border-top:0;border-left:0;border-right:0;padding:.54rem;font-size:.84rem}.workload-table th{color:#364152;background:#f8fafc;position:sticky;top:0}.risk-badge{letter-spacing:.02em;border-radius:999px;padding:.2rem .52rem;font-size:.74rem;font-weight:700;display:inline-block}.risk-critical{color:#b42318;background:#fee2e2;border:1px solid #fecaca}.risk-warning{color:#b45309;background:#ffedd5;border:1px solid #fed7aa}.risk-healthy{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.risk-idle{color:#374151;background:#e5e7eb;border:1px solid #d1d5db}.attendance-panel{margin-top:1rem}.attendance-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.8rem;display:flex}.attendance-controls label{color:var(--cd-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.attendance-controls input[type=date]{border:1px solid #d1d5db;border-radius:8px;padding:.52rem .6rem;font-size:.92rem}.attendance-toolbar{flex-wrap:wrap;gap:.5rem;display:flex}.attendance-kpis{margin-top:.85rem}.mode-text{font-size:1.05rem}.attendance-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.8rem;margin-top:.85rem;display:grid}.attendance-block{border:1px solid var(--cd-line);background:#fcfdff;border-radius:8px;padding:.8rem}.attendance-block h3{margin-top:0;margin-bottom:.6rem}.csv-preview{border:1px solid var(--cd-line);white-space:pre-wrap;background:#fafafa;border-radius:8px;max-height:200px;margin-top:.7rem;padding:.7rem;font-size:.76rem;overflow:auto}.attendance-table-wrapper{margin-top:.9rem;overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%;min-width:780px}.attendance-table th,.attendance-table td{border-bottom:1px solid var(--cd-line);text-align:left;vertical-align:top;border-top:0;border-left:0;border-right:0;padding:.58rem;font-size:.86rem}.attendance-table th{color:#364152;background:#f7fafc}.cell-muted{color:var(--cd-muted);margin-top:.16rem;font-size:.78rem}.late-badge,.ontime-badge{border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.late-badge{color:#b42318;background:#fee2e2;border:1px solid #fecaca}.ontime-badge{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.project-control-panel{margin-top:1rem}.project-control-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:.8rem;margin-top:.8rem;display:grid}.project-control-list,.project-control-detail{border:1px solid var(--cd-line);background:#fcfdff;border-radius:8px;padding:.8rem}.project-control-list h3,.project-control-detail h3{margin-top:0;margin-bottom:.65rem}.project-item-button{text-align:left;border:1px solid var(--cd-line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:.2rem;width:100%;padding:.65rem;display:flex}.project-item-button:hover{border-color:#c8d6ea}.project-item-button.active{border-color:#f58220;box-shadow:0 0 0 2px #f582201f}.project-item-title{color:#1f2937;font-size:.92rem;font-weight:700}.project-item-meta{color:#6b7280;font-size:.8rem}.project-update-form{margin-top:.8rem}.project-detail-columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem;margin-top:.8rem;display:grid}.attachment-row{border:1px solid var(--cd-line);border-radius:8px;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.45rem;padding:.55rem;display:flex}.attachment-row p{margin:.1rem 0}@media (max-width:980px){.hero{flex-direction:column;align-items:flex-start}.hero-status{justify-content:flex-start;min-width:0}.project-control-grid{grid-template-columns:1fr}}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--cd-line);width:100%;color:var(--cd-text);background:#fff;border-radius:6px;padding:.62rem .7rem}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--cd-orange);outline:3px solid #f582202e}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-page{background:var(--cd-navy);grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:100vh;display:grid}.login-brand{color:#fff;flex-direction:column;justify-content:center;padding:clamp(2rem,8vw,7rem);display:flex}.login-brand h1{letter-spacing:-.045em;max-width:760px;margin:.8rem 0 1.4rem;font-size:clamp(2.5rem,5vw,4.75rem);line-height:.98}.login-brand>p:last-child{color:#cfdae8;max-width:580px;font-size:1.08rem;line-height:1.7}.login-card{background:#fff;border-radius:8px;flex-direction:column;justify-content:center;gap:2rem;margin:1rem;padding:clamp(2rem,7vw,5rem);display:flex}.login-card h2{margin:.2rem 0;font-size:2rem}.helper,.page-heading p,.panel-heading p{color:var(--cd-muted);margin:.3rem 0 0;line-height:1.5}.stack-form{flex-direction:column;gap:.9rem;display:flex}.stack-form label,.form-grid label{color:#4b5563;flex-direction:column;gap:.38rem;font-size:.86rem;font-weight:600;display:flex}.form-error{color:var(--cd-danger);margin:0}.admin-frame{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.side-nav{background:var(--cd-navy);color:#fff;flex-direction:column;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0}.side-brand{border-bottom:1px solid #ffffff24;align-items:center;gap:.75rem;padding:.25rem .25rem 1.5rem;display:flex}.side-brand div{flex-direction:column;gap:.12rem;display:flex}.side-brand small{color:#acbdd2}.brand-mark{background:var(--cd-orange);border-radius:6px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.side-nav nav{flex-direction:column;gap:.25rem;padding-top:1.25rem;display:flex}.side-nav nav a,.nav-signout{color:#d9e3ef;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.7rem .75rem;text-decoration:none}.side-nav nav a:hover,.nav-signout:hover{color:#fff;background:#ffffff14}.side-nav nav a.active{color:var(--cd-navy);background:#fff;font-weight:700}.nav-signout{width:100%;margin-top:auto}.admin-main{min-width:0}.topbar{border-bottom:1px solid var(--cd-line);min-height:58px;color:var(--cd-muted);background:#fff;justify-content:space-between;align-items:center;padding:0 1.5rem;font-size:.82rem;display:flex}.environment-dot{background:var(--cd-success);border-radius:50%;width:8px;height:8px;margin-right:.35rem;display:inline-block}.admin-content{flex-direction:column;gap:1rem;width:min(1280px,100%);margin:0 auto;padding:2rem 2rem 4rem;display:flex}.page-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.3rem;display:flex}.page-heading h1{letter-spacing:-.025em;color:var(--cd-navy);margin:.12rem 0;font-size:2rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.metric{border:1px solid var(--cd-line);background:#fff;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.metric span{color:var(--cd-muted);font-size:.83rem}.metric strong{color:var(--cd-navy);font-size:1.8rem}.content-panel{border:1px solid var(--cd-line);background:#fff;border-radius:8px;padding:1rem}.content-panel hr{border:0;border-top:1px solid var(--cd-line);margin:1.25rem 0}.panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.panel-heading h2,.content-panel h2{color:var(--cd-navy);margin:0;font-size:1.08rem}.panel-heading a{color:#b75200}.editor-layout{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;gap:1rem;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.form-submit{align-items:flex-end;display:flex}.inline-form,.action-row,.filters,.check-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.inline-form input,.inline-form select{flex:1;min-width:140px}.check-row label,.check-inline{white-space:nowrap;color:var(--cd-muted);align-items:center;font-size:.85rem;flex-direction:row!important;gap:.4rem!important;display:flex!important}.check-row input,.check-inline input{width:auto}.plain-list,.media-list{flex-direction:column;margin:.7rem 0 0;padding:0;list-style:none;display:flex}.plain-list li,.media-list li{border-bottom:1px solid var(--cd-line);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.plain-list li:last-child,.media-list li:last-child{border-bottom:0}.plain-list span,.media-list li>div:first-child{flex-direction:column;gap:.2rem;display:flex}.plain-list small,.media-list small{color:var(--cd-muted)}.request-grid{gap:.75rem;display:grid}.request-item{border:1px solid var(--cd-line);background:#fbfcfe;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:1rem;padding:1rem;display:grid}.request-item h3{color:var(--cd-navy);margin:.45rem 0 .2rem}.request-item p,.request-item small{color:var(--cd-muted);margin:0}.text-button{color:#9a4a08;cursor:pointer;background:0 0;border:0;padding:.3rem;font-weight:650}.text-button:hover{text-decoration:underline}.text-button.danger{color:var(--cd-danger)}.filters input{min-width:220px}.filters select{width:auto}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--cd-line);text-align:left;vertical-align:top;padding:.72rem .6rem;font-size:.86rem}th{color:#526174;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:.76rem}.table-sub{color:var(--cd-muted);margin-top:.2rem;display:block}.empty-state{text-align:center;color:var(--cd-muted);padding:2rem 1rem}.notice{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:.75rem 1rem}.notice.error{color:var(--cd-danger);background:#fef2f2;border-color:#fecaca}.status{text-transform:capitalize;border:1px solid #0000;border-radius:999px;padding:.22rem .48rem;font-size:.74rem;display:inline-block}.status-healthy{color:#166534;background:#dcfce7;border-color:#bbf7d0}.status-warning{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.status-critical{color:#991b1b;background:#fee2e2;border-color:#fecaca}.status-idle{color:#475569;background:#e2e8f0;border-color:#cbd5e1}.master-detail{grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);align-items:start;gap:1rem;display:grid}.selection-list{flex-direction:column;gap:.45rem;display:flex}.selection-list button{border:1px solid var(--cd-line);text-align:left;cursor:pointer;background:#fff;border-radius:6px;flex-direction:column;gap:.25rem;padding:.7rem;display:flex}.selection-list button span{color:var(--cd-muted);font-size:.78rem}.selection-list button.selected{border-color:var(--cd-orange);box-shadow:0 0 0 2px #f582201f}.split-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.qr-token{border:1px solid var(--cd-line);word-break:break-all;background:#f8fafc;flex-direction:column;gap:.35rem;margin-top:1rem;padding:.75rem;display:flex}.audit{border-top:1px solid var(--cd-line);margin-top:1rem;padding-top:1rem}.audit summary{cursor:pointer;font-weight:700}.center-state{min-height:100vh;color:var(--cd-muted);place-items:center;display:grid}@media (max-width:900px){.admin-frame{grid-template-columns:1fr}.side-nav{height:auto;position:static}.side-nav nav{flex-direction:row;overflow-x:auto}.nav-signout{margin-top:.75rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout,.master-detail,.request-item{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.login-page{grid-template-columns:1fr}.login-brand{padding:2rem}.login-brand h1{font-size:2.4rem}.login-card{border-radius:0;margin:0;padding:2rem}.admin-content{padding:1.25rem 1rem 3rem}.topbar{padding:0 1rem}.page-heading,.panel-heading{flex-direction:column;align-items:flex-start}.metric-grid,.split-panels,.form-grid{grid-template-columns:1fr}.filters,.filters input,.filters select{width:100%}.side-nav nav a{white-space:nowrap}}.home-editor-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;display:grid}.home-editor-layout>div{gap:24px;min-width:0;display:grid}.banner-list{gap:10px;display:grid}.banner-list-item{text-align:left;color:#20211f;cursor:pointer;background:#faf8f5;border:1px solid #e4ded6;border-radius:10px;gap:7px;padding:14px;display:grid}.banner-list-item span{color:#68645e;font-size:12px}.banner-list-item.selected{border-color:#ae4900;box-shadow:inset 3px 0 #ae4900}.banner-language{border:1px solid #e4ded6;border-radius:12px;gap:14px;min-width:0;padding:16px;display:grid}.banner-language legend{padding:0 6px;font-weight:700}.banner-color{align-items:center;gap:10px;display:flex}.banner-color input[type=color]{flex-shrink:0;width:48px;min-height:42px;padding:3px}.banner-help{color:#5f5c56;font-size:14px;line-height:1.6}.banner-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.banner-preview-wrap{min-width:0}.banner-preview-wrap>p{font-size:13px;font-weight:700}.banner-preview{isolation:isolate;background:#20211f 0 0/cover;border-radius:18px;align-items:center;min-height:192px;padding:18px;display:flex;position:relative;overflow:hidden}.banner-shade{z-index:-1;position:absolute;inset:0}.banner-copy{overflow-wrap:anywhere;flex-direction:column;align-items:start;gap:8px;width:64%;display:flex}.banner-copy strong{letter-spacing:-.6px;font-size:25px;line-height:1.12}.banner-copy>span:not(.banner-cta){font-size:13px;line-height:1.4}.banner-cta{color:#20211f;background:#fff;border-radius:9px;margin-top:4px;padding:12px;font-size:12px;font-weight:700;display:inline-block}.banner-preview[lang=ar] strong{letter-spacing:0;line-height:1.35}@media (max-width:1200px){.home-editor-layout{grid-template-columns:1fr}.banner-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.banner-list h2{grid-column:1/-1}}@media (max-width:760px){.banner-previews{grid-template-columns:1fr}}@font-face{font-family:HomeManrope;src:url(/fonts/Manrope-400.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:HomeManrope;src:url(/fonts/Manrope-800.ttf)format("truetype");font-weight:800;font-display:swap}@font-face{font-family:HomeArabic;src:url(/fonts/NotoSansArabic-400.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:HomeArabic;src:url(/fonts/NotoSansArabic-800.ttf)format("truetype");font-weight:800;font-display:swap}.banner-preview{font-family:HomeManrope,sans-serif}.banner-preview[lang=ar]{font-family:HomeArabic,sans-serif}.banner-copy strong{font-weight:800}.form-section{text-transform:uppercase;letter-spacing:.06em;color:#526174;margin:.6rem 0 0;font-size:.78rem}.field-hint{color:var(--cd-muted);margin:-.3rem 0 0;font-size:.82rem}.form-grid label.check-row{min-height:2.6rem;color:var(--cd-navy);flex-direction:row;align-self:end;align-items:center;gap:.55rem;font-size:.92rem}.check-row input{width:1.1rem;height:1.1rem;accent-color:var(--cd-orange,#f58220)}
