.date-selector{align-items:center;gap:var(--space-2);background:var(--surface-2);border-radius:var(--radius-full);outline:1px solid var(--stroke);outline-offset:-1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;padding:3px;display:flex;position:relative}.date-selector__nav{border-radius:var(--radius-full);background:var(--overlay-10);width:40px;height:40px;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:#0000;transition:background .2s ease,transform .2s var(--ease-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (hover:hover){.date-selector__nav:hover{background:var(--overlay-15)}}.date-selector__nav:active{transform:scale(.94)}.date-selector__display{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);min-width:0;height:40px;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:#0000;flex:1;transition:background .2s;display:flex;position:relative}.date-selector__display:active,.date-selector__display--range{background:var(--overlay-05)}.date-selector__display--range:active{background:var(--overlay-10)}.date-selector__icon{color:var(--text-tertiary);flex-shrink:0}.date-selector__text{align-items:center;gap:var(--space-2);min-width:0;line-height:1.15;display:flex}.date-selector__divider{background:var(--stroke-strong);border-radius:1px;flex-shrink:0;width:1px;height:12px}.date-selector__date{font-size:var(--text-base);font-weight:var(--weight-semibold);white-space:nowrap}.date-selector__day{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap;font-weight:400}.date-selector__arrow{color:var(--text-tertiary);flex-shrink:0;align-items:center;display:flex}.date-selector--range{gap:var(--space-3)}.date-selector__input{opacity:0;cursor:pointer;appearance:none;background:0 0;border:none;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.date-selector__input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.date-selector__input::-webkit-date-and-time-value{text-align:center}
.daily-report-page{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.daily-report-page .page-header{align-items:center;gap:var(--space-3);display:flex}.daily-report-page .page-header h1{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--weight-bold);margin:0}.daily-report-page .stats-summary{gap:var(--space-3);display:flex}.daily-report-page .stats-summary .stat-item{background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex:1}.daily-report-page .stats-summary .stat-item .stat-value{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--weight-bold);margin-bottom:var(--space-1)}.daily-report-page .stats-summary .stat-item .stat-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.daily-report-page .section .section-title{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-3)}.daily-report-page .grades-list{gap:var(--space-2);flex-direction:column;display:flex}.daily-report-page .grades-list .grade-item{background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-4);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;transition:all .2s;display:flex}@media (hover:hover){.daily-report-page .grades-list .grade-item:hover{background:var(--surface-3)}}.daily-report-page .grades-list .grade-item:active{transform:scale(.98)}.daily-report-page .grades-list .grade-item .grade-info{flex:1}.daily-report-page .grades-list .grade-item .grade-info .grade-subject{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-1)}.daily-report-page .grades-list .grade-item .grade-info .grade-details{justify-content:flex-start;align-items:center;gap:var(--space-3);font-size:var(--text-xs);display:flex}.daily-report-page .grades-list .grade-item .grade-info .grade-details .grade-type{white-space:nowrap;text-overflow:ellipsis;max-width:60%;color:var(--text-secondary);overflow:hidden}.daily-report-page .grades-list .grade-item .grade-info .grade-details .grade-date{color:var(--text-secondary)}.daily-report-page .grades-list .grade-item .grade-value{font-size:var(--text-md);font-weight:var(--weight-bold);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);text-align:center;min-width:40px}.daily-report-page .grades-list .grade-item .grade-value.grade-excellent{color:var(--text-primary);background:#2ed573}.daily-report-page .grades-list .grade-item .grade-value.grade-good{background:var(--warning);color:var(--text-primary)}.daily-report-page .grades-list .grade-item .grade-value.grade-satisfactory{color:var(--text-primary);background:#ff6348}.daily-report-page .grades-list .grade-item .grade-value.grade-unsatisfactory{background:var(--danger);color:var(--text-primary)}.daily-report-page .absences-list{gap:var(--space-2);flex-direction:column;display:flex}.daily-report-page .absences-list .absence-item{background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;transition:all .2s;display:flex}@media (hover:hover){.daily-report-page .absences-list .absence-item:hover{background:var(--surface-3)}}.daily-report-page .absences-list .absence-item:active{transform:scale(.98)}.daily-report-page .absences-list .absence-item .absence-info{flex:1}.daily-report-page .absences-list .absence-item .absence-info .absence-subject{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-1)}.daily-report-page .absences-list .absence-item .absence-info .absence-details .absence-date{color:var(--text-secondary);font-size:var(--text-xs)}.daily-report-page .absences-list .absence-item .absence-hours{background:var(--danger);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-bold);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs)}.daily-report-page .empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px}.daily-report-page .empty-state h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-medium);margin:var(--space-4) 0 var(--space-2) 0}.daily-report-page .empty-state p{font-size:var(--text-base);margin:0;line-height:1.4}
