@import url("https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800&display=swap");:root{--ink:#10192b;--ink-2:#4a5568;--line:#d9dee8;--bg:#eef1f6;--surface:#fff;--teal:#0f7c7a;--teal-soft:#d8efee;--amber:#e07a1f;--amber-soft:#fbe9d7;--red:#c0392b;--radius:10px}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font-family:Tajawal,system-ui,sans-serif;font-size:17px;line-height:1.55}a{color:inherit}h1{font-size:2.4rem;font-weight:800;letter-spacing:-.01em;line-height:1.15;margin:0 0 .5rem}h2{font-size:1.35rem;font-weight:700;margin:0 0 .75rem}p{margin:0 0 1rem;max-width:62ch}.shell{display:grid;grid-template-columns:1fr 320px;grid-gap:32px;gap:32px;max-width:1180px;margin:0 auto;padding:40px 24px}@media (max-width:900px){.shell{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:18px}.field label{font-weight:700}.field small{color:var(--ink-2)}input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;width:100%}button:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid var(--teal-soft);border-color:var(--teal)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer;background:#fff;font:inherit}.chip[aria-pressed=true]{border-color:var(--teal)}.btn,.chip[aria-pressed=true]{background:var(--teal);color:#fff}.btn{font:inherit;font-weight:700;padding:12px 22px;border-radius:8px;border:0;cursor:pointer}.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.steps{display:flex;gap:8px;margin-bottom:20px}.steps span{flex:1 1;height:4px;background:var(--line);border-radius:2px}.steps span.done{background:var(--teal)}.roster{display:grid;grid-gap:2px;gap:2px}.member{display:grid;grid-template-columns:14px 1fr;grid-gap:12px;gap:12px;align-items:start;padding:10px 8px;border-radius:8px}.member.active{background:var(--teal-soft)}.member .dot{width:10px;height:10px;border-radius:50%;background:var(--line);margin-top:8px}.member.active .dot{background:var(--teal);animation:pulse 1.6s ease-in-out infinite}.member.done .dot{background:var(--teal);opacity:.5}.member strong{display:block}.member small{color:var(--ink-2)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){.member.active .dot{animation:none}}.stat{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.notice{background:var(--amber-soft);-webkit-border-start:4px solid var(--amber);border-inline-start:4px solid var(--amber);padding:12px 16px;border-radius:6px;margin:12px 0}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:var(--ink);color:#fff;padding:22px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.side .brand{display:block;margin-bottom:26px;text-decoration:none}.side .brand img{width:100%;max-width:205px;height:auto;display:block}.side nav a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;color:#cbd2e0;margin-bottom:2px}.side nav a.active,.side nav a:hover{background:hsla(0,0%,100%,.1);color:#fff}.side .sec{color:#8a93a6;font-size:.85rem;margin:18px 12px 6px}.main{padding:32px 36px;max-width:1200px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.kpi .v{font-size:2rem;font-weight:800;line-height:1.1}.kpi .l{color:var(--ink-2)}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}td,th{text-align:right;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--ink-2);font-weight:700;font-size:.9rem}tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.85rem;background:var(--bg);border:1px solid var(--line)}.badge.ok{background:var(--teal-soft);color:var(--teal)}.badge.ok,.badge.warn{border-color:transparent}.badge.warn{background:var(--amber-soft);color:#8a4b0f}.badge.bad{background:#fde2e0;border-color:transparent;color:var(--red)}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal .day{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:110px;padding:6px;font-size:.85rem}.cal .day b{display:block;color:var(--ink-2);margin-bottom:4px}.cal .slot{border-radius:6px;padding:3px 6px;margin-bottom:3px;background:var(--teal-soft);cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cal .slot.published{background:#dfe7f5}.cal .slot.review{background:var(--amber-soft)}.cal .slot.failed{background:#fde2e0}.preview{display:grid;grid-template-columns:320px 1fr;grid-gap:20px;gap:20px}.preview img,.preview video{width:100%;border-radius:8px;border:1px solid var(--line)}.msg{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--surface)}.msg .meta{color:var(--ink-2);font-size:.85rem;margin-bottom:4px}.msg .reply{margin-top:8px;padding:8px 12px;border-radius:8px;background:var(--teal-soft)}.auth{max-width:420px;margin:8vh auto}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px;gap:16px}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.plan .price{font-size:1.8rem;font-weight:800}.plan.current{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}@media (max-width:900px){.app{grid-template-columns:1fr}.side{position:static;height:auto}.main{padding:20px}.preview{grid-template-columns:1fr}.cal{grid-template-columns:repeat(2,1fr)}}.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:0 16px;gap:0 16px}.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px}.modal{position:fixed;inset:0;background:rgba(16,25,43,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal .card{width:100%}