/* Daily Time Table — Parent and Teacher apps. Uses each app's theme variables. */
.csh-dt{ --dt-card:var(--panel, var(--card, #121B30)); --dt-acc:var(--brass, #4C8DFF); --dt-ok:var(--ok, #3FB68B); --dt-warn:var(--warn, #E8B84B);
  font-family:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; color:var(--text); }
.csh-dt *{ box-sizing:border-box; font-family:inherit; }
.csh-dt-info{ background:var(--dt-card); border:1px solid var(--line); border-radius:12px; padding:12px 14px; font-size:13px; color:var(--slate); line-height:1.55; margin-bottom:12px; }
.csh-dt-info b{ color:var(--text); font-size:14px; }
.csh-dt-info .warn{ color:var(--dt-warn); font-weight:700; margin-top:4px; }
.csh-dt-switch{ display:flex; background:var(--dt-card); border:1px solid var(--line); border-radius:10px; padding:3px; margin-bottom:12px; }
.csh-dt-switch button{ flex:1; border:none; background:transparent; color:var(--slate); font-weight:700; font-size:13px; padding:9px; border-radius:8px; cursor:pointer; }
.csh-dt-switch button.on{ background:var(--dt-acc); color:#fff; }
.csh-dt-days{ display:flex; gap:7px; overflow-x:auto; padding-bottom:4px; margin-bottom:12px; scrollbar-width:none; }
.csh-dt-days::-webkit-scrollbar{ display:none; }
.csh-dt-day{ flex:1 0 54px; min-width:54px; border:1px solid var(--line); background:var(--dt-card); color:var(--text); border-radius:12px; padding:8px 4px; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:2px; position:relative; }
.csh-dt-day span{ font-weight:800; font-size:14px; }
.csh-dt-day small{ font-size:10px; color:var(--slate); font-weight:600; }
.csh-dt-day.today::after{ content:""; position:absolute; top:5px; right:6px; width:6px; height:6px; border-radius:50%; background:var(--dt-ok); }
.csh-dt-day.on{ background:var(--dt-acc); border-color:var(--dt-acc); color:#fff; }
.csh-dt-day.on small{ color:rgba(255,255,255,.85); }
.csh-dt-dayhead{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; flex-wrap:wrap; margin:4px 2px 10px; }
.csh-dt-dayhead b{ font-size:16px; }
.csh-dt-dayhead span{ font-size:12px; color:var(--slate); font-weight:600; }
.csh-dt-note{ font-size:12.5px; color:var(--slate); background:var(--dt-card); border:1px dashed var(--line); border-radius:10px; padding:9px 12px; margin-bottom:10px; }
.csh-dt-list{ display:flex; flex-direction:column; gap:8px; }
.csh-dt-item{ display:flex; gap:12px; background:var(--dt-card); border:1px solid var(--line); border-radius:12px; padding:11px 12px; box-shadow:inset 4px 0 0 hsl(var(--h), 65%, 55%); }
.csh-dt-item .tm{ width:74px; flex:0 0 74px; white-space:nowrap; display:flex; flex-direction:column; gap:2px; padding-left:4px; }
.csh-dt-item .tm b{ font-size:13px; }
.csh-dt-item .tm span{ font-size:11px; color:var(--slate); font-weight:600; }
.csh-dt-item .bd{ flex:1; min-width:0; }
.csh-dt-item .top{ display:flex; align-items:center; gap:6px; }
.csh-dt-item .lb{ font-size:10.5px; text-transform:uppercase; letter-spacing:.07em; color:var(--slate); font-weight:700; }
.csh-dt-item .tag{ font-size:10px; font-weight:800; padding:2px 8px; border-radius:100px; letter-spacing:.05em; }
.csh-dt-item .tag.now{ background:var(--dt-ok); color:#fff; }
.csh-dt-item .tag.nx{ background:var(--dt-acc); color:#fff; }
.csh-dt-item .tag[hidden]{ display:none; }
.csh-dt-item .sb{ font-size:16px; font-weight:800; margin-top:2px; }
.csh-dt-item .ln{ font-size:12.5px; color:var(--slate); font-weight:600; margin-top:2px; }
.csh-dt-item .ln .c{ font-weight:500; }
.csh-dt-item .pg{ height:5px; background:var(--line); border-radius:9px; overflow:hidden; margin-top:8px; }
.csh-dt-item .pg i{ display:block; height:100%; background:var(--dt-ok); }
.csh-dt-item.now{ border-color:var(--dt-ok); background:linear-gradient(0deg, rgba(63,182,139,.1), rgba(63,182,139,.1)), var(--dt-card); }
.csh-dt-item.next{ border-color:var(--dt-acc); }
.csh-dt-item.past{ opacity:.55; }
.csh-dt-item.free .sb{ color:var(--slate); font-weight:700; }
.csh-dt-brk{ display:flex; justify-content:space-between; gap:8px; font-size:12px; font-weight:700; color:var(--dt-warn); border:1px dashed var(--line); border-radius:10px; padding:8px 12px; }
.csh-dt-brk.past{ opacity:.55; }
.csh-dt-brk.now{ border-color:var(--dt-warn); background:rgba(232,184,75,.08); }
.csh-dt-week{ display:flex; flex-direction:column; gap:10px; }
.csh-dt-wday{ background:var(--dt-card); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.csh-dt-wday.today{ border-color:var(--dt-acc); }
.csh-dt-wday .h{ font-weight:800; font-size:14px; padding:9px 12px; border-bottom:1px solid var(--line); }
.csh-dt-wday .h em{ font-style:normal; font-size:10.5px; background:var(--dt-acc); color:#fff; border-radius:100px; padding:2px 8px; margin-left:6px; }
.csh-dt-wday .r{ display:grid; grid-template-columns:70px 1fr auto; gap:8px; align-items:center; padding:7px 12px; border-bottom:1px solid var(--line); font-size:12.5px; box-shadow:inset 3px 0 0 hsl(var(--h, 212), 65%, 55%); }
.csh-dt-wday .r:last-child{ border-bottom:none; }
.csh-dt-wday .r .t{ color:var(--slate); font-weight:700; font-size:11.5px; }
.csh-dt-wday .r .s{ font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csh-dt-wday .r .w{ color:var(--slate); font-size:11.5px; font-weight:600; text-align:right; max-width:130px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csh-dt-wday .r.none{ display:block; color:var(--slate); box-shadow:none; }
.csh-dt-empty{ text-align:center; padding:36px 18px; background:var(--dt-card); border:1px dashed var(--line); border-radius:14px; display:flex; flex-direction:column; gap:6px; align-items:center; }
.csh-dt-empty .ic{ font-size:34px; }
.csh-dt-empty b{ font-size:15px; }
.csh-dt-empty span{ font-size:13px; color:var(--slate); line-height:1.5; }
.csh-dt-empty.sm{ padding:22px 14px; }
