/* SchoolOnline — institution dashboard (2026-11 redesign).
   Concept: the day in the institution. The Hebrew date leads, then what needs
   handling, then what happened. Inherits each institution's colour via --tek/--tek-d. */

.dash{--dash-ink:var(--ink,#111C33);--dash-muted:var(--muted,#5F6B7C);--dash-line:var(--line,#E7ECF3);--dash-gold:#E9B44C;--dash-warn:#B26B00;--dash-bad:#B93A3A;max-width:1240px}

/* ---------- Day band ---------- */
.dash-day{position:relative;display:grid;grid-template-columns:1fr auto;gap:22px 32px;align-items:end;margin:0 0 26px;padding:30px 34px 0;border-radius:24px;color:#fff;
  background:linear-gradient(135deg,var(--tek-d,#0B5F58) 0%,color-mix(in srgb,var(--tek-d,#0B5F58) 78%,#000) 100%);overflow:hidden}
.dash-day::after{content:"";position:absolute;inset-inline-start:-80px;top:-120px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 60px rgba(255,255,255,.025);pointer-events:none}
.dash-day__date{position:relative;z-index:1;min-width:0}
.dash-day__hello{margin:0 0 6px;font-size:1.02rem;font-weight:500;color:rgba(255,255,255,.78)}
.dash-day__hebrew{margin:0;font-size:clamp(2.3rem,4.6vw,3.6rem);line-height:1.02;font-weight:800;letter-spacing:-.02em;color:#fff}
.dash-day__meta{margin:10px 0 0;font-size:.95rem;color:rgba(255,255,255,.66)}
.dash-day__actions{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:min(360px,100%)}
.dash-search{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:0 18px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:1rem;text-align:start;cursor:pointer;transition:background .15s,border-color .15s}
.dash-search:hover,.dash-search:focus-visible{background:rgba(255,255,255,.17);border-color:rgba(255,255,255,.45)}
.dash-search:focus-visible{outline:3px solid var(--dash-gold);outline-offset:2px}
.dash-search span{flex:1;color:rgba(255,255,255,.85)}
.dash-search svg{width:20px;height:20px;flex:none}
.dash-search kbd{direction:ltr;font:600 .74rem/1 var(--body);padding:5px 7px;border-radius:7px;background:rgba(0,0,0,.22);color:rgba(255,255,255,.75)}
.dash-day__link{align-self:flex-end;color:rgba(255,255,255,.82);font-weight:600;font-size:.92rem;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.35)}
.dash-day__link:hover{color:#fff;text-decoration-color:#fff}

.dash-figures{grid-column:1/-1;position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);margin:6px -34px 0;padding:0;border-top:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.14)}
.dash-figures div{display:flex;flex-direction:column-reverse;gap:2px;padding:16px 34px 18px;border-inline-start:1px solid rgba(255,255,255,.1)}
.dash-figures div:first-child{border-inline-start:0}
.dash-figures dt{font-size:.86rem;color:rgba(255,255,255,.7)}
.dash-figures dd{margin:0;font-size:1.7rem;font-weight:750;font-variant-numeric:tabular-nums;color:#fff;line-height:1.15}
.dash-figures .is-warn dd{color:var(--dash-gold)}

/* ---------- Layout ---------- */
.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.dash-main,.dash-side{display:flex;flex-direction:column;gap:24px;min-width:0}

.dash-panel{background:var(--surface,#fff);border:1px solid var(--dash-line);border-radius:20px;padding:22px 24px}
.dash-panel--side{padding:18px 20px}
.dash-panel__head{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.dash-panel__head h2{margin:0;font-size:1.14rem;font-weight:750;color:var(--dash-ink)}
.dash-count{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:var(--tek-l,#E6F7F5);color:var(--tek-d,#0B5F58);font-weight:750;font-size:.86rem}
.dash-more{margin-inline-start:auto;font-size:.9rem;font-weight:600;color:var(--tek-d,#0B5F58)}
.dash-more:hover{text-decoration:underline;text-underline-offset:3px}
.dash-quiet{margin:4px 0 2px;color:var(--dash-muted);font-size:.95rem}
.dash-quiet a{color:var(--tek-d,#0B5F58);font-weight:600}
.dash-clear{margin:0;padding:14px 16px;border-radius:14px;background:var(--ok-l,#EAF7F1);color:var(--ok,#277A55);font-weight:500}

/* ---------- Needs handling ---------- */
.dash-todo{list-style:none;margin:0;padding:0}
.dash-todo__item{display:flex;align-items:center;gap:18px;padding:16px 16px 16px 0;padding-inline-start:16px;border-top:1px solid var(--dash-line);border-inline-start:3px solid transparent}
.dash-todo__item:first-child{border-top:0}
.dash-todo__item>div{flex:1;min-width:0}
.dash-todo__item strong{display:block;font-size:1rem;color:var(--dash-ink)}
.dash-todo__item p{margin:3px 0 0;color:var(--dash-muted);font-size:.93rem;line-height:1.55}
.dash-todo__item .btn{flex:none;white-space:nowrap}
.dash-todo__item.is-urgent,.dash-todo__item.is-high,.dash-todo__item.is-danger{border-inline-start-color:var(--dash-bad)}
.dash-todo__item.is-warning,.dash-todo__item.is-warn,.dash-todo__item.is-medium{border-inline-start-color:var(--dash-warn)}
.dash-todo__item.is-success,.dash-todo__item.is-info,.dash-todo__item.is-neutral,.dash-todo__item.is-low,.dash-todo__item.dash-setup{border-inline-start-color:var(--tek,#0D9488)}
.dash-setup__bar{height:6px;margin:10px 0 8px;border-radius:99px;background:var(--dash-line);overflow:hidden;max-width:420px}
.dash-setup__bar span{display:block;height:100%;border-radius:inherit;background:var(--tek,#0D9488)}
.dash-setup__steps{display:flex;flex-wrap:wrap;gap:6px 8px}
.dash-setup__steps a{padding:4px 10px;border-radius:999px;background:var(--bg,#F4F7FB);color:var(--dash-ink);font-size:.86rem;font-weight:500}
.dash-setup__steps a:hover{background:var(--tek-l,#E6F7F5);color:var(--tek-d,#0B5F58)}

/* ---------- Recent records ---------- */
.dash-log{list-style:none;margin:0;padding:0}
.dash-log__day{margin:14px 0 4px;font-size:.82rem;font-weight:700;color:var(--dash-muted);font-variant-numeric:tabular-nums}
.dash-log__day:first-child{margin-top:0}
.dash-log__row{display:grid;grid-template-columns:4px minmax(140px,190px) minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 10px;margin:0 -10px;border-radius:12px;color:inherit}
.dash-log__row:hover,.dash-log__row:focus-visible{background:var(--bg,#F4F7FB)}
.dash-log__tone{width:4px;height:32px;border-radius:4px;background:var(--dash-line)}
.dash-log__tone--good,.dash-log__tone--positive{background:var(--ok,#277A55)}
.dash-log__tone--bad,.dash-log__tone--concern,.dash-log__tone--negative{background:var(--dash-bad)}
.dash-log__tone--attention,.dash-log__tone--warning{background:var(--dash-warn)}
.dash-log__who{display:flex;flex-direction:column;min-width:0}
.dash-log__who strong{font-weight:650;color:var(--dash-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-log__who small,.dash-log__by{font-size:.82rem;color:var(--dash-muted)}
.dash-log__what{color:#2E3A4F;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-log__by{white-space:nowrap}
.dash-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px;border-radius:14px;background:var(--bg,#F4F7FB)}
.dash-empty p{margin:0;color:var(--dash-muted)}

/* ---------- Side column ---------- */
.dash-observance{display:grid;gap:2px;padding:20px 22px;border-radius:20px;background:#FFF8E8;border:1px solid #F2DDA8;color:#5A4210}
.dash-observance__when{font-size:.86rem;font-weight:650;color:#8A6412}
.dash-observance strong{font-size:1.6rem;font-weight:800;line-height:1.2;color:#3D2C05}
.dash-observance span:last-child{font-size:.95rem}
.dash-observance:hover{border-color:var(--dash-gold)}
.dash-list{list-style:none;margin:0;padding:0}
.dash-list a{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--dash-line);color:var(--dash-ink)}
.dash-list li:first-child a{border-top:0}
.dash-list a:hover .dash-list__title{color:var(--tek-d,#0B5F58)}
.dash-list__title{flex:1;min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:550}
.dash-list__title small{flex-basis:100%;font-size:.82rem;font-weight:400;color:var(--dash-muted)}
.dash-list small{color:var(--dash-muted);font-size:.84rem;white-space:nowrap}
.dash-cal__date{display:grid;place-items:center;flex:none;width:46px;padding:5px 0;border-radius:12px;background:var(--bg,#F4F7FB);line-height:1.1}
.dash-cal__date b{font-size:1.1rem;color:var(--dash-ink)}
.dash-cal__date small{font-size:.74rem}
.dash-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
.dash-shortcuts a{padding:12px 14px;border-radius:12px;background:var(--bg,#F4F7FB);font-weight:600;color:var(--dash-ink);text-align:center}
.dash-shortcuts a:hover,.dash-shortcuts a:focus-visible{background:var(--tek-l,#E6F7F5);color:var(--tek-d,#0B5F58)}

.dash a:focus-visible,.dash .btn:focus-visible{outline:3px solid var(--tek,#0D9488);outline-offset:2px}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .dash-grid{grid-template-columns:1fr}
  .dash-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
}
@media (max-width:760px){
  .dash-day{grid-template-columns:1fr;padding:22px 18px 0;border-radius:20px;margin-bottom:18px}
  .dash-day__actions{min-width:0}
  .dash-day__link{align-self:flex-start}
  .dash-search kbd{display:none}
  .dash-figures{grid-template-columns:repeat(2,1fr);margin:4px -18px 0}
  .dash-figures div{padding:12px 18px 14px}
  .dash-figures div:nth-child(3){border-inline-start:0}
  .dash-figures div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
  .dash-panel{padding:18px 16px;border-radius:18px}
  .dash-todo__item{flex-direction:column;align-items:stretch;gap:10px}
  .dash-todo__item .btn{align-self:flex-start}
  .dash-log__row{grid-template-columns:4px minmax(0,1fr);gap:4px 12px}
  .dash-log__tone{grid-row:span 2;height:100%}
  .dash-log__what{grid-column:2;white-space:normal}
  .dash-log__by{display:none}
  .dash-side{display:flex}
}
@media (prefers-reduced-motion:reduce){.dash *{transition:none!important}}
@media print{.dash-day{background:none;color:#000;border:1px solid #ccc}.dash-day *{color:#000!important}.dash-search,.dash-shortcuts{display:none}}

/* ---------- App shell fixes (all pages) ---------- */
/* Long institution names pushed the sidebar title outside the sidebar ("lOnline — מוסד…"). */
.side__brand>div{min-width:0;flex:1 1 auto}
.side__name,.side__sub{display:block;max-width:100%}
/* On phones the sidebar becomes the bottom bar; its section headings ("ראשי", "ניהול")
   were showing up there as if they were buttons. */
@media (max-width:820px){.side__nav .nav-section-label{display:none!important}}
