.attendance-calendar{max-width:720px;margin:auto;padding:20px;border-radius:25px}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-head a{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eeeaff;color:var(--primary)}.calendar-head h2{font-size:18px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays{margin:18px 0 8px;text-align:center;color:var(--muted);font-size:11px}.calendar-day{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:12px;color:var(--ink);font-weight:700;text-decoration:none}.calendar-day:hover,.calendar-day.today{background:#eae5ff;color:var(--primary)}.calendar-day b{position:absolute;bottom:5px;width:4px;height:4px;border-radius:99px;background:var(--violet)}.attendance-intro{color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.project-card{display:flex;flex-direction:column;min-height:150px;padding:18px;border-radius:20px;color:var(--ink);text-decoration:none}.project-card>i{width:34px;height:34px;padding:8px;border-radius:12px;background:#eeeaff;color:var(--primary)}.project-card small{margin-top:13px;color:#0b9567;font-size:10px;font-weight:700}.project-card strong{margin-top:4px}.project-card span{margin-top:auto;color:var(--primary);font-size:12px;font-weight:700}.attendance-context{display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:15px;border-radius:18px}.attendance-context span,.attendance-summary span{display:block;color:var(--muted);font-size:11px}.attendance-context strong{display:block;margin-top:4px;font-size:13px}.mode-control{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:14px;background:#ece8f8}.mode-control button,.day-tab{border:0;border-radius:10px;background:transparent;padding:11px;color:var(--muted);font-weight:700}.mode-control .selected,.day-tab.selected{background:#fff;color:var(--primary);box-shadow:0 3px 8px #3e33701a}.range-picker{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:14px 0}.range-picker label{font-size:11px;font-weight:700}.range-picker input{min-height:42px;padding:8px}.range-picker .secondary-btn{min-height:42px;padding:0 12px}.day-tabs{display:flex;gap:7px;overflow-x:auto;margin-bottom:14px;padding-bottom:4px}.day-tab{white-space:nowrap;background:#ece8f8}.attendance-table{overflow:hidden;border:1px solid #fff;border-radius:18px;background:#ffffffb5}.attendance-heading,.attendance-row{display:grid;grid-template-columns:1.25fr 1.25fr .7fr;gap:8px;align-items:center;padding:12px}.attendance-heading{background:#f0edfa;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.attendance-row{border-top:1px solid var(--line)}.attendance-row strong,.attendance-row small{display:block}.attendance-row strong{font-size:13px}.attendance-row small{margin-top:3px;color:var(--muted);font-size:10px}.attendance-row select{min-height:40px;padding:7px;font-size:12px}.attendance-row b{font-size:12px;color:var(--primary);text-align:right}.attendance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.attendance-summary div{padding:10px;border-radius:12px;background:#eeeaff}.attendance-summary b{display:block;margin-top:4px;font-size:13px}.sticky-save{position:sticky;bottom:12px;padding:8px;border-radius:16px;background:#fffffff2;backdrop-filter:blur(9px)}.sticky-save .primary-btn{width:100%}@media(min-width:700px){.project-grid{grid-template-columns:repeat(4,1fr)}.attendance-context,.mode-control,.range-picker,.attendance-table,.attendance-summary,.sticky-save{max-width:920px;margin-left:auto;margin-right:auto}.attendance-row,.attendance-heading{grid-template-columns:1.2fr 1fr .7fr;padding:14px 20px}}
