/* Hero art: laptop + live dashboard built in HTML, replaces approved-reference.png crop. */
.hero-stage{position:relative;width:100%;aspect-ratio:900/600;--s:1}
.hero-scale{position:absolute;top:0;left:0;width:900px;height:600px;transform:scale(var(--s));transform-origin:top left;direction:rtl}
.hero-scene{position:absolute;inset:0 60px 6px 0;border-radius:0 0 150px 0;border-top-right-radius:64px;overflow:hidden;background:radial-gradient(60% 55% at 52% 42%,#1f5a5d 0,#174a4e 45%,#113a3e 100%)}
.hero-scene:before{content:'';position:absolute;inset:0 auto 0 0;width:38%;background:repeating-linear-gradient(90deg,#ffffff06 0 14px,#00000010 14px 30px);mask:linear-gradient(90deg,#000,transparent)}
.hero-scene:after{content:'';position:absolute;left:0;right:0;bottom:0;height:24%;background:linear-gradient(180deg,#0e3236 0,#0b2a2d 100%);box-shadow:0 -1px 0 #ffffff10}
.laptop{position:absolute;left:96px;top:30px;width:690px;z-index:1;animation:hero-rise .9s cubic-bezier(.2,.7,.2,1) both}
.laptop-lid{position:relative;height:500px;padding:11px 11px 13px;border-radius:18px 18px 6px 6px;background:linear-gradient(180deg,#2b3134,#1a1f22);box-shadow:0 0 0 1.5px #8d9699,0 30px 60px -20px #00000080}
.laptop-lid:before{content:'';position:absolute;top:4px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#3d4548}
.laptop-base{position:relative;height:20px;margin:0 -44px;border-radius:2px 2px 14px 14px;background:linear-gradient(180deg,#e9ecec 0,#c3c9ca 55%,#9aa2a4 100%);box-shadow:0 18px 26px -10px #00000090}
.laptop-base:before{content:'';position:absolute;top:0;left:50%;width:110px;margin-left:-55px;height:7px;border-radius:0 0 9px 9px;background:linear-gradient(180deg,#aab1b3,#cfd4d5)}
.screen{height:100%;border-radius:6px;overflow:hidden;background:#f7f7f3;display:grid;grid-template-columns:128px 1fr;grid-template-rows:54px 1fr;font-size:10.5px;line-height:1.55;color:var(--ink)}
.scr-top{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:0 16px;background:#fff;border-bottom:1px solid #e7ebe5}
.scr-logo{display:flex;align-items:center;gap:7px;font-size:19px;font-weight:700;color:var(--ink);width:112px}
.scr-logo img{width:22px;height:26px}
.scr-demo{display:flex;align-items:center;gap:5px;padding:4px 12px;border-radius:7px;background:#fbe6dc;color:#a0502f;font-size:9.5px;font-weight:600}
.scr-demo svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2}
.scr-school{margin-inline-start:auto;display:flex;align-items:center;gap:8px;text-align:right}
.scr-school b{display:block;font-size:10.5px}
.scr-school small{display:block;font-size:8.5px;color:var(--muted)}
.scr-school i{width:30px;height:30px;border-radius:50%;background:#e9ece6;display:grid;place-items:center;border:1px solid #d6dcd4}
.scr-school i svg{width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:1.8}
.scr-side{grid-column:1;grid-row:2;background:var(--ink);padding:10px 7px;display:flex;flex-direction:column;gap:2px}
.scr-side span{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:6px;color:#d3e2dd;font-size:10px}
.scr-side span.on{background:#ffffff1c;color:#fff;font-weight:600}
.scr-side svg{width:13px;height:13px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.scr-main{grid-column:2;grid-row:2;padding:14px 16px;display:flex;flex-direction:column;gap:11px;min-width:0}
.scr-head{display:flex;justify-content:space-between;align-items:center}
.scr-head h5{margin:0;font-size:17px;font-weight:700;line-height:1.35}
.scr-head p{margin:0;font-size:9.5px;color:var(--muted)}
.scr-select{display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid #dfe4dc;border-radius:6px;background:#fff;font-size:9px;color:var(--muted)}
.scr-card{background:#fff;border:1px solid #e6eae3;border-radius:9px;padding:6px 12px}
.lvl{display:grid;grid-template-columns:18px 116px 1fr 34px;gap:10px;align-items:center;padding:6px 0;border-top:1px solid #f0f2ee}
.lvl:first-child{border-top:0}
.lvl svg{width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lvl b{font-weight:500}
.lvl .track{height:9px;border-radius:9px;background:#eef0ec;overflow:hidden}
.lvl .track i{display:block;height:100%;width:var(--v);border-radius:inherit;background:linear-gradient(90deg,#8fca7c,#a3d38f);animation:hero-bar 1.3s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.5s + var(--i) * .12s)}
.lvl .track i.warn{background:linear-gradient(90deg,#f0cf62,#f6dc84)}
.lvl em{font-style:normal;font-weight:700;text-align:left;font-variant-numeric:tabular-nums}
.ev-head{display:flex;justify-content:space-between;align-items:center;padding:4px 0 6px;font-size:11.5px;font-weight:700}
.ev-head span{font-size:9px;font-weight:500;color:var(--muted)}
.ev{display:grid;grid-template-columns:auto 1fr 18px 64px;gap:10px;align-items:center;padding:5px 0;border-top:1px solid #f0f2ee;font-size:9.5px}
.ev svg{width:12px;height:12px;stroke:#556a66;fill:none;stroke-width:1.8}
.ev time{color:var(--muted);font-size:8.5px;text-align:left;font-variant-numeric:tabular-nums}
.ev .st{font-size:8px;font-weight:600;padding:1px 7px;border-radius:4px;background:#e4f1dd;color:#4b7f3d}
.ev .st.rev{background:#fbecd3;color:#a2701d}
.hero-badge{position:absolute;left:38px;top:478px;z-index:2;display:flex;align-items:center;gap:14px;padding:18px 22px 18px 26px;border-radius:14px;background:var(--mint);color:var(--ink);font-size:19px;font-weight:700;box-shadow:0 18px 36px -12px #0b2a2d70;animation:hero-pop .7s cubic-bezier(.2,.9,.3,1.2) 1.3s both,hero-float 6s ease-in-out 2.2s infinite}
.hero-badge i{width:30px;height:30px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.hero-badge svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:3}
@keyframes hero-rise{from{opacity:0;transform:translateY(18px)}}
@keyframes hero-bar{from{width:0}}
@keyframes hero-pop{from{opacity:0;transform:translateY(14px) scale(.94)}}
@keyframes hero-float{50%{transform:translateY(-5px)}}
.scr-main>.scr-card:last-child{flex:1}
.ev{padding:6px 0}
/* "يومي" home screen: one tile and one agenda tag per pillar. */
.hm-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.hm-tile{position:relative;background:#fff;border:1px solid #e6eae3;border-radius:9px;padding:9px 11px 8px;overflow:hidden;animation:hero-rise .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.45s + var(--i) * .1s)}
.hm-tile:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--pc)}
.hm-ic{float:left;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:var(--pc);background:color-mix(in srgb,var(--pc) 12%,#fff)}
.hm-ic svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hm-tile small{display:block;font-size:8.5px;color:var(--muted);white-space:nowrap}
.hm-tile b{display:block;font-size:20px;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums}
.hm-tile em{font-style:normal;font-size:8px;font-weight:600;color:var(--pc)}
.hm-agenda{flex:1;padding:6px 12px 4px}
.hm-row{display:grid;grid-template-columns:34px 1fr auto 16px;gap:10px;align-items:center;padding:6px 0;border-top:1px solid #f0f2ee;font-size:10px;animation:hero-rise .6s ease both;animation-delay:calc(.8s + var(--i) * .09s)}
.hm-row time{color:var(--muted);font-size:9px;direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.hm-row p{margin:0;font-weight:600;line-height:1.4}
.hm-row p small{display:block;font-weight:400;font-size:8.5px;color:var(--muted)}
.hm-tag{font-size:8px;font-weight:600;padding:1px 8px;border-radius:20px;color:var(--pc);background:color-mix(in srgb,var(--pc) 12%,#fff)}
.hm-done{width:16px;height:16px;border-radius:50%;background:#3d8a57;display:grid;place-items:center}
.hm-done svg{width:9px;height:9px;stroke:#fff;fill:none;stroke-width:3.2}
.hm-todo{width:16px;height:16px;border-radius:50%;border:1.5px solid #cdd5cb}
