/* Staff Manager v1.13.6: Teacher Portal personal attendance (scoped to avoid Core CSS conflicts). */
.lbfs-personal-attendance-v2,
.lbfs-personal-attendance-v2 *{box-sizing:border-box}
.lbfs-personal-attendance-v2{--my-navy:#142949;--my-muted:#687991;--my-line:#e3eaf5;--my-brand:#6640e8;--my-light:#f7f9ff;--my-present:#0a906b;--my-absent:#d94e5a;--my-leave:#8055c9;--my-half:#3276ca;--my-late:#d28a1e;color:var(--my-navy);background:#fff;border:1px solid #dce5f5;border-radius:24px;box-shadow:0 12px 36px rgba(18,39,76,.055);padding:22px;margin:18px 0 24px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:100%;min-width:0;line-height:1.45;overflow:hidden}
.lbfs-personal-attendance-v2 :is(h2,h3,p){margin:0;padding:0;color:inherit}
.lbfs-myatt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.lbfs-myatt-heading-row{display:flex;align-items:center;gap:12px;min-width:0}
.lbfs-myatt-head-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:var(--my-brand);background:#f0ecff;flex:none}
.lbfs-myatt-head-icon svg{width:25px;height:25px;display:block}
.lbfs-myatt-eyebrow,.lbfs-myatt-mini-label{display:block;color:#6f57d2;font-size:10px;font-weight:850;letter-spacing:.12em;line-height:1.35}
.lbfs-personal-attendance-v2 .lbfs-myatt-head h2{font-size:24px;font-weight:850;letter-spacing:-.035em;line-height:1.15;margin:3px 0 0}
.lbfs-myatt-readonly{border:1px solid #dce5ef;background:#f4f7fb;color:#566b84;padding:6px 10px;border-radius:30px;font-size:11px;font-weight:750;white-space:nowrap}
.lbfs-myatt-month-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--my-line);border-radius:15px;padding:7px 10px;background:#fbfcff;text-align:center;margin:0 0 14px}
.lbfs-myatt-month-nav>div{min-width:0;flex:1}
.lbfs-myatt-month-nav small{display:block;letter-spacing:.12em;color:#7c89a1;font-size:9px;font-weight:800}
.lbfs-myatt-month-nav strong{display:block;color:var(--my-navy);font-size:17px;font-weight:830;line-height:1.25;margin-top:3px}
.lbfs-personal-attendance-v2 .lbfs-myatt-month-arrow{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #e2e8f5;background:#fff;color:#4b46ac!important;border-radius:10px;text-decoration:none!important;font-size:29px;font-weight:500;line-height:1;transition:background .18s}
.lbfs-myatt-month-arrow:hover{background:#f0ecff!important}
.lbfs-myatt-month-arrow.is-disabled{opacity:.3;cursor:not-allowed}
.lbfs-myatt-overview{display:flex;align-items:center;gap:23px;background:linear-gradient(115deg,#172f59,#263b72);color:#fff;border-radius:19px;padding:19px 23px;margin-bottom:14px;min-width:0}
.lbfs-myatt-ring{--lbfs-myatt-fill:0%;height:115px;width:115px;flex:none;border-radius:50%;padding:9px;background:conic-gradient(#a4e9d0 var(--lbfs-myatt-fill),rgba(255,255,255,.16) 0);display:grid;place-items:center}
.lbfs-myatt-ring>div{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#233966;border-radius:50%;text-align:center;color:#fff}
.lbfs-myatt-ring strong{font-size:30px;line-height:1.05;font-weight:900;letter-spacing:-.04em;color:#fff}
.lbfs-myatt-ring span{font-size:10px;color:#d4dcf3;font-weight:650;margin-top:3px}
.lbfs-myatt-overview-copy{min-width:0;flex:1}
.lbfs-myatt-overview-copy .lbfs-myatt-mini-label{color:#b9befb;margin-bottom:5px}
.lbfs-myatt-overview-copy>strong{display:block;color:#fff;font-size:21px;line-height:1.2;font-weight:850;letter-spacing:-.025em}
.lbfs-personal-attendance-v2 .lbfs-myatt-overview-copy p{font-size:12px;color:#d5dcf3;max-width:36ch;margin:7px 0 0;line-height:1.55}
.lbfs-myatt-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 24px}
.lbfs-myatt-stat{border:1px solid #e9eef7;border-radius:13px;padding:11px 10px;display:grid;grid-template-columns:9px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:7px;row-gap:5px;background:#fbfcff;min-width:0}
.lbfs-myatt-stat-dot{height:8px;width:8px;border-radius:50%;background:#8795ac}
.lbfs-myatt-stat-label{font-size:10px;color:#66768e;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbfs-myatt-stat strong{grid-column:1/-1;font-size:25px;font-weight:860;color:var(--my-navy);line-height:1.1;margin-left:1px}
.lbfs-myatt-stat-present{background:#f4fcf9}.lbfs-myatt-stat-present .lbfs-myatt-stat-dot{background:var(--my-present)}
.lbfs-myatt-stat-absent{background:#fff8f8}.lbfs-myatt-stat-absent .lbfs-myatt-stat-dot{background:var(--my-absent)}
.lbfs-myatt-stat-leave{background:#faf7ff}.lbfs-myatt-stat-leave .lbfs-myatt-stat-dot{background:var(--my-leave)}
.lbfs-myatt-stat-half-day{background:#f6faff}.lbfs-myatt-stat-half-day .lbfs-myatt-stat-dot{background:var(--my-half)}
.lbfs-myatt-stat-late{background:#fffbf3}.lbfs-myatt-stat-late .lbfs-myatt-stat-dot{background:var(--my-late)}
.lbfs-myatt-calendar-section{background:#fafbff;border:1px solid #e9edf6;border-radius:17px;padding:16px 16px 11px}
.lbfs-myatt-section-heading{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:15px}
.lbfs-personal-attendance-v2 .lbfs-myatt-section-heading h3{font-size:17px;font-weight:825;letter-spacing:-.015em;margin-top:3px}
.lbfs-myatt-section-count{font-size:11px;font-weight:780;border-radius:100px;padding:6px 10px;background:#eeedff;color:#5740b5;white-space:nowrap}
.lbfs-myatt-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.lbfs-myatt-weekday{font-size:10px;font-weight:800;color:#8190a6;text-align:center;padding:3px 0 6px}
.lbfs-myatt-day{min-width:0;min-height:61px;background:#fff;border:1px solid #e5ebf5;border-radius:10px;padding:6px 2px 4px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:4px;position:relative}
.lbfs-myatt-day-number{font-size:13px;font-weight:800;line-height:1.1;color:#364963}
.lbfs-myatt-day-status{display:grid;place-items:center;font-size:10px;font-weight:900;line-height:1;height:20px;min-width:20px;border-radius:7px;padding:0 4px;background:#eef1f6;color:#9aa7b8}
.lbfs-myatt-day.is-present{border-color:#ccefe2;background:#f2fcf8}.lbfs-myatt-day.is-present .lbfs-myatt-day-status{background:#c5f3e3;color:#087556}
.lbfs-myatt-day.is-absent{border-color:#f6d5dc;background:#fff4f5}.lbfs-myatt-day.is-absent .lbfs-myatt-day-status{background:#f9d4db;color:#b72f43}
.lbfs-myatt-day.is-leave{border-color:#e9dcfa;background:#faf4ff}.lbfs-myatt-day.is-leave .lbfs-myatt-day-status{background:#ebd9fa;color:#7750a7}
.lbfs-myatt-day.is-half-day{border-color:#d5e5fc;background:#f4f9ff}.lbfs-myatt-day.is-half-day .lbfs-myatt-day-status{background:#d4e8ff;color:#275d9f}
.lbfs-myatt-day.is-late{border-color:#f4e4c6;background:#fffaf1}.lbfs-myatt-day.is-late .lbfs-myatt-day-status{background:#fce6b8;color:#8f631a}
.lbfs-myatt-day.is-today{box-shadow:0 0 0 2px #6650e5 inset}
.lbfs-myatt-day.is-future{opacity:.54}
.lbfs-myatt-legend{display:flex;align-items:center;gap:9px 14px;flex-wrap:wrap;margin-top:14px}
.lbfs-myatt-legend span{font-size:10px;color:#586b86;font-weight:730;display:inline-flex;align-items:center;gap:6px}
.lbfs-myatt-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#bbb}
.lbfs-myatt-legend i.is-present{background:var(--my-present)}.lbfs-myatt-legend i.is-absent{background:var(--my-absent)}.lbfs-myatt-legend i.is-leave{background:var(--my-leave)}.lbfs-myatt-legend i.is-half-day{background:var(--my-half)}.lbfs-myatt-legend i.is-late{background:var(--my-late)}
.lbfs-personal-attendance-v2 .lbfs-myatt-hint{margin-top:12px;color:#687991;font-size:11px;line-height:1.55}
.lbfs-myatt-history{margin-top:14px;border:1px solid var(--my-line);border-radius:14px;background:#fff;overflow:hidden}
.lbfs-myatt-history summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;list-style:none}
.lbfs-myatt-history summary::-webkit-details-marker{display:none}
.lbfs-myatt-history summary strong{display:block;color:var(--my-navy);font-size:13px;font-weight:820}
.lbfs-myatt-history summary small{display:block;color:var(--my-muted);font-size:11px;margin-top:3px}
.lbfs-myatt-disclosure{font-size:24px;color:#6d61ae;line-height:1;transition:transform .18s}
.lbfs-myatt-history[open] .lbfs-myatt-disclosure{transform:rotate(180deg)}
.lbfs-myatt-history-list{border-top:1px solid var(--my-line);padding:5px 14px 9px}
.lbfs-myatt-history-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 2px;border-bottom:1px solid #eef1f6}
.lbfs-myatt-history-row:last-child{border-bottom:0}
.lbfs-myatt-history-date{font-size:12px;color:#566883;font-weight:690}
.lbfs-myatt-history-row strong{font-size:10px;font-weight:830;border-radius:30px;padding:5px 9px;color:#526779;background:#eef1f5;white-space:nowrap}
.lbfs-myatt-history-row strong.is-present{color:#087556;background:#e1f8ee}.lbfs-myatt-history-row strong.is-absent{color:#aa3543;background:#ffe8ed}.lbfs-myatt-history-row strong.is-leave{color:#7451a6;background:#f0e6fb}.lbfs-myatt-history-row strong.is-half-day{color:#2f69af;background:#e5f0ff}.lbfs-myatt-history-row strong.is-late{color:#a36b1a;background:#fff1d7}
.lbfs-personal-attendance-v2 .lbfs-myatt-no-records{margin:10px 0;color:#687991;font-size:12px}
.lbfs-personal-attendance-v2 .lbfs-myatt-admin-note{display:flex;align-items:center;gap:6px;font-size:11px;color:#77859a;margin:12px 2px 0;line-height:1.5}
.lbfs-myatt-admin-note:before{content:'●';font-size:7px;color:#7e6bdb}
/* Teacher's linked role caption was also previously unstyled when the Staff Manager CSS was omitted. */
.lbfs-teacher-role-highlight{box-sizing:border-box;margin:0 0 17px;padding:15px 18px;border-radius:17px;background:linear-gradient(120deg,#fffaf0,#f5f8ff);border:1px solid #e8ddc9;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.lbfs-teacher-role-highlight>span,.lbfs-teacher-role-highlight>strong,.lbfs-teacher-role-highlight>p,.lbfs-teacher-role-highlight>em{display:block}
.lbfs-teacher-role-highlight>span{font-size:10px;font-weight:850;letter-spacing:.12em;color:#8f6f25}
.lbfs-teacher-role-highlight>strong{color:#243b5a;font-size:19px;font-weight:850;line-height:1.35;margin:4px 0}
.lbfs-teacher-role-highlight>p,.lbfs-teacher-role-highlight>em{font-size:12px;color:#64758d;line-height:1.5;margin:0}
@media(max-width:650px){
  .lbfs-personal-attendance-v2{padding:14px;margin:12px 0 19px;border-radius:20px}
  .lbfs-myatt-head{margin-bottom:14px}
  .lbfs-myatt-head-icon{width:43px;height:43px;border-radius:13px}
  .lbfs-personal-attendance-v2 .lbfs-myatt-head h2{font-size:21px}
  .lbfs-myatt-readonly{font-size:10px;padding:5px 8px}
  .lbfs-myatt-overview{padding:15px;gap:15px}
  .lbfs-myatt-ring{width:94px;height:94px;padding:8px}
  .lbfs-myatt-ring strong{font-size:24px}
  .lbfs-myatt-overview-copy>strong{font-size:17px}
  .lbfs-personal-attendance-v2 .lbfs-myatt-overview-copy p{font-size:11px}
  .lbfs-myatt-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:16px}
  .lbfs-myatt-stat{padding:11px 9px}
  .lbfs-myatt-stat strong{font-size:23px}
  .lbfs-myatt-calendar-section{padding:12px 9px}
  .lbfs-myatt-calendar{gap:4px}
  .lbfs-myatt-day{min-height:53px;border-radius:8px;padding:5px 1px}
  .lbfs-myatt-day-number{font-size:12px}
  .lbfs-myatt-day-status{height:17px;min-width:17px;padding:0 3px;font-size:9px}
  .lbfs-myatt-legend{gap:8px 10px}
  .lbfs-myatt-month-nav strong{font-size:16px}
}
@media(max-width:355px){
  .lbfs-myatt-overview{gap:11px;padding:12px}
  .lbfs-myatt-ring{width:80px;height:80px}
  .lbfs-myatt-ring strong{font-size:20px}
  .lbfs-myatt-overview-copy>strong{font-size:15px}
  .lbfs-myatt-day{min-height:47px}
  .lbfs-myatt-section-count{font-size:10px;padding:5px 7px}
}
