:root{--bg:#f4f7fb;--surface:#fff;--panel:#fff;--border:#d8e1ec;--text:#151b26;--muted:#667085;--gold:#b47a25;--gold-soft:#8d5d18;--accent:#087f75;--green:#238c69;--red:#d64f48;--shadow:0 12px 32px #17243a12}body.dark{--bg:#070b14;--surface:#0b1220;--panel:#101a2b;--border:#263653;--text:#f7f9fc;--muted:#8d9ab0;--gold:#e0b765;--gold-soft:#f3d79d;--accent:#4fd8c7;--green:#54d6a6;--red:#ff6d68;--shadow:0 18px 45px #00000035}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px Inter,system-ui,-apple-system,Segoe UI,sans-serif;transition:.3s}a{color:var(--gold);text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:245px;background:var(--surface);border-right:1px solid var(--border);padding:25px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 30px}.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--gold),#e8c97f);color:#15120b;display:grid;place-items:center;font-size:22px;font-weight:800}.brand b{display:block;letter-spacing:2px;font-size:14px}.brand span{display:block;color:var(--muted);font-size:9px;letter-spacing:1.4px;margin-top:3px}nav{display:grid;gap:6px}nav a,.side-bottom button{border:0;background:transparent;color:var(--muted);padding:13px 14px;border-radius:12px;text-align:left;font:inherit;display:flex;gap:13px;align-items:center;cursor:pointer}nav a{font-size:14px}nav a:first-letter{font-size:18px}nav a.active{background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold);font-weight:700}.side-bottom{margin-top:auto;display:grid;gap:14px}.user-mini{border-top:1px solid var(--border);padding:16px 5px 0;display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border:0;border-radius:50%;background:var(--gold);color:#15120b;font-weight:800;display:grid;place-items:center}.user-mini b,.user-mini small{display:block}.user-mini small{color:var(--muted);font-size:11px;margin-top:3px}main{margin-left:245px;width:calc(100% - 245px);padding:28px clamp(20px,4vw,55px);max-width:1500px}header{display:flex;align-items:center;gap:18px;margin-bottom:24px}header h1{margin:0;font-size:27px;letter-spacing:-.5px}header p,.hero p,.panel-head p{margin:5px 0 0;color:var(--muted)}.actions{margin-left:auto;display:flex;align-items:center;gap:14px}.icon,.menu{border:0;background:transparent;color:var(--text);font-size:21px;cursor:pointer}.icon{position:relative}.icon i{position:absolute;width:7px;height:7px;background:var(--red);border-radius:50%;right:0;top:2px}.menu{display:none}.hero{background:linear-gradient(115deg,color-mix(in srgb,var(--gold) 13%,var(--panel)),var(--panel));border:1px solid var(--border);border-radius:20px;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;box-shadow:var(--shadow)}.eyebrow{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:2px}.hero h2{margin:8px 0 0;font-size:23px}.gold-btn{background:var(--gold);color:#15120b;border:0;border-radius:11px;padding:12px 17px;font-weight:800;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.stat,.panel{background:var(--panel);border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow)}.stat{padding:19px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.stat-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold);font-size:18px}.stat h3{font-size:28px;margin:14px 0 3px}.stat small{color:var(--muted)}.stat small strong{color:var(--green)}.grid2{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:21px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel h3{margin:0;font-size:16px}.pill{padding:5px 9px;border-radius:20px;font-size:10px;font-weight:800}.pill.green{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}.chart{height:250px}.chart svg{width:100%;height:220px;overflow:visible}.line{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.area{fill:color-mix(in srgb,var(--gold) 11%,transparent)}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.status-list{display:grid;gap:16px}.status-list div{display:flex;justify-content:space-between;align-items:center}.status-list span{display:flex;gap:9px;align-items:center}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.green{background:var(--green)}.dot.gold{background:var(--gold)}.dot.red{background:var(--red)}.uptime{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.uptime span{color:var(--muted)}.uptime b{float:right;color:var(--green)}.uptime>div{height:7px;background:var(--border);border-radius:8px;margin-top:12px;overflow:hidden}.uptime i{display:block;height:100%;background:var(--green);border-radius:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--border)}th{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}td{font-size:13px}.badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:800}.badge.red{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}.badge.green{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}.badge.gold{background:color-mix(in srgb,var(--gold) 15%,transparent);color:var(--gold)}
@media(max-width:1050px){.sidebar{width:82px}.brand div:not(.brand-mark),nav a span,.side-bottom button span,.user-mini div:not(.avatar){display:none}.brand{padding:0 5px 30px;justify-content:center}.brand-mark{width:44px;height:44px}nav a{justify-content:center;font-size:20px}.user-mini{justify-content:center}main{margin-left:82px;width:calc(100% - 82px)}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{display:none}.menu{display:block}main{margin:0;width:100%;padding:18px 14px}.hero{padding:20px;display:block}.hero .gold-btn{margin-top:18px;width:100%}.stats,.grid2{grid-template-columns:1fr}.stat h3{font-size:25px}header h1{font-size:23px}.panel{padding:16px}}
.header-btn{margin-left:auto;white-space:nowrap}.person{display:flex;align-items:center;gap:11px}.person .avatar{width:36px;height:36px;flex:0 0 36px}.person small,td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.small-btn{border:1px solid var(--border);background:color-mix(in srgb,var(--gold) 10%,var(--panel));color:var(--gold);padding:8px 11px;border-radius:9px;font-weight:800;cursor:pointer}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;opacity:0;transition:.18s}.modal.show{opacity:1}.modal-backdrop{position:absolute;inset:0;background:#05081099;backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(560px,calc(100% - 28px));max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 25px 80px #0006;transform:translateY(12px);transition:.2s}.modal.show .modal-card{transform:none}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{margin:0;font-size:20px}.modal-head p{margin:5px 0;color:var(--muted)}.modal-head button{border:0;background:transparent;color:var(--muted);font-size:27px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:18px}label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}input,select{width:100%;padding:12px 13px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;outline:none;font:inherit}input:focus,select:focus{border-color:var(--gold)}.assign-box{display:grid;gap:15px}.assign-request{padding:14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--gold) 7%,var(--panel))}.assign-request b,.assign-request span{display:block}.assign-request span{color:var(--muted);font-size:12px;margin-top:5px}.hint{margin:0;color:var(--muted);font-size:12px}.empty-inline{padding:16px;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}
@media(max-width:700px){.header-btn{padding:10px 12px}.form-grid{grid-template-columns:1fr}.modal-card{padding:18px}table{min-width:850px}}

.step-title{font-size:12px;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:1.2px;margin:4px 0 12px;padding-top:4px;border-top:1px solid var(--border)}

/* Admin full-control additions */
.detail-stack{display:grid;gap:8px;min-width:420px}.elevator-detail{border:1px solid var(--border);background:color-mix(in srgb,var(--gold) 5%,var(--panel));border-radius:12px;padding:10px 12px}.elevator-detail strong{display:block;margin-bottom:5px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:6px 14px;color:var(--muted);font-size:11px}.detail-grid b{color:var(--text);font-size:12px}.danger-btn{border-color:color-mix(in srgb,var(--red) 40%,var(--border));color:var(--red)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.toolbar input,.toolbar select{max-width:220px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.mini-stat{padding:15px;border:1px solid var(--border);background:var(--panel);border-radius:14px}.mini-stat span{color:var(--muted);font-size:11px}.mini-stat b{display:block;font-size:23px;margin-top:7px}.bar-chart{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:120px 1fr 45px;gap:10px;align-items:center;font-size:12px}.bar-track{height:9px;background:var(--border);border-radius:10px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--accent));border-radius:10px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--green) 0 72%,var(--gold) 72% 91%,var(--red) 91% 100%);display:grid;place-items:center}.donut:after{content:'';width:92px;height:92px;border-radius:50%;background:var(--panel)}.legend{display:grid;gap:8px}.legend span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.legend i{width:9px;height:9px;border-radius:50%;background:var(--green)}.legend i.gold{background:var(--gold)}.legend i.red{background:var(--red)}.report-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.mobile-open{display:flex!important;z-index:200}@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.report-layout{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.mobile-open{width:245px!important}.metric-grid{grid-template-columns:1fr 1fr}.bar-row{grid-template-columns:85px 1fr 35px}.detail-stack{min-width:360px}}

