:root{--yellow:#ffd84a;--cyan:#00b1ee;--green:#27b67c;--red:#ef413a;--gray:#efeeed;--ink:#3f3e3d;--ink-soft:#5c5b5a;--surface:#fff;--line:#3f3e3d1f;--ok:#167a52;--ok-bg:#27b67c24;--warn:#7a5a00;--warn-bg:#ffd84a47;--danger:#b4231c;--danger-bg:#ef413a1a;--info:#0679a0;--info-bg:#00b1ee1f;--sans:"IBM Plex Sans Arabic", Tahoma, sans-serif;--side:240px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--sans);color:var(--ink);background:radial-gradient(900px 420px at 100% -8%, #ffd84a38, transparent 55%), radial-gradient(700px 380px at 0% 30%, #00b1ee1a, transparent 50%), var(--gray);margin:0;line-height:1.6}a{color:var(--info);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--ink-soft)}.boot{text-align:center;padding:48px}.shell{grid-template-columns:var(--side) 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#2a2928 0%,#3f3e3d 70%,#0679a0 160%);flex-direction:column;gap:16px;padding:20px 14px;display:flex}.brand{align-items:center;gap:10px;padding:4px 8px 12px;display:flex}.brand-mark{background:var(--yellow);width:40px;height:40px;color:var(--ink);border-radius:12px;place-items:center;font-size:1.2rem;font-weight:700;display:grid}.brand-title{font-weight:700}.brand-sub{opacity:.8;font-size:.82rem}.side-nav{flex-direction:column;flex:1;gap:4px;display:flex}.side-link{color:#ffffffd1;border-radius:10px;padding:10px 12px;font-weight:600;text-decoration:none}.side-link:hover,.side-link.on{color:#fff;background:#ffffff1f;text-decoration:none}.logout{width:100%;margin-top:auto}.main{min-width:0;padding:24px 22px 48px}.page-head{margin-bottom:16px}.page-head h1{margin:0 0 4px;font-size:1.45rem}.page-head.row{justify-content:space-between;gap:12px;display:flex}.back{margin-bottom:6px;font-size:.9rem;display:inline-block}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-bottom:14px;padding:16px 18px;box-shadow:0 10px 24px #3f3e3d0d}.panel h2{margin:0 0 12px;font-size:1.05rem}.panel-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.panel-head h2{margin:0}.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.kpi .n{font-size:1.6rem;font-weight:700}.kpi .l{color:var(--ink-soft);font-size:.88rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:right;border-bottom:1px solid var(--line);padding:10px 8px;font-size:.92rem}th{color:var(--ink-soft);font-weight:600}.btn{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:8px 14px;font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--cyan);color:#fff;border-color:#0000}.btn.danger{background:var(--danger);color:#fff;border-color:#0000}.btn.ghost{color:inherit;background:0 0;border-color:#ffffff40}.alert{border-radius:12px;margin:8px 0 12px;padding:10px 12px;font-size:.92rem}.alert.danger{background:var(--danger-bg);color:var(--danger)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.alert.ok{background:var(--ok-bg);color:var(--ok)}.status-pill{background:var(--info-bg);color:var(--info);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;display:inline-block}.status-new{background:var(--warn-bg);color:var(--warn)}.status-accepted{background:var(--info-bg);color:var(--info)}.status-assigned,.status-en_route,.status-in_progress{background:var(--ok-bg);color:var(--ok)}.status-rejected,.status-cancelled{background:var(--danger-bg);color:var(--danger)}.status-completed{color:var(--ink);background:#3f3e3d14}.filters,.inline-form,.form-grid,.pager{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid label,.login-card label{flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;display:flex}input,select,textarea{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:9px 11px}.filters input,.inline-form input,.inline-form select{flex:1;min-width:180px}.tabs{gap:8px;margin-bottom:12px;display:flex}.tabs button{border:1px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:6px 14px;font-weight:600}.tabs button.on{background:var(--ink);color:#fff;border-color:#0000}.grid-2{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.meta{gap:8px;margin:0 0 12px;display:grid}.meta>div{grid-template-columns:110px 1fr;gap:8px;display:grid}.meta dt{color:var(--ink-soft);margin:0}.meta dd{margin:0;font-weight:600}.details-text{white-space:pre-wrap;background:#3f3e3d0a;border-radius:12px;padding:12px}.map-box{border:1px dashed var(--line);background:#00b1ee0d;border-radius:14px;padding:16px}.images{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.images img{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:88px;height:88px}.actions{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.audit-list{margin:0;padding:0;list-style:none}.audit-list li{border-bottom:1px solid var(--line);padding:12px 0}.audit-title{justify-content:space-between;gap:10px;display:flex}.meta-json{background:#3f3e3d0d;border-radius:10px;padding:8px 10px;font-size:.8rem;overflow:auto}.check-list{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.check-list label{align-items:center;gap:8px;font-weight:600;display:flex}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:12px;width:min(420px,100%);padding:28px 24px;display:flex;box-shadow:0 18px 40px #3f3e3d1f}.login-brand{background:var(--yellow);width:fit-content;color:var(--ink);border-radius:999px;padding:4px 12px;font-weight:800}.login-card h1{margin:0;font-size:1.35rem}.profile-card .logo{object-fit:contain;border-radius:12px;width:72px;height:72px;margin-bottom:12px}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{z-index:10;position:sticky;top:0}.side-nav{flex-flow:wrap}.kpi-row,.grid-2,.form-grid{grid-template-columns:1fr}}
