:root{--red:#c03634;--red-dark:#9a2a28;--grey:#9f9b9b;--grey-dark:#5c5959;--grey-line:#d8d5d5;--grey-soft:#eceaea;--white:#fff;--bg:#f6f5f5;--ink:#3a3838}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:IBM Plex Sans Arabic,Tahoma,sans-serif}.login-page{background:radial-gradient(900px 420px at 100% 0%, #c0363433, transparent 55%), linear-gradient(165deg, var(--red) 0%, var(--red-dark) 48%, #5c5959 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--white);border-radius:18px;width:min(440px,100%);padding:28px;box-shadow:0 24px 60px #00000038}.brand{color:var(--red);margin:0 0 6px;font-size:22px}.brand span{color:var(--grey-dark)}.sub{color:var(--grey-dark);margin:0 0 22px;font-size:14px}label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}input[type=email],input[type=password]{border:1px solid var(--grey-line);width:100%;font:inherit;background:var(--white);color:var(--ink);border-radius:10px;outline:none;margin-bottom:14px;padding:12px 14px}input:focus{border-color:var(--red);box-shadow:0 0 0 3px #c0363422}.row{color:var(--grey-dark);align-items:center;gap:8px;margin:4px 0 18px;font-size:13px;display:flex}.btn{width:100%;font:inherit;color:var(--white);background:var(--red);cursor:pointer;border:0;border-radius:10px;padding:12px 16px;font-weight:700}.btn:hover{background:var(--red-dark)}.btn:disabled{opacity:.7;cursor:wait}.errors{color:var(--red-dark);background:#f8eaea;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.hint{color:var(--grey);text-align:center;margin:16px 0 0;font-size:12px}code{background:var(--grey-soft);color:var(--grey-dark);border-radius:6px;padding:1px 6px}.top{background:var(--red);color:var(--white);justify-content:space-between;align-items:flex-end;gap:16px;padding:22px 28px;display:flex}.top .brand{color:var(--white)}.top .brand span{color:var(--white);opacity:.85}.top .sub{color:#f3d6d5;margin:6px 0 0}.stamp{color:#f3d6d5;font-size:13px}.top-actions{align-items:center;gap:14px;display:flex}.who{align-items:center;gap:10px;font-size:13px;display:flex}.who strong{display:block}.who small{color:#f3d6d5}.logout{color:var(--white);font:inherit;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:8px;padding:6px 12px}.logout:hover{background:#ffffff18}.wrap{max-width:1440px;margin:0 auto;padding:22px 24px 40px}.filters{background:var(--white);border:1px solid var(--grey-line);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;margin-bottom:16px;padding:14px;display:grid}.filter-field{color:var(--grey-dark);margin:0;font-size:12px}.filter-field select{border:1px solid var(--grey-line);width:100%;font:inherit;color:var(--ink);background:var(--white);border-radius:10px;margin-top:6px;padding:9px 10px;display:block}.filter-reset{border:1px solid var(--red);background:var(--white);color:var(--red);font:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;height:42px;padding:9px 14px;font-weight:700}.filter-reset:hover{background:#f8eaea}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.kpi,.panel{background:var(--white);border:1px solid var(--grey-line);border-radius:14px}.kpi{padding:16px 18px}.kpi .label{color:var(--grey-dark);margin-bottom:8px;font-size:13px}.kpi .value{color:var(--red);letter-spacing:-.02em;font-size:30px;font-weight:700}.grid{grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr}.panel{min-height:360px;padding:14px 14px 8px}.panel h2{margin:0 6px 8px;font-size:15px;font-weight:600}.panel .note{color:var(--grey-dark);margin:-4px 6px 6px;font-size:12px}.panel .note strong{color:var(--red)}.chart{height:300px}.err{color:var(--red-dark);background:#f8eaea;border-radius:10px;margin:16px 24px 0;padding:10px 14px}.loading .value{color:var(--grey)}@media (width<=1100px){.kpis,.grid,.grid-3,.filters{grid-template-columns:1fr 1fr}}@media (width<=700px){.kpis,.grid,.grid-3,.filters{grid-template-columns:1fr}.top{flex-direction:column;align-items:flex-start}}
