/* Profesores360 v15.1 · paridad visual/funcional WEB + APK */
:root{--p360-red:#b42318;--p360-green:#0b8b61;--p360-navy:#173c60}
.p360-home-secondary,.p360-home-motivation{display:none!important}
.p360-class-card h3,.p360-schedule-subject,.p360-home-next h2{ text-transform:uppercase }
.p360-schedule-load{margin:2px 0 14px;padding:13px 15px;border:1px solid #d7e9df;border-radius:16px;background:#f0f8f4;color:#183b32}
.p360-load-title{font-size:10px;font-weight:950;letter-spacing:.08em;color:#0a7656;margin-bottom:7px}.p360-load-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px 0;border-bottom:1px solid rgba(14,119,85,.09);font-size:12px}.p360-load-row:last-of-type{border-bottom:0}.p360-load-row b{color:#0a7656}.p360-load-total{margin-top:8px;padding-top:7px;border-top:1px solid #cfe5da;font-size:10px;font-weight:950;color:#0a7656}
.p360-schedule-time strong,.p360-schedule-time span{color:var(--p360-red)!important;font-weight:850!important}.p360-schedule-subject{color:#173c60!important;font-size:14px!important}.p360-schedule-subject em{font-style:normal;color:var(--p360-red)!important}.p360-schedule-info .p360-schedule-meta{color:var(--p360-red)!important;font-weight:800!important}
.p360-day-filter button{transition:.16s ease}.p360-day-filter button:hover{transform:translateY(-1px)}
/* Generador semanal */
.p360-schedule-builder-modal{z-index:1600}.p360-schedule-builder-sheet{width:min(1180px,calc(100vw - 28px))!important;height:min(92vh,860px);max-height:94vh!important;display:flex;flex-direction:column;overflow:hidden!important;padding:22px!important}.p360-schedule-builder-sheet>.p360-modal-title{flex:0 0 auto}.p360-schedule-builder-sheet>.p360-modal-title small{display:block;color:var(--p360-red);font-size:10px;font-weight:950;letter-spacing:.1em}.p360-schedule-builder-sheet>.p360-modal-title h2{margin:3px 0 0;color:#173c60}.p360-schedule-config{overflow:auto;padding:2px 4px 12px}.p360-schedule-config-actions,.p360-week-builder-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.p360-schedule-config-actions .p360-primary,.p360-schedule-config-actions .p360-secondary,.p360-week-builder-actions .p360-primary,.p360-week-builder-actions .p360-secondary{width:auto!important;margin:0!important;min-width:130px}.p360-week-builder{min-height:0;flex:1;display:flex;flex-direction:column}.p360-week-builder-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d9e7e1;background:#f7fbf9;border-radius:14px;padding:10px 12px}.p360-week-builder-summary>div{display:grid;gap:2px}.p360-week-builder-summary strong{color:#173c60}.p360-week-builder-summary span{font-size:10px;color:#6f8291}.p360-week-builder-summary b{font-size:10px;color:#0b795a;background:#e9f7f0;padding:8px 10px;border-radius:10px;white-space:nowrap}.p360-builder-info{margin:8px 0;padding:9px 11px;border-radius:12px;background:#f1f6fa;color:#536c7e;font-size:11px}.p360-week-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:8px;overflow:auto;padding-bottom:6px}.p360-week-day{min-width:190px;border:1px solid #dce6eb;border-radius:14px;background:#fff;overflow:hidden;align-self:start}.p360-week-day>h3{margin:0;padding:11px 8px;background:#173c60;color:#fff;text-align:center;font-size:10px;letter-spacing:.08em}.p360-availability{padding:8px 9px;font-size:8.5px;font-weight:900;line-height:1.35}.p360-availability.is-free{background:#edf8f2;color:#0a7656}.p360-availability.is-busy{background:#fff2f0;color:#a42a20}.p360-busy-list{display:grid;border-bottom:1px solid #edf1f3}.p360-busy-list>span{display:grid;padding:6px 8px;font-size:8.5px;color:#5e7280;border-top:1px solid #f1f3f5}.p360-busy-list b{color:#b42318}.p360-busy-list small{margin-top:2px;color:#8b9ba5}.p360-builder-day-items{display:grid;padding:6px;gap:6px}.p360-builder-hour-card{border:1px solid #9bcdb8;border-radius:11px;padding:8px;background:#fff;display:grid;gap:3px}.p360-builder-hour-card>strong{font-size:10.5px;color:#183c5c}.p360-builder-hour-card>span{font-size:9px;color:#0b795a;font-weight:800}.p360-builder-hour-card>div{display:flex;justify-content:space-between;align-items:center;margin-top:3px}.p360-builder-hour-card button{border:0;background:transparent;font-size:8.5px;font-weight:850;color:#0b795a;padding:3px}.p360-builder-hour-card button[data-remove]{font-size:17px;color:#b42318}.p360-add-hour{width:calc(100% - 12px);margin:0 6px 8px;min-height:38px;border:1px dashed #9ebdb0;border-radius:10px;background:#f8fbfa;color:#0b795a;font-size:9px;font-weight:900}
/* Editor de una hora */
.p360-hour-editor-overlay{position:fixed;inset:0;z-index:2500;background:rgba(8,26,31,.56);display:grid;place-items:center;padding:16px}.p360-hour-editor,.p360-att-edit-sheet{position:relative;width:min(440px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 28px 75px rgba(0,0,0,.24)}.p360-hour-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:#f1f4f3;font-size:23px}.p360-hour-editor>small,.p360-att-edit-sheet>small{font-size:9px;letter-spacing:.08em;font-weight:950;color:#0b795a}.p360-hour-editor h3,.p360-att-edit-sheet h3{margin:4px 0 14px;color:#173c60}.p360-hour-editor label{display:grid;gap:6px;margin:10px 0;font-size:10px;font-weight:850;color:#536d80}.p360-hour-editor input,.p360-hour-editor select{width:100%;height:46px;border:1px solid #d7e2e8;border-radius:11px;padding:0 11px;background:#fff}.p360-auto-end,.p360-hour-availability{margin-top:9px;padding:9px 10px;border-radius:10px;font-size:10px}.p360-auto-end{background:#edf8f2;color:#0b795a}.p360-hour-availability.is-ok{background:#edf8f2;color:#0b795a;font-weight:800}.p360-hour-availability.is-error{background:#fff1ef;color:#b42318;font-weight:850}.p360-hour-editor>.p360-primary{width:100%;margin-top:12px;background:#0b8b61;color:#fff}
/* Histórico editable */
.p360-history-row{position:relative}.p360-history-row:not(.p360-history-head){grid-template-columns:100px minmax(150px,1fr) minmax(180px,1.3fr) 120px auto!important}.p360-history-edit{border:1px solid #cbded5;background:#f4faf7;color:#0b795a;border-radius:9px;padding:6px 9px;font-size:9px;font-weight:850}.p360-att-edit-sheet{width:min(680px,100%)}.p360-att-edit-sheet h3 em{font-style:normal;color:#b42318}.p360-att-edit-sheet>p{font-size:10px;color:#687c8c}.p360-att-edit-list{display:grid;gap:6px}.p360-att-edit-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1f3}.p360-att-edit-row>strong{font-size:11px}.p360-att-edit-row>div{display:flex;gap:5px}.p360-att-edit-row button{width:34px;height:32px;border-radius:8px;border:1px solid #d7e1e6;background:#fff;font-weight:900}.p360-att-edit-row .p360-mini-p.is-active{background:#198754;color:#fff;border-color:#198754}.p360-att-edit-row .p360-mini-a.is-active{background:#c0392b;color:#fff;border-color:#c0392b}.p360-att-edit-row .p360-mini-r.is-active{background:#e0a800;color:#fff;border-color:#e0a800}.p360-att-edit-row .p360-mini-j.is-active{background:#2676c8;color:#fff;border-color:#2676c8}.p360-att-edit-sheet>.p360-primary{width:100%;margin-top:14px;background:#0b8b61;color:#fff}
/* Clase + gestión */
.p360-class-management{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e7edef}.p360-class-management button{flex:1;border:1px solid #ead4d1;background:#fff8f7;color:#9f2c23;border-radius:10px;padding:9px;font-size:9px;font-weight:850}.p360-report-button{border-color:#b9d8ca!important;color:#0b795a!important;background:#f2faf6!important}
/* Aviso persistente de clase */
.p360-class-alert{position:fixed;z-index:4000;left:50%;top:14px;transform:translateX(-50%);width:min(720px,calc(100vw - 24px));display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:16px;background:#173c60;color:#fff;box-shadow:0 18px 42px rgba(10,35,55,.3);border:2px solid #3ecf8e}.p360-class-alert>div{display:grid;gap:2px}.p360-class-alert small{font-size:8px;letter-spacing:.08em;color:#93e4bc;font-weight:950}.p360-class-alert strong{font-size:15px}.p360-class-alert strong em{font-style:normal;color:#ffaaa3}.p360-class-alert span{font-size:10px;color:#dce8ef}.p360-class-alert button{border:0;border-radius:10px;background:#fff;color:#173c60;font-weight:900;padding:10px 13px;white-space:nowrap}
/* Más limpio y profesional */
#p360PrintStudents.p360-secondary{margin:0!important;padding:8px 11px!important;font-size:10px}.p360-modal-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.p360-evaluation-intro{line-height:1.5}
@media(max-width:900px){.p360-week-grid{grid-template-columns:repeat(6,205px)}.p360-schedule-builder-sheet{height:94vh}.p360-history-row:not(.p360-history-head){grid-template-columns:90px 1fr!important}.p360-history-row:not(.p360-history-head)>*:nth-child(3),.p360-history-row:not(.p360-history-head)>*:nth-child(4){grid-column:auto}.p360-history-edit{justify-self:end}.p360-class-alert{top:8px;align-items:flex-start}.p360-class-alert button{align-self:center}}
@media(max-width:600px){.p360-schedule-builder-sheet{width:100%!important;height:100svh!important;max-height:100svh!important;border-radius:0!important;padding:15px!important}.p360-schedule-config .p360-form-grid{grid-template-columns:1fr!important}.p360-week-builder-summary{align-items:flex-start;flex-direction:column}.p360-week-grid{grid-template-columns:repeat(6,190px)}.p360-week-builder-actions{display:grid;grid-template-columns:1fr 1.3fr}.p360-week-builder-actions button{width:100%!important}.p360-att-edit-row{grid-template-columns:1fr}.p360-class-alert{flex-direction:column}.p360-class-alert button{width:100%}}
@media print{.p360-schedule-load{display:block!important}.p360-schedule-time strong,.p360-schedule-time span,.p360-schedule-subject em,.p360-schedule-meta{color:#b42318!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.p360-week-builder[hidden],.p360-schedule-config[hidden]{display:none!important}
#p360HomeNextSubject em,.p360-home-day-info strong em{font-style:normal;color:var(--p360-red)!important}.p360-home-day-info strong{text-transform:uppercase}