.requests-detail{min-width:1150px}.assign-request span{line-height:1.5}.assign-request span b{color:var(--text)}

.application-detail{display:grid;gap:18px}.application-profile{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--gold) 6%,var(--panel))}.application-profile h3{margin:0;font-size:18px}.application-profile p{margin:4px 0 0;color:var(--muted)}.application-profile .badge{margin-left:auto}.large-avatar{width:52px;height:52px;font-size:16px}.application-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.application-grid span{padding:10px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:11px}.application-grid b{display:block;color:var(--text);font-size:12px;margin-top:4px}.application-section{display:grid;gap:7px;padding:13px;border:1px solid var(--border);border-radius:12px}.application-section span{color:var(--muted);font-size:11px}.application-section b{font-size:13px;line-height:1.5}.application-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:4px}.accept-btn{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,var(--border))}textarea{width:100%;resize:vertical;padding:12px 13px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;outline:none;font:inherit}textarea:focus{border-color:var(--gold)}@media(max-width:700px){.application-grid{grid-template-columns:1fr}.application-profile{align-items:flex-start;flex-wrap:wrap}.application-profile .badge{margin-left:0}.application-actions .gold-btn,.application-actions .small-btn{width:100%}}

/* RTL (Arabic) */
[dir=rtl] .sidebar{inset:0 0 0 auto;border-right:0;border-left:1px solid var(--border)}
[dir=rtl] main{margin-left:0;margin-right:245px}
[dir=rtl] nav a,[dir=rtl] .side-bottom button,[dir=rtl] th,[dir=rtl] td{text-align:right}
[dir=rtl] .actions,[dir=rtl] .header-btn{margin-left:0;margin-right:auto}
[dir=rtl] .uptime b{float:left}
@media(max-width:1050px){[dir=rtl] main{margin-right:82px;margin-left:0}}
@media(max-width:700px){[dir=rtl] main{margin:0}}

#logoutBtn{color:var(--red)}
.logout-top{margin-inline-start:auto;border:1px solid var(--border);background:var(--panel);color:var(--red);border-radius:11px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
header .header-btn+.logout-top,header .actions+.logout-top{margin-inline-start:0}
[dir=rtl] .header-btn{margin-right:auto}

/* Scrollable sidebar: everything scrolls together, Sign out stays the last item */
.sidebar{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar>*{flex-shrink:0}
.side-bottom{padding-top:18px}
#logoutBtn{margin-top:2px;border:1px solid color-mix(in srgb,var(--red) 35%,transparent);justify-content:center;font-weight:700}
#logoutBtn:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}
