/* iTech-2026 · CSS consolidat 041
 * BASE: botons, llegibilitat i components comuns
 * Ordre original conservat. Editar la secció funcional corresponent.
 * No afegir fulls numerats per a correccions; modificar aquests blocs.
 */

/* ===== 01 · button-spacing.css ===== */
                                                                               
                                                                                  
html body button:not(.navigation-text):not(.icon-picker-btn):not(.subject-color-swatch){margin-block-start:3px!important;margin-block-end:9px!important;margin-inline:3px!important;}
html body :is(.dialog-actions,.day-dialog-footer,.teacher-profile-footer,.installation-review-actions){padding-bottom:14px!important;overflow-y:visible;}
html body #newTeacherModal .teacher-profile-footer{padding-bottom:14px!important;min-height:72px!important;}
html body #newTeacherModal .teacher-profile-scroll{padding-bottom:12px!important;}
html body :is(.report-bulk-box,.day-message-actions){padding-bottom:10px!important;}
                                                                
html body :is(#newTeacherAvatarsGrid,.subject-color-swatches){padding:10px!important;}
                                                                        
html body #dayModal section#dayMessagesSection{padding-bottom:0!important;}
html body #dayModal section#dayMessagesSection>.day-message-actions{margin:0!important;padding:18px 0 21px!important;gap:18px!important;justify-content:center!important;}
html body #dayModal section#dayMessagesSection>.day-message-actions :is(#dayMessageSend,#dayMessageClearText){min-height:44px!important;padding:10px 16px!important;font-size:14px!important;flex:0 1 220px!important;margin:0 3px!important;}
html body #dayModal section#dayMessagesSection>#dayMessageNotice:empty{display:none!important;margin:0!important;min-height:0!important;}
html body #dayModal section#dayMessagesSection>#dayMessageInput{margin-bottom:0!important;}
@media(max-width:520px){html body #dayModal section#dayMessagesSection>.day-message-actions{flex-wrap:wrap!important;gap:16px!important;}html body #dayModal section#dayMessagesSection>.day-message-actions :is(#dayMessageSend,#dayMessageClearText){flex:1 1 140px!important;}}


/* ===== 02 · readability.css ===== */
                                                                                           
html body{font-size:16px!important;line-height:1.5;}
html body :is([class~="text-[8px]"],[class~="text-[9px]"],[class~="text-[10px]"],[class~="text-[11px]"],[class~="text-[12px]"],[class~="text-[13px]"],[class~="text-xs"]):not(i):not(svg){font-size:14px!important;line-height:1.45!important;}
html body .text-sm:not(i):not(svg){font-size:15px!important;line-height:1.5!important;}
html body :is(input,textarea,select){font-size:15px;line-height:1.5;}
html body button[class*="intent-"]{font-size:14px;line-height:1.4;}
html body #reportsModal #reportsTableContainer table{font-size:15px!important;}
html body #reportsModal #reportsTableContainer :is(td,td>div,td>span){font-size:14px!important;line-height:1.5!important;}
html body #reportsModal #reportsTableContainer th{font-size:13px!important;line-height:1.45!important;padding:12px 10px;}
html body #reportsModal #reportsTableContainer .report-task-name{font-size:15px!important;line-height:1.5!important;}
html body #reportsModal #reportsTableContainer .report-task-meta{font-size:13px!important;line-height:1.5!important;}
html body #reportsModal #reportsTableContainer .report-task-answer{font-size:14px!important;min-height:40px;padding:9px 10px;}
html body #reportsModal .report-status-btn{font-size:13px!important;min-height:38px;padding:8px 10px;}
html body #reportsModal .report-bulk-box :is(input,select,button){font-size:14px!important;min-height:40px;}
html body #reportsModal .bulk-recipient-summary{font-size:13px!important;line-height:1.5;}
html body #reportsModal .report-bulk-box>span:first-child{font-size:13px!important;white-space:normal!important;}
html body #reportsModal :is(h3,.entity-action-btn){font-size:15px!important;}
html body #reportsModal h3{font-size:22px!important;}
                                                                                            
html body #reportsModal tr.report-extra-header[data-report-subject-color]>td{background:var(--report-subject-bg)!important;color:var(--report-subject-ink)!important;border-left:8px solid var(--report-subject-edge)!important;border-top:12px solid #fff!important;border-bottom:2px solid var(--report-subject-edge)!important;font-size:18px!important;line-height:1.5!important;padding:14px 16px!important;}
html body #reportsModal tr.report-school-header[data-report-subject-color]>td{background:var(--report-subject-bg)!important;color:var(--report-subject-ink)!important;border-left:8px solid var(--report-subject-edge)!important;border-top:7px solid #fff!important;border-bottom:2px solid var(--report-subject-edge)!important;padding:13px 16px!important;}
html body #reportsModal tr[data-report-subject-color] :is(div,span,i){color:inherit!important;}
html body #reportsModal tr.report-school-header[data-report-subject-color] :is(div,span){font-size:15px!important;line-height:1.5!important;}
                                                                                      
html body #newTeacherModal label{font-size:14px!important;line-height:1.5!important;}
html body #newTeacherModal input:not([type="hidden"]){font-size:15px!important;min-height:42px!important;height:auto!important;line-height:1.5!important;}
html body #newTeacherModal .teacher-profile-heading h3{font-size:20px!important;line-height:1.4;}
html body #newTeacherModal :is(.setup-introduction,.setup-database-info p,.setup-db-download,.teacher-avatar-options summary){font-size:14px!important;line-height:1.55!important;}
html body #newTeacherModal .setup-database-info h4{font-size:16px!important;}
html body #newTeacherModal .teacher-profile-footer button{font-size:15px!important;min-height:44px!important;}
html body #newTeacherModal .teacher-password-control button{font-size:14px!important;min-height:42px!important;}
html body #dayModal :is(label,.report-task-answer,.task-student-response,.task-teacher-reply){font-size:15px!important;line-height:1.5!important;}
html body #dayModal :is(.task-status-btn,.day-dialog-footer button,#saveWorkResponsesInline){font-size:14px!important;min-height:40px;}
html body #dayModal .day-message-help{font-size:14px!important;line-height:1.5;}
html body #dayModal .day-message-bubble{font-size:15px!important;line-height:1.55;}
html #sidebar :is(.navigation-text,.subject-nav-name){font-size:16px!important;line-height:1.5!important;}
                                                                                     
html #calendarGrid :is([class~="text-[8px]"],[class~="text-[9px]"],[class~="text-[10px]"],[class~="text-[11px]"],[class~="text-xs"]):not(i):not(svg){font-size:12px!important;line-height:1.35!important;}
@media(max-width:560px){
 html body #newTeacherModal .teacher-profile-footer button{font-size:14px!important;}
 html body #reportsModal tr.report-school-header[data-report-subject-color] :is(div,span){font-size:14px!important;}
 html #calendarGrid :is([class~="text-[8px]"],[class~="text-[9px]"],[class~="text-[10px]"],[class~="text-[11px]"],[class~="text-xs"]):not(i):not(svg){font-size:11px!important;}
}

html body .bulk-status-select[hidden]{display:none!important;}
html body .bulk-status-buttons{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
html body .bulk-status-button.active{outline:2px solid currentColor;outline-offset:2px;font-weight:800;}
html body .bulk-status-button[aria-pressed="true"]::after{content:" ✓";}

                                                                                  
html body #dayModal .day-student-banner{grid-template-columns:minmax(210px,1.8fr) minmax(170px,1.4fr) minmax(145px,1fr) minmax(150px,.85fr) minmax(150px,.9fr) minmax(200px,1.3fr)!important;background:linear-gradient(115deg,#fed7aa,#fdba74)!important;border-color:#fb923c!important;border-left:6px solid #ea580c!important;padding:18px 8px!important;color:#7c2d12!important;}
html body #dayModal .day-student-label{font-size:14px!important;line-height:1.4!important;color:#9a3412!important;letter-spacing:.035em!important;}
html body #dayModal .day-student-value{font-size:17px!important;line-height:1.5!important;font-weight:700!important;color:#431407!important;}
html body #dayModal .day-student-name{font-size:22px!important;font-weight:800!important;}
html body #dayModal .day-student-field{border-color:#ea580c55!important;}
html body #dayStudentGrade{white-space:nowrap!important;overflow-wrap:normal!important;}
html body #dayMessageInbox .admin-work-list{display:grid;gap:10px;max-height:340px!important;overflow-y:auto;padding:10px 8px 14px;}
html body #dayMessageInbox .admin-work-item{display:flex;flex-direction:column;gap:5px;text-align:left;padding:14px;border:1px solid #fb923c;border-left:5px solid #ea580c;border-radius:12px;background:#ffedd5;color:#7c2d12;white-space:normal;}
html body #dayMessageInbox .admin-work-item:nth-child(even){background:#fff7ed;}
html body #dayMessageInbox .admin-work-item strong{font-size:16px;}
html body #dayMessageInbox .admin-work-state{font-size:14px;font-weight:800;}
@media(max-width:1400px){html body #dayModal .day-student-banner{grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:14px!important;}}
@media(max-width:700px){html body #dayModal .day-student-banner{grid-template-columns:repeat(2,minmax(0,1fr))!important;}html body #dayModal .day-student-value{font-size:16px!important;}html body #dayModal .day-student-name{font-size:20px!important;}}
@media(max-width:390px){html body #dayModal .day-student-banner{grid-template-columns:minmax(0,1fr)!important;}html body #dayStudentGrade{white-space:normal!important;}}

                                                                        
html body[data-page="student"] #sidebar{overflow-x:hidden!important;min-width:0!important;}
html body[data-page="student"] #sidebarNavContainer{min-width:0!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-gutter:stable;padding:12px 14px 18px!important;}
html body[data-page="student"] #sidebarNavContainer button{box-sizing:border-box;max-width:calc(100% - 6px)!important;width:calc(100% - 6px)!important;min-width:0!important;}
html body[data-page="student"] #sidebarNavContainer button>div{min-width:0!important;}
html body[data-page="student"] #sidebarNavContainer .subject-nav-name{white-space:normal!important;overflow-wrap:anywhere!important;text-overflow:clip!important;}
@media(min-width:768px){html body[data-page="student"] #sidebar{width:clamp(300px,27vw,540px)!important;}}

html body[data-page="student"] #dayModal .day-dialog-header{background:linear-gradient(110deg,#fed7aa,#fdba74)!important;border-bottom:2px solid #f97316!important;color:#431407!important;}
html body[data-page="student"] #dayModal .day-dialog-header>div:first-child{display:flex;flex:1;flex-wrap:wrap;min-width:0;gap:16px;align-items:center;}
html body[data-page="student"] #dayModal :is(#modalDateTitle,#modalSubjectSub){color:#7c2d12!important;}
html body[data-page="student"] #dayModal #modalDateTitle{font-size:20px!important;}
html body[data-page="student"] .student-notebook-identity{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:8px 0;min-width:0;}
html body[data-page="student"] .student-notebook-field{display:flex;flex-direction:column;gap:3px;border-left:2px solid #ea580c66;padding-left:14px;min-width:0;}
html body[data-page="student"] .student-notebook-field small{font-size:13px;color:#9a3412;font-weight:700;}
html body[data-page="student"] .student-notebook-field strong{font-size:18px;line-height:1.45;color:#431407;overflow-wrap:anywhere;}
html body[data-page="student"] .student-notebook-field:last-child strong{white-space:nowrap;}

html body .student-inline-work-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:16px 6px 14px;border-top:1px solid #c4b5fd;margin-top:16px;}
html body .student-inline-work-actions button{padding:10px 16px;min-height:44px;font-size:15px;display:flex;align-items:center;gap:8px;}
html body.professor-panel #sidebar .sidebar-activities-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:10px!important;padding:12px 14px 14px!important;box-sizing:border-box;min-width:0;}
html body.professor-panel #sidebar .sidebar-activities-heading>span{font-size:14px!important;letter-spacing:0!important;white-space:nowrap!important;flex:0 0 auto;}
html body.professor-panel #sidebar .sidebar-activities-heading button.navigation-text{font-size:14px!important;line-height:1.4!important;white-space:nowrap!important;flex:0 0 auto;padding:4px!important;}
@media(min-width:1200px){html body.professor-panel #sidebar{width:550px!important;}}
@media(min-width:1024px) and (max-width:1199px){html body.professor-panel #sidebar .sidebar-activities-heading>span{font-size:12px!important;}html body.professor-panel #sidebar .sidebar-activities-heading button.navigation-text{font-size:12px!important;}html body.professor-panel #sidebar .manage-subjects-long{display:none!important;}html body.professor-panel #sidebar .manage-subjects-short{display:inline!important;}}
@media(max-width:560px){html body.professor-panel #sidebar .sidebar-activities-heading>span,html body.professor-panel #sidebar .sidebar-activities-heading button.navigation-text{font-size:clamp(10px,2.65vw,14px)!important;}html body.professor-panel #sidebar .sidebar-activities-heading{gap:5px!important;padding-left:10px!important;padding-right:10px!important;}}
html body #dayMessageInbox{box-sizing:border-box!important;width:calc(100% - 20px)!important;margin-left:10px!important;margin-right:10px!important;margin-top:10px!important;margin-bottom:10px!important;}
html body #dayModal #dayMessagesSection .day-message-help{font-size:15px!important;line-height:1.4!important;margin:5px 0!important;}
html body #dayModal #dayMessagesSection :is(.conversation-status-bar,.conversation-heading-row){padding:6px 8px!important;gap:8px!important;margin-bottom:6px!important;}
html body #dayModal #dayMessagesSection .day-message-legend{gap:5px!important;margin:7px 0!important;}
html body #dayModal #dayMessagesSection .day-message-legend .day-message-badge{font-size:13px!important;line-height:1.25!important;min-height:34px!important;padding:5px 6px!important;}
html body #dayModal :is(#dayMessageSend,#saveWorkResponsesInline,button[onclick="saveDayEntry()"],button[onclick="saveStudentWorkEntry()"]) {background:linear-gradient(135deg,#16a34a,#15803d)!important;background-color:#15803d!important;border:1px solid #166534!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 4px 0 #14532d,0 7px 12px #14532d33!important;}
html body #dayModal :is(#dayMessageSend,#saveWorkResponsesInline,button[onclick="saveDayEntry()"],button[onclick="saveStudentWorkEntry()"]) :is(i,span){color:#fff!important;-webkit-text-fill-color:#fff!important;}
html body #dayModal :is(#dayMessageSend,#saveWorkResponsesInline,button[onclick="saveDayEntry()"],button[onclick="saveStudentWorkEntry()"]) :disabled{opacity:.65;}

html body #dayModal .day-student-banner{margin:8px 12px 0!important;padding:8px 6px!important;row-gap:6px!important;}
html body #dayModal .day-student-field{padding:0 10px!important;}
html body #dayModal .day-dialog-header{padding:7px 12px!important;gap:8px!important;min-height:0!important;}
html body #dayModal .day-dialog-header :is(h3,p){margin-top:0!important;margin-bottom:0!important;}
html body #dayModal #dayMessagesSection .student-message-heading{padding:8px 10px!important;margin:0 0 6px!important;}
html body #dayModal #dayMessagesSection :is(.student-message-intro,.student-message-explanation){font-size:15px!important;line-height:1.4!important;margin:4px 0!important;}
html body #dayModal #dayMessagesSection #dayMessagesTitle{font-size:20px!important;line-height:1.35!important;margin:0 0 4px!important;}
html body *::-webkit-scrollbar{width:16px!important;height:16px!important;}
html body *::-webkit-scrollbar-thumb{background:#a78bfa;border-radius:10px;border:2px solid #ede9fe;}
html body *::-webkit-scrollbar-track{background:#ede9fe;border-radius:10px;}
html body *{scrollbar-width:auto!important;}
html body button[data-save-action="true"],html body #dayModal #dayMessageSend{background:linear-gradient(145deg,#168442,#146c35)!important;background-color:#168442!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #16a34a!important;box-shadow:inset 0 1px 0 #ffffff66,0 4px 0 #0b4724,0 7px 12px #14532d33!important;text-shadow:0 1px 1px #14532d66;}
html body button[data-save-action="true"] :is(i,span),html body #dayModal #dayMessageSend :is(i,span){color:#fff!important;-webkit-text-fill-color:#fff!important;}
html body button[data-save-action="true"]:hover:not(:disabled),html body #dayModal #dayMessageSend:hover:not(:disabled){filter:brightness(1.08);}
html body button[data-save-action="true"]:active:not(:disabled),html body #dayModal #dayMessageSend:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 1px 0 #ffffff55,0 1px 0 #0b4724!important;}

html body.professor-panel #sidebar .manage-subjects-short{display:none;}
html body #dayModal #dayMessagesSection .conversation-heading-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:0!important;margin:0 0 6px!important;}
html body #dayModal #dayMessagesSection .conversation-heading-row #dayMessagesTitle{font-size:18px!important;line-height:1.3!important;min-width:0!important;margin:0!important;}
html body #dayModal #dayMessagesSection #dayConversationStatus{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:7px!important;padding:0!important;margin:0!important;font-size:13px!important;white-space:nowrap;}
html body #dayModal #dayMessagesSection #dayConversationStatus button{font-size:13px!important;padding:7px 9px!important;min-height:36px!important;white-space:nowrap!important;}
@media(min-width:1024px) and (min-height:600px){html body #dayModal #dayMessagesSection{overflow:hidden!important;}html body #dayModal #dayMessageList{flex:1 1 0!important;min-height:0!important;overflow-y:auto!important;margin:7px 0!important;}html body #dayModal #dayMessageInput{height:100px!important;min-height:100px!important;max-height:140px!important;}}
@media(max-width:560px){html body #dayModal #dayMessagesSection .conversation-heading-row{grid-template-columns:minmax(0,1fr)!important;gap:4px!important;}html body #dayModal #dayMessagesSection #dayConversationStatus{justify-content:flex-end!important;}html body #dayModal #dayMessagesSection #dayMessagesTitle{font-size:18px!important;}}
html body :is(#dayModal,#newTeacherModal,#newStudentModal,#newSubjectModal,#subjectsManagerModal,#teacherListModal,#editProfilesModal,#reportsModal,#bulk-panel) button[data-save-action="true"][data-save-action="true"]{background:linear-gradient(145deg,#168442,#146c35)!important;background-color:#168442!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #16a34a!important;box-shadow:inset 0 1px 0 #ffffff66,0 4px 0 #0b4724,0 7px 12px #14532d33!important;}
html body[data-page="student"] #dayModal section.student-workspace{display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0!important;}
html body[data-page="student"] #dayModal section.student-workspace>#dayWorksTitle{flex:0 0 auto!important;margin-bottom:10px!important;}
html body[data-page="student"] #dayModal .student-work-content{flex:1 1 0!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;padding:3px 6px 10px 3px;scroll-padding:10px;}
html body[data-page="student"] #dayModal .student-work-content>div+div{margin-top:14px;}
html body[data-page="student"] #dayModal section.student-workspace>.student-inline-work-actions{flex:0 0 auto!important;margin-top:0!important;padding:10px 3px 8px!important;background:#fff;position:relative;z-index:2;}
@media(max-width:1023px){html body[data-page="student"] #dayModal section.student-workspace{height:75dvh!important;min-height:380px!important;max-height:800px!important;flex:0 0 auto!important;}}

