/* Focused weekly-attendance and mobile usability pass. */
.week-nav{display:flex;align-items:center;gap:9px}.week-nav strong{min-width:100px;text-align:center;color:var(--ink);font:700 10px 'DM Mono',monospace;letter-spacing:.4px}.week-nav button{width:40px;height:40px;border:1px solid #c9d3c8;border-radius:9px;background:#fff;color:var(--green);font-size:16px;font-weight:800}.week-nav button:hover:not(:disabled){background:var(--green-soft)}.week-nav button:disabled{opacity:.35;cursor:not-allowed}.week-grid{display:grid;width:100%;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.week-day{min-width:0;min-height:78px;border:1px solid #dfe3da;border-radius:9px;background:#f7f6f1;color:#78867d;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.week-day b{font:700 9px 'DM Mono',monospace;text-transform:uppercase}.week-day i{font-style:normal;font-size:10px;margin-top:2px}.week-day em{font-style:normal;font-size:20px;font-weight:800;line-height:1.15}.week-day small{font-size:8px;font-weight:700}.week-day.attended{background:var(--green-soft);border-color:#b7cfba;color:var(--green)}.week-day.missed{background:var(--rust-soft);border-color:#e2bbac;color:var(--rust)}button.week-day{cursor:pointer}button.week-day:hover{transform:translateY(-2px);box-shadow:0 5px 12px #203a2a15}button.week-day:disabled{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}.attendance-heading{align-items:end}.attendance-card .week-grid{margin-top:13px}.attendance-grid{grid-template-columns:repeat(auto-fill,minmax(430px,1fr))}.edit-history-btn{width:100%;min-height:46px;margin-top:17px;border:1px solid #c3d0c4;border-radius:9px;background:#fff;color:var(--green);font-weight:800}.client-detail-brand{display:flex;align-items:center;gap:8px;padding-bottom:20px;margin-bottom:25px;border-bottom:1px solid var(--line);font-size:13px;font-weight:800}.client-detail-brand .brand-mark{width:30px;height:30px;border-radius:8px;background:#163e2e;color:#f2f2dd;font:800 12px Manrope}.detail-history-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:15px}.detail-history-title .eyebrow{margin-bottom:5px}.detail-history-title h3{font:400 27px 'DM Serif Display',serif}.history-help{font-size:11px!important;line-height:1.5;color:var(--muted);margin:12px 0}.day-editor{margin-top:16px;padding:17px;background:#f2f3ed;border:1px solid #d9ded4;border-radius:11px}.day-editor>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.day-editor strong{font-size:13px}.day-editor span{color:var(--muted);font-size:10px;text-transform:capitalize}.day-editor-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.day-editor-actions button{min-height:43px;border-radius:8px;font-size:10px;font-weight:800}.clear-day{border:1px solid #ccd2ca;background:#fff;color:#526158}.client-detail-head h2{font-size:38px}.detail-status .badge{font-size:10px}.detail-status strong{font-size:15px}.detail-status p{font-size:12px}.modal:has(.client-detail-head){width:min(760px,100%);padding:38px}.modal:has(.client-detail-head) .detail-status{padding:22px}.modal:has(.client-detail-head) .primary-btn,.modal:has(.client-detail-head) .secondary-btn{min-height:48px;padding:12px 17px}
@media(max-width:760px){body{font-size:15px}.main-panel{padding:28px 18px 40px}.sidebar{height:74px}.sidebar nav{height:76px}.nav-item{min-height:59px}.nav-item>span{font-size:10px}.nav-item svg{width:22px;height:22px}.topbar h1{font-size:35px}.page-lede{font-size:14px;line-height:1.55}.stats{gap:8px}.stat-card{min-height:116px;padding:16px 13px}.stat-card p{font-size:8px}.section-head{display:block}.section-head h2{font-size:29px}.section-head p{font-size:13px;line-height:1.55}.attendance-heading .week-nav{margin-top:18px;justify-content:space-between}.week-nav strong{font-size:11px}.attendance-grid{grid-template-columns:1fr}.attendance-card{padding:21px 17px}.attendance-card h3{font-size:19px}.attendance-card p{font-size:13px}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.week-day{min-height:73px;border-radius:7px}.week-day b{font-size:8px}.week-day i{font-size:9px}.week-day em{font-size:21px}.week-day small{font-size:7px}.attendance-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-actions button{min-height:54px;font-size:12px}.modal:has(.client-detail-head){padding:22px 18px 28px}.client-detail-brand{margin-bottom:21px}.client-detail-head{grid-template-columns:auto minmax(0,1fr) auto;gap:11px}.client-detail-head>.avatar{width:54px;height:54px;font-size:15px}.client-detail-head h2{font-size:34px;overflow-wrap:anywhere}.client-detail-head p{font-size:13px}.detail-status{padding:19px!important;margin:22px 0}.detail-status .badge{font-size:11px}.detail-status strong{font-size:16px;line-height:1.4}.detail-status p{font-size:13px;line-height:1.55}.detail-history-title{align-items:center}.detail-history-title h3{font-size:25px}.detail-history .week-grid{overflow:visible;padding-bottom:0}.detail-history .week-day{flex:auto;min-width:0}.history-help{font-size:12px!important}.day-editor{padding:16px}.day-editor>div:first-child{display:block}.day-editor span{display:block;margin-top:4px;font-size:11px}.day-editor-actions{grid-template-columns:1fr}.day-editor-actions button{min-height:48px;font-size:12px}.detail-counts span{font-size:10px}.detail-counts b{font-size:24px}.detail-footer{margin-top:24px}.detail-footer button{min-height:48px}.billing-card h2{font-size:32px}.billing-card>p:not(.eyebrow):not(.billing-note){font-size:14px}.billing-actions button{min-height:49px;font-size:13px}}
