.agenda-timetable{--agenda-row-height:44px;--agenda-time-axis-width:68px;--agenda-column-width:272px;--agenda-content-min-width:calc(var(--agenda-time-axis-width) + var(--agenda-columns) * var(--agenda-column-width));--agenda-timeline-top-clearance:0px;--agenda-timeline-label-clearance:calc(var(--agenda-row-height) / 2);--agenda-slot-block-inset:4px;--agenda-slot-inline-inset:7px;border:1px solid var(--color-border);background:#fff;border-radius:18px;min-height:0;display:block;box-shadow:0 10px 28px #34372e0f}.agenda-timetable__scroll{overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;min-height:0;overflow:auto}.agenda-timetable__content{min-width:max(100%, var(--agenda-content-min-width));min-height:100%}.agenda-timetable__header-row,.agenda-timetable__body-grid{min-width:var(--agenda-content-min-width);grid-template-columns:var(--agenda-time-axis-width) repeat(var(--agenda-columns), minmax(var(--agenda-column-width), 1fr));display:grid}.agenda-timetable__header-row{z-index:3;border-bottom:1px solid var(--color-border);position:sticky;top:0;box-shadow:0 7px 14px -10px #34372eb8}.agenda-timetable__corner{min-width:0;color:var(--color-muted);letter-spacing:.04em;text-align:center;text-transform:uppercase;white-space:nowrap;background:#fff;border-right:1px solid #7d817124;place-items:center;padding:12px 4px;font-size:.64rem;font-weight:900;display:grid}.agenda-timetable__header{background:linear-gradient(135deg,#faeef6f5,#fffffffc);border-left:1px solid #7d817124;min-width:0}.agenda-timetable__header h3{color:var(--color-primary);letter-spacing:.04em;text-align:center;text-transform:uppercase;margin:0;padding:18px 14px;font-size:.8rem;font-weight:900}.agenda-classroom__header{box-sizing:border-box;height:72px;padding:7px 9px;position:relative}.agenda-classroom__open{width:100%;min-width:0;color:var(--color-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-rows:30px 22px;gap:5px;padding:1px;display:grid}.agenda-classroom__open:hover{background:#ffffffa8}.agenda-classroom__open:hover .agenda-classroom__name{color:var(--color-button)}.agenda-classroom__open:focus-visible{outline-offset:2px;outline:3px solid #c96ba966}.agenda-classroom__summary{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.agenda-classroom__icon{object-fit:cover;background:#fff;border-radius:8px;width:28px;height:28px;box-shadow:0 0 0 1px #34372e1a}.agenda-classroom__icon--placeholder{color:#fff;background:var(--color-primary);place-items:center;font-size:.82rem;font-weight:900;display:grid}.agenda-classroom__name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;font-size:.82rem;font-weight:900;overflow:hidden}.agenda-classroom__occupancy{color:var(--color-primary);white-space:nowrap;background:#7d81711a;border:1px solid #7d817129;border-radius:999px;align-self:center;padding:3px 6px;font-size:.63rem;font-weight:900;line-height:1.1}.agenda-classroom__responsibles{align-items:center;min-width:0;display:flex;overflow:hidden}.agenda-classroom__responsibles-list{align-items:center;gap:5px;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.agenda-responsible{min-width:0;color:var(--color-text);white-space:nowrap;align-items:center;gap:4px;font-size:.64rem;font-weight:800;line-height:22px;display:inline-flex}.agenda-responsible--more{color:var(--color-primary);background:#ffffffc2;border:1px solid #7d817133;border-radius:999px;flex:none;padding:0 6px;font-size:.61rem;font-weight:900}.agenda-responsible__avatar{object-fit:cover;background:#fff;border-radius:50%;flex:0 0 19px;width:19px;height:19px;box-shadow:0 0 0 1px #7d817133}.agenda-responsible__avatar--fallback{color:#fff;background:var(--color-primary);place-items:center;font-size:.52rem;font-weight:900;display:grid}.agenda-responsible__retry{z-index:1;width:19px;height:19px;color:var(--color-primary);cursor:pointer;background:#fff;border:1px solid #7d81714d;border-radius:50%;place-items:center;padding:0;font-size:.8rem;font-weight:900;line-height:1;display:grid;position:absolute;bottom:9px;right:9px}.agenda-responsible__retry:hover{color:#fff;background:var(--color-primary)}.agenda-responsible__retry:focus-visible{outline-offset:2px;outline:2px solid #c96ba98c}.agenda-responsible__name{text-overflow:ellipsis;overflow:hidden}.agenda-classroom__no-responsibles{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;font-style:italic;font-weight:700;line-height:22px;overflow:hidden}.agenda-timetable__body-grid{min-height:calc(var(--agenda-rows) * var(--agenda-row-height) + var(--agenda-timeline-label-clearance));grid-template-rows:var(--agenda-timeline-top-clearance) calc(var(--agenda-rows) * var(--agenda-row-height)) var(--agenda-timeline-label-clearance);position:relative}.agenda-timetable__time-axis{background:#fff;border-right:1px solid #7d817124;grid-row:1/4;position:relative}.agenda-timetable__time-axis span{top:calc(var(--agenda-timeline-top-clearance) + var(--agenda-time-offset) * var(--agenda-row-height));width:100%;color:var(--color-muted);text-align:center;white-space:nowrap;font-size:.64rem;font-weight:850;line-height:1;position:absolute;left:0;transform:translateY(-50%)}.agenda-timetable__time-axis span:first-child{transform:translateY(4px)}.agenda-timetable__column{background-color:#faeef629;background-image:repeating-linear-gradient(to bottom, #7d81713b 0 1px, transparent 1px calc(var(--agenda-row-height) * 4)), repeating-linear-gradient(to bottom, transparent 0 calc(var(--agenda-row-height) * 2 - 1px), #7d817124 calc(var(--agenda-row-height) * 2 - 1px) calc(var(--agenda-row-height) * 2)), repeating-linear-gradient(to bottom, transparent 0 calc(var(--agenda-row-height) - 1px), #7d817114 calc(var(--agenda-row-height) - 1px) var(--agenda-row-height));border-bottom:1px solid #7d817121;border-left:1px solid #7d81711a;grid-row:2;min-width:0;overflow:clip}.agenda-timetable__lane-track{width:100%;height:100%;position:relative;overflow:clip}.agenda-timetable__empty{color:var(--color-muted);opacity:.7;pointer-events:none;margin:0;font-size:.72rem;font-style:italic;position:absolute;top:8px;left:10px}.agenda-timetable__overlay{z-index:2;grid-template-columns:var(--agenda-time-axis-width) repeat(var(--agenda-columns), minmax(var(--agenda-column-width), 1fr));grid-template-rows:var(--agenda-timeline-top-clearance) calc(var(--agenda-rows) * var(--agenda-row-height)) var(--agenda-timeline-label-clearance);pointer-events:none;min-width:0;display:grid;position:absolute;inset:0}.agenda-timetable__current-time{grid-column:var(--agenda-current-time-column-start) / var(--agenda-current-time-column-end);grid-row:2;align-self:stretch;min-width:0;position:relative}.agenda-timetable__current-time:before{top:calc(var(--agenda-current-time-offset) * var(--agenda-row-height));content:"";background:#d74444;height:2px;position:absolute;left:0;right:0;box-shadow:0 0 0 1px #d744441f}.agenda-timetable__current-time span{top:calc(var(--agenda-current-time-offset) * var(--agenda-row-height));color:#fff;white-space:nowrap;background:#d74444;border-radius:3px;padding:2px 3px;font-size:.58rem;font-weight:900;line-height:1;position:absolute;left:4px;transform:translateY(-50%)}.agenda-timetable__current-time-status{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.agenda-slot{top:calc(var(--agenda-slot-offset) * var(--agenda-row-height));left:var(--agenda-slot-lane-start);width:var(--agenda-slot-lane-width);height:calc(var(--agenda-slot-span) * var(--agenda-row-height));z-index:1;box-sizing:border-box;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block;position:absolute;overflow:hidden}.agenda-slot__surface{top:var(--agenda-slot-block-inset);left:var(--agenda-slot-inline-inset);right:var(--agenda-slot-inline-inset);z-index:2;box-sizing:border-box;min-width:0;height:calc(100% - var(--agenda-slot-block-inset) * 2);border:1px solid color-mix(in srgb, var(--agenda-slot-color,#7d8171) 38%, white);border-left:4px solid var(--agenda-slot-color,#7d817138);color:inherit;background:linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--agenda-slot-color,#f7f8f4) 10%, white) 100%);border-radius:12px;align-content:start;gap:3px;padding:6px 8px 5px 10px;transition:transform .15s,box-shadow .15s,border-color .15s,background-color .15s;display:grid;position:absolute;overflow:hidden;box-shadow:0 4px 12px #34372e14,0 1px 3px #34372e0d}.agenda-slot:hover{z-index:2}.agenda-slot:hover .agenda-slot__surface{background:linear-gradient(#fff 0%,#faeef652 100%);border-color:#c96ba980;transform:translateY(-1px);box-shadow:0 8px 18px #34372e21,0 2px 5px #c96ba91a}.agenda-slot:active .agenda-slot__surface{transform:translateY(0);box-shadow:0 2px 6px #34372e21}.agenda-slot:focus-visible{z-index:3;outline:none}.agenda-slot:focus-visible .agenda-slot__surface{border-color:var(--color-button);outline-offset:2px;outline:3px solid #c96ba980;box-shadow:0 8px 18px #34372e29}.agenda-slot__time{color:var(--color-primary);letter-spacing:.01em;white-space:nowrap;background:#7d81711c;border:1px solid #7d81711f;border-radius:999px;justify-self:start;padding:2px 5px;font-size:.59rem;font-weight:900;line-height:1}.agenda-slot__title{color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;font-weight:900;line-height:1.18;display:-webkit-box;overflow:hidden}.agenda-slot__educator{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;font-weight:750;line-height:1.1;overflow:hidden}.agenda-slot--short .agenda-slot__surface{gap:2px;padding-block:4px}.agenda-slot--short .agenda-slot__educator{display:none}.agenda-slot--compact .agenda-slot__surface{grid-template-columns:minmax(0,1fr);align-content:start;gap:1px;padding:2px 5px 3px 6px}.agenda-slot--compact .agenda-slot__time{padding:2px 4px;font-size:.53rem}.agenda-slot--compact .agenda-slot__title{-webkit-line-clamp:1;font-size:.66rem;line-height:1.1}.agenda-slot--compact .agenda-slot__educator{display:none}.agenda-slot--micro .agenda-slot__surface{border:0;border-left:3px solid var(--agenda-slot-color,var(--color-button));background:color-mix(in srgb, var(--agenda-slot-color,var(--color-button)) 28%, transparent);height:100%;box-shadow:none;border-radius:0;padding:0;top:0}.agenda-slot--micro .agenda-slot__compact-indicator{background:var(--agenda-slot-color,var(--color-button));width:100%;height:100%;min-height:1px;display:block}.agenda-timetable-empty{min-height:220px;color:var(--color-muted);text-align:center;background:linear-gradient(135deg,#faeef694,#fffffff0);border:1px dashed #7d81714d;border-radius:18px;place-content:center;padding:30px;display:grid}.agenda-timetable-empty strong{color:var(--color-primary);font-size:1.1rem;font-weight:900}.agenda-timetable-empty p{margin:7px 0 0;font-size:.86rem;font-weight:700}@media (width<=640px){.agenda-timetable{--agenda-row-height:40px;--agenda-column-width:230px;--agenda-time-axis-width:62px!important}}.activity-detail-modal{z-index:40;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.activity-detail-modal__overlay{cursor:default;background:#1f231b8f;border:0;padding:0;position:absolute;inset:0}.activity-detail-modal__card{background:#fff;border:1px solid #7d81713d;border-radius:24px;grid-template-rows:auto minmax(0,1fr);width:min(1800px,100vw - 32px);height:min(1100px,100vh - 32px);max-height:calc(100vh - 32px);display:grid;position:relative;overflow:hidden;box-shadow:0 32px 84px #14171152}.activity-detail-modal__header{background:linear-gradient(120deg,#faeef6,#fff 58%);border-bottom:1px solid #7d81712e;justify-content:space-between;align-items:start;gap:20px;padding:28px 34px 22px;display:flex}.activity-detail-modal__eyebrow{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:.7rem;font-weight:900}.activity-detail-modal__header h2{color:var(--color-primary);margin:0;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.08}.activity-detail-modal__close,.activity-detail-picker-close,.activity-detail-remove-icon{width:38px;height:38px;color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #7d817140;border-radius:50%;flex:none;place-items:center;font-size:1.55rem;line-height:1;display:grid}.activity-detail-modal__body{padding:26px 34px 36px;overflow-y:auto}.activity-detail-summary{grid-template-columns:minmax(300px,402px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.activity-detail-metadata-group{min-width:0}.activity-detail-metadata-group h3{min-height:36px;color:var(--color-primary);align-items:center;margin:0 0 10px;font-size:1.12rem;font-weight:900;display:flex}.activity-detail-metadata{grid-template-columns:minmax(130px,180px) minmax(160px,210px);gap:12px;margin:0;display:grid}.activity-detail-metadata div{background:#fff;border:1px solid #7d817129;border-radius:14px;min-width:0;padding:14px}.activity-detail-metadata dt{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:.68rem;font-weight:900}.activity-detail-metadata dd{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;font-weight:800;overflow:hidden}.activity-detail-section{margin-top:30px;position:relative}.activity-detail-summary .activity-detail-responsible-management{grid-column:2;min-width:0;margin-top:0}.activity-detail-responsible-management__layout{grid-template-columns:minmax(0,1fr) minmax(250px,.82fr);align-items:start;gap:12px;display:grid}.activity-detail-responsible-management__team{min-width:0}.activity-detail-responsible-management .activity-detail-employee-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin-top:8px}.activity-detail-responsible-management .activity-detail-employee-card{border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:8px}.activity-detail-responsible-management .activity-detail-employee-card .activity-detail-avatar{width:38px;height:38px}.activity-detail-classroom-presence{background:#f8fcfa;border:1px solid #34735e3d;border-radius:14px;min-width:0;padding:11px}.activity-detail-classroom-presence--unavailable{background:#f7f7f4;border-color:#7d81713d}.activity-detail-classroom-presence__heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.activity-detail-classroom-presence__heading h4{color:var(--color-primary);margin:0;font-size:.86rem;font-weight:900}.activity-detail-classroom-presence__heading p{color:var(--color-muted);margin:3px 0 0;font-size:.68rem;font-weight:700}.activity-detail-classroom-presence__heading>span{color:#2c664f;text-transform:uppercase;background:#e4f3eb;border-radius:999px;flex:none;padding:4px 7px;font-size:.6rem;font-weight:900}.activity-detail-classroom-presence--unavailable .activity-detail-classroom-presence__heading>span{color:var(--color-muted);background:#7d817121}.activity-detail-classroom-presence__counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:9px 0 0;padding:0;list-style:none;display:grid}.activity-detail-classroom-presence__counter{background:#fff;border:1px solid #7d817124;border-radius:10px;gap:4px;min-width:0;padding:7px;display:grid}.activity-detail-classroom-presence__counter span{color:var(--color-muted);text-overflow:ellipsis;font-size:.6rem;font-weight:850;line-height:1.2;overflow:hidden}.activity-detail-classroom-presence__counter strong{color:var(--color-primary);font-size:1.15rem;line-height:1}.activity-detail-classroom-presence__counter--inside strong{color:#34735e}.activity-detail-classroom-presence__counter--expected_delay strong{color:#a26d20}.activity-detail-classroom-presence__counter--outside strong{color:#a83f3f}.activity-detail-classroom-presence__counter--unclassified{background:#fafaf8;border-color:#7d817147}.activity-detail-classroom-presence__empty{color:var(--color-muted);margin:10px 0 0;font-size:.72rem;font-weight:700;line-height:1.35}.activity-detail-section__heading,.activity-detail-panel-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.activity-detail-section h3{color:var(--color-primary);margin:0;font-size:1.12rem}.activity-detail-section__heading p{color:var(--color-muted);margin:5px 0 0;font-size:.8rem}.activity-detail-section__heading>span,.activity-detail-section__actions>span,.activity-detail-panel-heading>span{min-width:30px;height:30px;color:var(--color-primary);background:#7d817121;border-radius:999px;place-items:center;padding:0 8px;font-size:.76rem;font-weight:900;display:grid}.activity-detail-section__actions{align-items:center;gap:9px;display:flex}.activity-detail-add{color:#fff;background:var(--color-button);width:36px;height:36px;font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:1.45rem;line-height:1;display:grid;box-shadow:0 5px 12px #c96ba947}.activity-detail-bulk-action{color:#9a3d70;min-height:34px;font:inherit;cursor:pointer;background:#fff7fb;border:1px solid #c96ba961;border-radius:10px;padding:7px 10px;font-size:.72rem;font-weight:900}.activity-detail-dining-action{color:#72531d;min-height:34px;font:inherit;cursor:pointer;white-space:nowrap;background:#fffaf0;border:1px solid #8c672c7a;border-radius:10px;align-items:center;gap:6px;padding:7px 10px;font-size:.72rem;font-weight:900;display:inline-flex}.activity-detail-dining-action:hover:not(:disabled){background:#fff0c9}.activity-detail-dining-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:15px;height:15px}.activity-detail-bulk-action:hover:not(:disabled){border-color:var(--color-button);background:#faeef6}.activity-detail-bulk-action:focus-visible{outline-offset:2px;outline:3px solid #c96ba970}.activity-detail-bulk-action:disabled{cursor:not-allowed;opacity:.55}.activity-detail-employee-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px;margin:10px 0 0;padding:0;list-style:none;display:grid}.activity-detail-employee-card{background:linear-gradient(135deg,#fff,#fcf8fb);border:1px solid #7d81712b;border-radius:15px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:11px;display:grid}.activity-detail-employee-card>div,.activity-detail-employee-picker-list li>div,.activity-detail-student-row>div{gap:3px;min-width:0;display:grid}.activity-detail-employee-card strong,.activity-detail-employee-picker-list strong,.activity-detail-student-row strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.activity-detail-employee-card span,.activity-detail-employee-picker-list span,.activity-detail-student-row span:not(.activity-detail-avatar){color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;overflow:hidden}.activity-detail-employee-card small{color:#9e3030;font-size:.68rem;font-weight:800}.activity-detail-remove-icon{color:#a22d2d;width:29px;height:29px;font-size:1.18rem}.activity-detail-avatar{color:#fff;background:linear-gradient(135deg,#7d8171,#a8ac9d);border-radius:50%;place-items:center;width:46px;height:46px;font-size:.75rem;font-weight:900;display:grid;overflow:hidden}.activity-detail-avatar img{object-fit:cover;width:100%;height:100%}.activity-detail-picker-close{width:34px;height:34px;font-size:1.2rem}.activity-detail-search{color:var(--color-muted);gap:6px;margin-top:13px;font-size:.72rem;font-weight:800;display:grid}.activity-detail-search input{width:100%;color:var(--color-text);font:inherit;border:1px solid #7d817147;border-radius:9px;padding:9px 10px}.activity-detail-employee-picker-list,.activity-detail-student-picker-list,.activity-detail-students{gap:8px;margin:13px 0 0;padding:0;list-style:none;display:grid}.activity-detail-employee-picker-list li,.activity-detail-student-picker-list li,.activity-detail-student-row{border:1px solid #7d817124;border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.activity-detail-employee-picker-list .activity-detail-avatar,.activity-detail-student-picker-list .activity-detail-avatar,.activity-detail-student-row .activity-detail-avatar{width:42px;height:42px}.activity-detail-employee-picker-list button,.activity-detail-student-picker-list button,.activity-detail-student-row button{color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #7d817147;border-radius:8px;padding:7px 9px;font-size:.72rem;font-weight:850}.activity-detail-student-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff}.activity-detail-student-row:hover{background:#fdf8fb;border-color:#c96ba98c}.activity-detail-student-row--absent{background:#fff5f5;border-color:#c85a5a}.activity-detail-student-row--absent:hover{background:#ffeded;border-color:#a83f3f}.activity-detail-student-row--inside{background:#f6fbf8;border-color:#34735e47}.activity-detail-student-row--outside{background:#fff9f9;border-color:#a83f3f42}.activity-detail-student-row--unknown{background:#fff}.activity-detail-student-row__presence{color:#34735e!important;font-size:.7rem!important;font-weight:850!important}.activity-detail-student-row--outside .activity-detail-student-row__presence{color:#a83f3f!important}.activity-detail-student-row--unknown .activity-detail-student-row__presence{color:var(--color-muted)!important}.activity-detail-student-row>b{color:var(--color-primary);font-size:1.45rem}.activity-detail-student-row__actions{align-items:center;gap:8px;display:flex}.activity-detail-student-row__incident{color:#77541f;background:#fff6de;border:1px solid #d2a354;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:.72rem;font-weight:900;line-height:1;display:grid;overflow:visible}.activity-detail-student-row__absence{color:#a83f3f;background:#ffe2e2;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.activity-detail-student-row__absence .incident-action-icon{width:16px;height:16px}.activity-detail-student-row__incident i{font-style:normal}.activity-detail-student-row:hover .activity-detail-student-row__incident{background:#fff0c9;border-color:#b9822d}.activity-detail-student-management__columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;height:clamp(420px,60vh,720px);min-height:0;margin-top:14px;display:grid}.activity-detail-student-panel,.activity-detail-incident-panel{border:1px solid #7d817129;border-radius:16px;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:15px;display:grid;overflow:hidden}.activity-detail-student-panel{grid-column:1}.activity-detail-panel-heading h4{color:var(--color-primary);margin:0;font-size:.9rem}.activity-detail-empty{color:var(--color-muted);margin:13px 0 0;font-size:.82rem}.activity-detail-students-scroll,.activity-detail-incidents-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow-y:auto}.activity-detail-students-scroll:focus-visible,.activity-detail-incidents-scroll:focus-visible{outline-offset:3px;outline:3px solid #c96ba9b3}.activity-detail-incidents{gap:8px;margin:13px 0 0;padding:0;list-style:none;display:grid}.activity-detail-incident-card{background:linear-gradient(135deg,#fff,#fdf8fb);border:1px solid #c96ba938;border-radius:13px;grid-template-columns:42px minmax(0,1fr);gap:10px;min-width:0;padding:10px;display:grid}.activity-detail-incident-card .activity-detail-avatar{width:42px;height:42px}.activity-detail-incident-card__content{gap:5px;min-width:0;display:grid}.activity-detail-incident-card__identity{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.activity-detail-incident-card__identity strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.activity-detail-incident-card__type{color:#9a3d70;flex:none;font-size:.68rem;font-weight:900}.activity-detail-incident-card__scope{width:fit-content;color:var(--color-primary);background:#7d81711f;border-radius:999px;padding:3px 7px;font-size:.66rem;font-weight:850}.activity-detail-incident-card p{color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.76rem;line-height:1.35;display:-webkit-box;overflow:hidden}.activity-detail-incident-card time{color:var(--color-muted);font-size:.68rem;font-weight:700}.activity-detail-error{color:#8d2828;background:#fff6f6;border:1px solid #a22d2d47;border-radius:10px;margin:12px 0;padding:10px}.dining-preparation-modal{z-index:75;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dining-preparation-modal__overlay{background:#11130f94;position:absolute;inset:0}.dining-preparation-modal__card{background:#fff;border:1px solid #c48b3e6b;border-radius:18px;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);max-height:calc(100dvh - 40px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #0f120c73}.dining-preparation-modal__header{background:#fffdf8;border-bottom:1px solid #c48b3e38;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 20px;display:grid}.dining-preparation-modal__header p{color:#8c672c;letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:.68rem;font-weight:900}.dining-preparation-modal__header h2,.dining-preparation-modal__body h3{color:var(--color-primary);margin:0}.dining-preparation-modal__body{overscroll-behavior:contain;align-content:start;gap:16px;min-height:0;padding:16px 20px 20px;display:grid;overflow-y:auto}.dining-preparation-modal__workspace{grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);align-items:start;gap:18px;display:grid}.dining-preparation-modal__section-heading,.dining-preparation-modal__attention-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.dining-preparation-modal__section-heading p,.dining-preparation-modal__attention-heading p{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 3px;font-size:.64rem;font-weight:900}.dining-preparation-modal__menu-tiles{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.dining-preparation-modal__menu-tiles>li{border:1px solid color-mix(in srgb, var(--menu-color,#8c672c) 42%, #fff);border-top:5px solid var(--menu-color,#8c672c);background:linear-gradient(180deg, color-mix(in srgb, var(--menu-color,#8c672c) 9%, #fff), #fff 52%);border-radius:10px;align-content:start;gap:12px;min-width:0;padding:12px;display:grid}.dining-preparation-modal__menu-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.dining-preparation-modal__menu-heading>div{gap:3px;min-width:0;display:grid}.dining-preparation-modal__menu-heading strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.dining-preparation-modal__menu-heading small{color:var(--color-muted);font-size:.7rem;font-weight:700}.dining-preparation-modal__menu-heading>span{color:#fff;background:var(--menu-color,#8c672c);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.8rem;font-weight:900;display:grid}.dining-preparation-modal__menu-tiles>li>button,.dining-preparation-modal__drill-controls button{min-height:36px;color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #7d81714d;border-radius:9px;padding:7px 10px;font-size:.74rem;font-weight:900}.dining-preparation-modal__avatar-stack{min-height:30px;padding-left:3px;display:flex}.dining-preparation-modal__avatar-stack .activity-detail-avatar{border:2px solid #fff;width:30px;height:30px;margin-left:-5px;font-size:.58rem}.dining-preparation-modal__student{align-items:center;gap:8px;min-width:0;display:flex}.dining-preparation-modal__student .activity-detail-avatar{flex:none;width:32px;height:32px;font-size:.62rem}.dining-preparation-modal__student strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.dining-preparation-modal__operational-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.dining-preparation-modal__operational-summary>div{background:#fbfcf9;border:1px solid #7d81712e;border-radius:10px;gap:3px;padding:10px 12px;display:grid}.dining-preparation-modal__operational-summary span{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.64rem;font-weight:900}.dining-preparation-modal__operational-summary strong{color:var(--color-primary);font-size:1.15rem}.dining-preparation-modal__attention-heading>strong{color:#fff;background:#a83f3f;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.72rem;display:grid}.dining-preparation-modal__error{color:#8d2828;margin:0;font-size:.76rem;font-weight:800}.dining-preparation-modal__alerts{border-left:1px solid #7d81712e;gap:8px;padding-left:18px;display:grid}.dining-preparation-modal__attention-item{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #a83f3f3d;border-left:4px solid #a83f3f;border-radius:9px;gap:3px;padding:9px 10px;display:grid}.dining-preparation-modal__attention-item+.dining-preparation-modal__attention-item{margin-top:7px}.dining-preparation-modal__attention-item span{color:#8d2828;letter-spacing:.05em;text-transform:uppercase;font-size:.62rem;font-weight:900}.dining-preparation-modal__attention-item strong{font-size:.77rem}.dining-preparation-modal__attention-item small,.dining-preparation-modal__clear{color:var(--color-muted);font-size:.7rem;font-weight:700}.dining-preparation-modal__attention-item--missing{border-color:#c48b3e59 #c48b3e59 #c48b3e59 #c48b3e}.dining-preparation-modal__attention-item--missing span{color:#72531d}.dining-preparation-modal__restriction,.dining-preparation-modal__exception{color:var(--color-text);border-left:3px solid #c74949;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px;padding-left:7px;font-size:.72rem;font-weight:720;line-height:1.35;display:grid}.dining-preparation-modal__restriction b,.dining-preparation-modal__exception b{color:#8d2828;letter-spacing:.04em;text-transform:uppercase;font-size:.62rem}.dining-preparation-modal__exception{color:#72531d;border-color:#8c672c}.dining-preparation-modal__exception b{color:#72531d}.dining-preparation-modal__drill-down{gap:12px;min-height:0;display:grid}.dining-preparation-modal__drill-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.dining-preparation-modal__drill-heading h3{margin-top:5px}.dining-preparation-modal__drill-heading p{color:var(--color-muted);margin:5px 0 0;font-size:.76rem;font-weight:700}.dining-preparation-modal__back{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.72rem;font-weight:900}.dining-preparation-modal__select-all{color:var(--color-text);flex:none;align-items:center;gap:7px;font-size:.75rem;font-weight:800;display:flex}.dining-preparation-modal__drill-controls{grid-template-columns:minmax(0,1fr) minmax(190px,.5fr) auto;gap:9px;display:grid}.dining-preparation-modal__drill-controls input,.dining-preparation-modal__drill-controls select{min-height:38px;font:inherit;border:1px solid #7d81714d;border-radius:9px;padding:8px 10px}.dining-preparation-modal__drill-controls button{border-color:var(--color-button);color:#fff;background:var(--color-button)}.dining-preparation-modal__drill-list{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:7px;max-height:min(480px,55vh);padding:2px;display:grid;overflow-y:auto}.dining-preparation-modal__drill-student{background:#fff;border:1px solid #7d817129;border-radius:9px;grid-template-columns:auto minmax(170px,.7fr) minmax(0,1fr);align-items:center;gap:10px;min-height:52px;padding:7px 9px;display:grid}.dining-preparation-modal__drill-student>div:last-child{gap:4px;display:grid}.dining-preparation-modal__student-menu{color:#72531d;font-size:.72rem;font-weight:800}.dining-preparation-modal__bounded-results{color:var(--color-muted);margin:4px 0;font-size:.75rem;font-weight:800}.dining-preparation-modal button:focus-visible,.dining-preparation-modal select:focus-visible{outline-offset:2px;outline:3px solid #c96ba970}@media (width<=720px){.dining-preparation-modal{padding:10px}.dining-preparation-modal__card{max-height:calc(100dvh - 20px)}.dining-preparation-modal__body{padding:14px}.dining-preparation-modal__workspace,.dining-preparation-modal__drill-controls{grid-template-columns:1fr}}.activity-detail-modal button:disabled,.activity-detail-modal input:disabled{cursor:default;opacity:.55}.activity-detail-modal button:focus-visible,.activity-detail-modal input:focus-visible{outline-offset:2px;outline:3px solid #c96ba970}.activity-detail-incident-student{background:#fff;border:1px solid #7d817129;border-radius:13px;gap:8px;padding:10px;display:grid}.activity-detail-incident-student__identity{align-items:center;gap:9px;min-width:0;display:flex}.activity-detail-incident-student__identity .activity-detail-avatar{flex:none;width:34px;height:34px}.activity-detail-incident-student__identity strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.activity-detail-incident-student>ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.activity-detail-incident-card{grid-template-columns:minmax(0,1fr)}.activity-detail-incident-card__source{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:2px 0 0;display:grid}.activity-detail-incident-card__source div{min-width:0}.activity-detail-incident-card__source dt{color:var(--color-muted);text-transform:uppercase;font-size:.61rem;font-weight:850}.activity-detail-incident-card__source dd{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:.68rem;font-weight:750;overflow:hidden}.activity-employee-picker-modal{z-index:60;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.activity-employee-picker-modal__overlay{background:#11130f6b;position:absolute;inset:0}.activity-employee-picker-modal__card{background:#fff;border:1px solid #7d817147;border-radius:22px;grid-template-rows:auto minmax(0,1fr) auto;width:min(640px,100%);max-height:min(720px,100vh - 40px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #0f120c6b}.activity-employee-picker-modal__header{background:linear-gradient(120deg,#faeef6,#fff 70%);border-bottom:1px solid #7d81712e;justify-content:space-between;align-items:start;gap:18px;padding:24px 26px 18px;display:flex}.activity-employee-picker-modal__header p{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:.68rem;font-weight:900}.activity-employee-picker-modal__header h2{color:var(--color-primary);margin:0;font-size:1.45rem}.activity-employee-picker-modal__header span{color:var(--color-muted);font-size:.75rem}.activity-employee-picker-modal__body{min-height:0;padding:18px 26px;overflow-y:auto}.activity-employee-picker-modal__footer{border-top:1px solid #7d817129;justify-content:end;padding:14px 26px;display:flex}.activity-employee-picker-modal__footer button{color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #7d817147;border-radius:9px;padding:8px 13px;font-weight:800}.activity-employee-picker-modal button:focus-visible,.activity-employee-picker-modal input:focus-visible{outline-offset:2px;outline:3px solid #c96ba970}.activity-employee-picker-modal,.activity-student-picker-modal{z-index:60;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.activity-employee-picker-modal__overlay,.activity-student-picker-modal__overlay{background:#11130f6b;position:absolute;inset:0}.activity-employee-picker-modal__card,.activity-student-picker-modal__card{background:#fff;border:1px solid #7d817147;border-radius:22px;grid-template-rows:auto minmax(0,1fr) auto;width:min(640px,100%);max-height:min(720px,100vh - 40px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #0f120c6b}.activity-employee-picker-modal__header,.activity-student-picker-modal__header{background:linear-gradient(120deg,#faeef6,#fff 70%);border-bottom:1px solid #7d81712e;justify-content:space-between;align-items:start;gap:18px;padding:24px 26px 18px;display:flex}.activity-employee-picker-modal__header p,.activity-student-picker-modal__header p{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:.68rem;font-weight:900}.activity-employee-picker-modal__header h2,.activity-student-picker-modal__header h2{color:var(--color-primary);margin:0;font-size:1.45rem}.activity-employee-picker-modal__header span,.activity-student-picker-modal__header span{color:var(--color-muted);font-size:.75rem}.activity-employee-picker-modal__body,.activity-student-picker-modal__body{min-height:0;padding:18px 26px;overflow-y:auto}.activity-employee-picker-modal__footer,.activity-student-picker-modal__footer{border-top:1px solid #7d817129;justify-content:end;padding:14px 26px;display:flex}.activity-employee-picker-modal__footer button,.activity-student-picker-modal__footer button{color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #7d817147;border-radius:9px;padding:8px 13px;font-weight:800}.activity-employee-picker-modal button:focus-visible,.activity-employee-picker-modal input:focus-visible,.activity-student-picker-modal button:focus-visible,.activity-student-picker-modal input:focus-visible{outline-offset:2px;outline:3px solid #c96ba970}.student-action-modal{z-index:70;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.student-action-modal__overlay{background:#11130f85;position:absolute;inset:0}.student-action-modal__card{background:#fff;border:1px solid #7d81714d;border-radius:22px;width:min(560px,100%);position:relative;overflow:hidden;box-shadow:0 30px 80px #0f120c73}.student-action-workspace{grid-template-rows:auto minmax(0,1fr);width:min(1500px,100vw - 32px);height:min(980px,100vh - 32px);display:grid}.student-action-workspace__columns{grid-template-columns:minmax(420px,.9fr) minmax(440px,1.1fr);min-height:0;display:grid}.student-action-workspace__left,.student-action-workspace__right{overscroll-behavior:contain;min-width:0;min-height:0;padding:24px;overflow-y:auto}.student-action-workspace__left{border-right:1px solid #7d817129}.student-action-workspace__right{background:#fdfbfc;grid-template-rows:auto minmax(0,1fr);gap:14px;display:grid}.student-action-workspace__right--chat{padding:0;display:block;overflow:hidden}.student-action-workspace__right--chat .communication-detail{height:100%}.student-action-workspace__right--chat .communication-back{display:grid}.student-action-workspace__right h3,.student-action-workspace__achievements h3{color:var(--color-primary);margin:0}.student-action-workspace__form{border:1px solid #7d817133;border-radius:16px;margin-top:14px;padding:16px}.student-action-workspace__incidents{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow-y:auto}.student-action-workspace__incidents ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.student-action-workspace__achievements{border-top:1px solid #7d817129;grid-template-rows:auto minmax(0,1fr);gap:10px;max-height:360px;margin-top:22px;padding-top:18px;display:grid}.student-action-workspace__achievements>div{justify-content:space-between;align-items:center;display:flex}.student-action-workspace__achievements button{color:#fff;background:var(--color-button);cursor:pointer;border:0;border-radius:50%;width:34px;height:34px;font-size:1.3rem}.student-action-achievements__grid{overscroll-behavior:contain;scrollbar-gutter:stable;grid-template-columns:repeat(auto-fill,132px);align-content:start;gap:12px;min-height:0;margin:0;padding:2px;list-style:none;display:grid;overflow-y:auto}.student-action-achievement-card{grid-template-rows:76px minmax(0,1fr);place-items:center;display:grid;overflow:hidden;box-shadow:0 3px 10px #1f251a0f;width:132px!important;height:132px!important;color:var(--color-text)!important;background:#fff!important;border:1px solid #7d817133!important;border-radius:16px!important;padding:10px!important}.student-action-achievement-card:hover{box-shadow:0 7px 16px #c96ba924;border-color:#c96ba999!important}.student-action-achievement-card__icon{background:#faeef6;border-radius:14px;place-items:center;width:68px;height:68px;display:grid}.achievement-visual__image{object-fit:contain;width:56px;height:56px}.achievement-visual__fallback{color:#7d8171;background:#7d817121;border-radius:12px;place-items:center;width:56px;height:56px;font-size:1.7rem;display:grid}.student-action-achievement-card__name{width:100%;color:var(--color-primary);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;font-weight:800;line-height:1.22;display:-webkit-box;overflow:hidden}.achievement-detail-modal{z-index:100;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.achievement-detail-modal__overlay{background:#11130f94;position:absolute;inset:0}.achievement-detail-modal__card{background:#fff;border:1px solid #7d81714d;border-radius:22px;grid-template-rows:auto minmax(0,1fr);width:min(420px,100%);max-height:calc(100vh - 40px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #0f120c73}.achievement-detail-modal__card header{background:linear-gradient(120deg,#faeef6,#fff 70%);grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px;padding:22px;display:grid}.achievement-detail-modal__card header .achievement-visual__image,.achievement-detail-modal__card header .achievement-visual__fallback{width:68px;height:68px}.achievement-detail-modal__card header p{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.68rem;font-weight:900}.achievement-detail-modal__card h2{color:var(--color-primary);margin:0;font-size:1.25rem}.achievement-detail-modal__card header button{color:#fff;background:var(--color-button);cursor:pointer;border:0;border-radius:50%;width:34px;height:34px;font-size:1.3rem}.achievement-detail-modal__body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.achievement-detail-modal__card dl{gap:14px;margin:0;padding:22px;display:grid}.achievement-detail-modal__card dl div{border-bottom:1px solid #7d817124;gap:3px;padding-bottom:12px;display:grid}.achievement-detail-modal__card dl div:last-child{border-bottom:0;padding-bottom:0}.achievement-detail-modal__card dt{color:var(--color-muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.achievement-detail-modal__card dd{color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.achievement-assignment-modal{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.achievement-assignment-modal__overlay{background:#11130f94;position:absolute;inset:0}.achievement-assignment-modal__card{width:min(760px,100%);max-height:calc(100vh - 40px);position:relative;overflow-y:auto}.bulk-incident-modal{z-index:75;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.bulk-incident-modal__overlay{background:#11130f94;position:absolute;inset:0}.bulk-incident-modal__card{background:#fff;border:1px solid #7d81714d;border-radius:24px;grid-template-rows:auto minmax(0,1fr) auto;width:min(90vw,1500px);height:min(880px,100dvh - 48px);max-height:calc(100dvh - 48px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #0f120c73}@media (width>=681px){.bulk-incident-modal{padding:14px}.bulk-incident-modal__card{width:min(96vw,1800px);height:calc(100dvh - 28px);max-height:calc(100dvh - 28px)}}.bulk-incident-modal__header,.bulk-incident-modal__footer{justify-content:space-between;align-items:start;gap:16px;padding:22px 26px;display:flex}.bulk-incident-modal__header{background:#fff;border-bottom:1px solid #7d817129}.bulk-incident-modal__header h2{color:var(--color-primary);margin:0;font-size:1.4rem}.bulk-incident-modal__header p:last-child{color:var(--color-muted);margin:5px 0 0;font-size:.8rem}.bulk-incident-modal__eyebrow{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:.68rem;font-weight:900}.bulk-incident-modal__body{overscroll-behavior:contain;grid-template-columns:minmax(0,1fr) minmax(360px,.84fr);align-items:stretch;gap:28px;min-height:0;padding:26px 32px;display:grid;overflow:hidden}.bulk-incident-modal__controls{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;min-width:0;min-height:0;padding-right:6px;display:flex;overflow-y:auto}.bulk-incident-modal__actions,.bulk-incident-modal__students,.bulk-incident-modal__subtypes{border:0;min-width:0;margin:0;padding:0}.bulk-incident-modal__actions legend,.bulk-incident-modal__students legend,.bulk-incident-modal__subtypes legend{color:var(--color-primary);margin-bottom:9px;font-size:.8rem;font-weight:900}.bulk-incident-modal__actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.bulk-incident-modal__actions legend{grid-column:1/-1}.bulk-incident-modal__actions label{cursor:pointer;background:#fff;border:1px solid #7d817138;border-radius:15px;grid-template-columns:auto 34px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:12px;display:grid}.bulk-incident-modal__actions label.is-selected{border-color:var(--color-primary);background:#f4f7ee;box-shadow:0 5px 14px #7d817124}.bulk-incident-modal__actions input,.bulk-incident-modal__students input{accent-color:var(--color-primary)}.bulk-incident-modal__actions input{grid-column:1}.bulk-incident-modal__action-icon{width:32px;height:32px;color:var(--color-primary);background:#7d81711f;border-radius:50%;place-items:center;display:grid}.bulk-incident-modal__action-icon svg{width:21px;height:21px}.bulk-incident-modal__actions strong,.bulk-incident-modal__student-copy strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;display:block;overflow:hidden}.bulk-incident-modal__actions small,.bulk-incident-modal__student-copy small{color:var(--color-muted);margin-top:3px;font-size:.7rem;font-weight:700;line-height:1.3;display:block}.bulk-incident-modal__instruction{border-left:3px solid var(--color-primary);color:var(--color-text);background:#f7f8f4;border-radius:0 10px 10px 0;gap:3px;margin:18px 0 14px;padding:10px 12px;font-size:.8rem;line-height:1.35;display:grid}.bulk-incident-modal__instruction strong{color:var(--color-primary)}.bulk-incident-modal__instruction--attendance{background:#eef8f3;border-color:#34735e}.bulk-incident-modal__students{background:#fbfcf9;border:1px solid #7d81712e;border-radius:18px;flex-direction:column;min-width:0;min-height:0;padding:18px;display:flex}.bulk-incident-modal__selection-status{color:var(--color-muted);margin:-3px 0 9px;font-size:.75rem;font-weight:900}.bulk-incident-modal__students ul{scrollbar-gutter:stable;flex:auto;grid-template-columns:1fr;align-content:start;gap:8px;min-height:0;max-height:none;margin:0;padding:3px;list-style:none;display:grid;overflow-y:auto}.bulk-incident-modal__students li{min-width:0}.bulk-incident-modal__students label{cursor:pointer;background:#fff;border:1px solid #7d817133;border-radius:13px;grid-template-columns:auto 38px minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:64px;padding:10px 12px;display:grid}.bulk-incident-modal__students li:not(.is-ineligible) label:has(input:checked){background:#f4f7ee;border-color:#7d81719e}.bulk-incident-modal__students li.is-ineligible label{cursor:not-allowed;opacity:.7;background:#f7f7f5}.bulk-incident-modal__students .activity-detail-avatar{width:42px;height:42px}.bulk-incident-modal__student-copy{min-width:0}.bulk-incident-modal__student-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bulk-incident-modal__details{flex:none;grid-template-columns:minmax(0,1fr) minmax(220px,.9fr);gap:16px;margin-top:18px;display:grid}.bulk-incident-modal__subtypes{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;display:grid}.bulk-incident-modal__subtypes legend{grid-column:1/-1}.bulk-incident-modal__subtypes button{min-height:42px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #7d817140;border-radius:10px;padding:8px;font-size:.75rem;font-weight:800}.bulk-incident-modal__subtypes button.is-selected{background:#f4f7ee;border-color:#7d8171}.bulk-incident-modal__reason{color:var(--color-primary);align-content:start;gap:7px;font-size:.8rem;font-weight:800;display:grid}.bulk-incident-modal__reason textarea{resize:vertical;min-height:105px;font:inherit;border:1px solid #7d81714d;border-radius:10px;padding:10px}.bulk-incident-modal__hint{color:#8c672c;margin:12px 0 0;font-size:.76rem;font-weight:800}.bulk-incident-modal__footer{border-top:1px solid #7d817129;justify-content:flex-end;align-items:center}.bulk-incident-modal__footer button{color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #7d817147;border-radius:10px;padding:10px 14px;font-weight:800}.bulk-incident-modal__footer .student-action-modal__confirm{border-color:var(--color-button);color:#fff;background:var(--color-button)}.bulk-incident-modal button:focus-visible,.bulk-incident-modal textarea:focus-visible,.bulk-incident-modal input:focus-visible{outline-offset:2px;outline:3px solid #7d817180}.student-action-modal__card>header{background:linear-gradient(120deg,#faeef6,#fff 70%);justify-content:space-between;gap:16px;padding:22px 25px;display:flex}.student-action-modal__identity{align-items:center;gap:12px;min-width:0;display:flex}.student-action-modal__identity p{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.68rem;font-weight:900}.student-action-modal__identity h2{color:var(--color-primary);margin:0}.student-action-modal__action{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:#fff8fc;border:1px solid #c96ba959;border-radius:15px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:16px;display:grid}.student-action-modal__action-icon{color:#9a3d70;background:#f5d9e9;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.student-action-modal__action-icon svg{width:22px;height:22px}.incident-form-modal{z-index:80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.incident-form-modal__overlay{background:#11130f94;position:absolute;inset:0}.incident-form-modal__card{background:#fff;border:1px solid #7d81714d;border-radius:22px;width:min(620px,100%);max-height:calc(100vh - 40px);position:relative;overflow-y:auto;box-shadow:0 30px 80px #0f120c73}.incident-form-modal__header,.incident-form-modal__footer{justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.incident-form-modal__header{background:linear-gradient(120deg,#faeef6,#fff 70%);border-bottom:1px solid #7d817129}.incident-form-modal__header h2{color:var(--color-primary);margin:0;font-size:1.35rem}.incident-form-modal__body{padding:22px 24px}.incident-form-modal__footer{border-top:1px solid #7d817129;justify-content:flex-end}.incident-form-modal__footer button{color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #7d817147;border-radius:9px;padding:10px 14px;font-weight:800}.incident-form-modal__footer .student-action-modal__confirm{border-color:var(--color-button);color:#fff;background:var(--color-button)}.incident-form-modal .student-action-modal__reason{margin-top:0}.free-incident-modal__subtitle{color:#2f342ab8;max-width:48ch;margin:6px 0 0;font-size:.82rem;line-height:1.45}.free-incident-modal__field{color:var(--color-primary);gap:7px;margin:0 0 18px;font-size:.8rem;font-weight:800;display:grid}.free-incident-modal__field>span strong{color:var(--color-button)}.free-incident-modal__field select,.free-incident-modal__field input{color:#2f342a;min-height:42px;font:inherit;background:#fff;border:1px solid #7d81714d;border-radius:10px;padding:9px 10px;font-weight:500}.free-incident-modal__field small:not(.free-incident-modal__field-error){color:#2f342aad;font-size:.75rem;font-weight:500}.free-incident-modal__field-error{color:#a62c58;font-size:.75rem;font-weight:800}.free-incident-modal__validation{color:#a62c58;margin:4px 0 0;font-size:.8rem;font-weight:800}.free-incident-modal__note{border-left:4px solid var(--color-button);color:#5e2947;background:#fff4fa;border-radius:8px;margin:4px 0 0;padding:11px 13px;font-size:.8rem;line-height:1.45}.incident-form-modal button:focus-visible,.incident-form-modal select:focus-visible,.incident-form-modal textarea:focus-visible,.incident-form-modal input:focus-visible{outline-offset:2px;outline:3px solid #c96ba970}.student-action-modal__reason{color:var(--color-primary);gap:7px;margin:18px 0;font-size:.8rem;font-weight:800;display:grid}.student-action-modal textarea,.incident-form-modal textarea{resize:vertical;min-height:84px;font:inherit;border:1px solid #7d81714d;border-radius:10px;padding:10px}.student-action-modal fieldset,.incident-form-modal fieldset{border:0;gap:9px;margin:0;padding:0;display:grid}.student-action-modal legend,.incident-form-modal legend{color:var(--color-primary);margin-bottom:8px;font-weight:900}.student-action-modal button:focus-visible,.student-action-modal textarea:focus-visible,.student-action-modal input:focus-visible{outline-offset:2px;outline:3px solid #c96ba970}@media (width<=1050px){.activity-detail-summary{grid-template-columns:1fr}.activity-detail-summary .activity-detail-responsible-management{grid-column:1}.activity-detail-employee-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}@media (width<=720px){.achievement-detail-modal{padding:16px}.achievement-detail-modal__card{width:min(420px,100%);max-height:calc(100vh - 32px)}.activity-detail-modal{align-items:end;padding:10px}.activity-detail-modal__card{border-radius:19px;width:100%;max-height:calc(100vh - 20px)}.activity-detail-modal__header,.activity-detail-modal__body{padding-left:18px;padding-right:18px}.dining-preparation-modal{align-items:end;padding:10px}.dining-preparation-modal__card{border-radius:18px;max-height:calc(100dvh - 20px)}.dining-preparation-modal__header,.dining-preparation-modal__body{padding-left:18px;padding-right:18px}.dining-preparation-modal__header{grid-template-columns:minmax(0,1fr) auto}.dining-preparation-modal__header>button{grid-area:1/2}.dining-preparation-modal__workspace{grid-template-columns:1fr}.dining-preparation-modal__alerts{border-top:1px solid #7d81712e;border-left:0;padding-top:14px;padding-left:0}.dining-preparation-modal__assignment,.activity-detail-summary,.activity-detail-metadata,.activity-detail-student-management__columns{grid-template-columns:1fr}.activity-detail-student-management__columns{gap:14px;height:auto}.activity-detail-student-panel,.activity-detail-incident-panel{max-height:min(420px,52vh)}.activity-detail-summary .activity-detail-responsible-management{grid-column:1}.activity-detail-responsible-management__layout,.activity-detail-employee-cards{grid-template-columns:1fr}.activity-detail-student-row{grid-template-columns:42px minmax(0,1fr) auto}.activity-employee-picker-modal,.activity-student-picker-modal{align-items:end;padding:10px}.activity-employee-picker-modal__card,.activity-student-picker-modal__card{border-radius:18px;max-height:calc(100vh - 20px)}.activity-employee-picker-modal__header,.activity-employee-picker-modal__body,.activity-employee-picker-modal__footer,.activity-student-picker-modal__header,.activity-student-picker-modal__body,.activity-student-picker-modal__footer{padding-left:18px;padding-right:18px}}.activity-detail-incident-card{background:#fff;border-color:#7d817133;padding:11px 12px;box-shadow:0 1px 2px #1d20190a}.activity-detail-incident-card__identity{justify-content:flex-start}.activity-detail-incident-card__identity strong{color:var(--color-text);font-size:.82rem;font-weight:850}.activity-detail-incident-card__scope{color:#596052;background:#7d817124;padding:3px 8px;font-size:.65rem;font-weight:800}.activity-detail-incident-card__reason{color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;font-style:italic;line-height:1.4;display:-webkit-box;overflow:hidden}.activity-detail-incident-card__context{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.72rem;font-weight:700;line-height:1.35;overflow:hidden}.activity-detail-incident-card__registered{color:var(--color-muted);font-size:.66rem;line-height:1.3}.student-action-modal__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-action-modal__action--hygiene{background:#f4f7ee;border-color:#7d81714d}.student-action-modal__action--hygiene .student-action-modal__action-icon{color:#526046;background:#dfe8d3}.student-action-modal__subtypes{border:0;gap:9px;margin:18px 0;padding:0;display:grid}.student-action-modal__subtypes legend{color:var(--color-primary);margin-bottom:8px;font-size:.8rem;font-weight:800}.student-action-modal__subtypes button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #7d817140;border-radius:12px;padding:12px;font-weight:700}.student-action-modal__subtypes button.is-selected{background:#f4f7ee;border-color:#7d8171}.student-action-modal__subtypes button:focus-visible{outline-offset:2px;outline:3px solid #c96ba973}.student-action-modal__action--dining{background:#fff9ed;border-color:#c48b3e57}.student-action-modal__action--dining .student-action-modal__action-icon{color:#8c672c;background:#f7e7bd}.student-action-modal__subtypes--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-action-modal__subtypes--grid legend{grid-column:1/-1}.student-action-modal__subtypes--grid button{min-height:58px;line-height:1.25}@media (width<=480px){.activity-detail-classroom-presence__counters{grid-template-columns:repeat(2,minmax(0,1fr))}.student-action-modal{align-items:end;padding:10px}.student-action-modal__card{max-height:calc(100vh - 20px);overflow-y:auto}.student-action-modal__subtypes--grid,.student-action-modal__actions{grid-template-columns:1fr}.incident-form-modal{align-items:end;padding:10px}.incident-form-modal__card{max-height:calc(100vh - 20px)}}@media (width<=820px){.student-action-workspace{width:calc(100vw - 20px);height:calc(100vh - 20px)}.student-action-workspace__columns{grid-template-columns:1fr;overflow-y:auto}.student-action-workspace__left,.student-action-workspace__right{overflow:visible}.student-action-workspace__left{border-bottom:1px solid #7d817129;border-right:0}.student-action-workspace__right{min-height:420px}}.activity-detail-incident-card{box-shadow:none;background:#fff;border-color:#7d81712e;padding:14px}.activity-detail-incident-card__content{gap:10px}.activity-detail-incident-card__header{justify-content:space-between;align-items:start;gap:12px;min-width:0;display:flex}.activity-detail-incident-card__incident{gap:2px;min-width:0;display:grid}.activity-detail-incident-card__incident h5{color:var(--color-text);margin:0;font-size:.98rem;font-weight:900;line-height:1.2}.activity-detail-incident-card__subtype{color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:800;line-height:1.3;overflow:hidden}.activity-detail-incident-card__scope{color:#596052;background:#7d81711a;flex:none;margin-top:1px;padding:3px 7px;font-size:.61rem;font-weight:800;line-height:1.2}.activity-detail-incident-card__reason{color:var(--color-text);-webkit-line-clamp:3;margin:0;font-size:.86rem;font-style:normal;font-weight:500;line-height:1.45}.activity-detail-incident-card__footer{border-top:1px solid #7d81711a;gap:3px;min-width:0;padding-top:8px;display:grid}.activity-detail-incident-card__context{font-size:.68rem;font-weight:600}.activity-detail-incident-card__registered{font-size:.6rem;font-weight:600}@media (width<=480px){.activity-detail-incident-card{padding:12px}.activity-detail-incident-card__incident h5{font-size:.94rem}.activity-detail-incident-card__reason{font-size:.82rem}.activity-detail-incident-card__scope{font-size:.58rem}}@media (width<=900px){.bulk-incident-modal__body{flex-direction:column;display:flex;overflow-y:auto}.bulk-incident-modal__controls{padding-right:0;overflow:visible}.bulk-incident-modal__students{flex:none}.bulk-incident-modal__students ul{flex:none;max-height:min(360px,42vh)}}@media (width<=680px){.bulk-incident-modal{align-items:end;padding:10px}.bulk-incident-modal__card{height:min(760px,100dvh - 20px);max-height:calc(100dvh - 20px)}.bulk-incident-modal__header,.bulk-incident-modal__body,.bulk-incident-modal__footer{padding-left:17px;padding-right:17px}.bulk-incident-modal__actions,.bulk-incident-modal__details{grid-template-columns:1fr}.bulk-incident-modal__students ul{flex:none;max-height:min(300px,38vh)}.bulk-incident-modal__details{gap:12px}}.student-action-modal__action-section{gap:10px;display:grid}.student-action-modal__action-section+.student-action-modal__action-section{border-top:1px solid #7d817129;margin-top:22px;padding-top:20px}.student-action-modal__section-heading{gap:4px;display:grid}.student-action-modal__section-heading h3{color:var(--color-primary);margin:0;font-size:1rem}.student-action-modal__section-heading p{color:var(--color-muted);margin:0;font-size:.75rem;font-weight:700;line-height:1.4}.student-center-status{background:#f8fcfa;border:2px solid #3f79674d;border-radius:18px;gap:10px;padding:16px;display:grid;box-shadow:0 8px 20px #3f796714}.student-center-status--outside,.student-center-status--absence{background:#fff9fc;border-color:#c96ba952}.student-center-status--delay,.student-center-status--pending{background:#fffaf2;border-color:#c9974359}.student-center-status--unavailable{background:#f7f7f4;border-color:#7d81714d}.student-center-status__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.student-center-status__eyebrow{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:.68rem;font-weight:800}.student-center-status__heading h3{color:var(--color-primary);margin:0;font-size:1rem}.student-center-status__dot{background:#34735e;border-radius:999px;flex:none;width:10px;height:10px;margin-top:4px;box-shadow:0 0 0 5px #34735e1f}.student-center-status--outside .student-center-status__dot{background:#a95182;box-shadow:0 0 0 5px #a951821f}.student-center-status--delay .student-center-status__dot,.student-center-status--pending .student-center-status__dot{background:#b27925;box-shadow:0 0 0 5px #b279251f}.student-center-status--unavailable .student-center-status__dot{background:var(--color-muted);box-shadow:0 0 0 5px #7d81711f}.student-center-status__title{color:var(--color-text);font-size:1.2rem}.student-center-status__detail{color:var(--color-muted);margin:-4px 0 0;font-size:.8rem;font-weight:700;line-height:1.45}.student-center-status__actions{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin-top:3px;display:grid}.student-center-status+.student-action-modal__action-section{border-top:1px solid #7d817129;margin-top:22px;padding-top:20px}.student-center-status__action{color:#2c664f;min-height:42px;font:inherit;cursor:pointer;background:#fff;border:1px solid #3f79673d;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-size:.77rem;font-weight:800;display:inline-flex}.student-center-status__action:hover{background:#eef8f3;border-color:#3f796780}.student-center-status__action--absence{color:#9b3f50;border-color:#a83f3f47}.student-center-status__action--expected_delay{color:#95631c;border-color:#b279254d}.student-center-status__action-icon{width:19px;height:19px;display:inline-flex}.student-photo-capture-modal{z-index:110;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.student-photo-capture-modal__overlay{background:#11130f9e;position:absolute;inset:0}.student-photo-capture-modal__card{background:#fff;border:1px solid #7d81714d;border-radius:22px;grid-template-rows:auto minmax(0,1fr);width:min(620px,100%);max-height:calc(100vh - 40px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #0f120c73}.student-photo-capture-modal__header,.student-photo-capture-modal__footer{justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.student-photo-capture-modal__header{background:linear-gradient(120deg,#faeef6,#fff 70%);border-bottom:1px solid #7d817129}.student-photo-capture-modal__eyebrow{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.68rem;font-weight:900}.student-photo-capture-modal h2{color:var(--color-primary);margin:0;font-size:1.25rem}.student-photo-capture-modal__close{color:#fff;background:var(--color-button);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:1.3rem;display:grid}.student-photo-capture-modal form{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.student-photo-capture-modal__body{min-height:0;padding:22px 24px;overflow-y:auto}.student-photo-capture-modal__help,.student-photo-capture-modal__empty{color:var(--color-muted);margin:0;font-size:.82rem;font-weight:700;line-height:1.45}.student-photo-capture-modal__choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.student-photo-capture-modal__choices button,.student-photo-capture-modal__replace,.student-photo-capture-modal__footer button{color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #7d817147;border-radius:11px;padding:11px 14px;font-size:.82rem;font-weight:800}.student-photo-capture-modal__choices button{background:#fff8fc;border-color:#c96ba959}.student-photo-capture-modal__file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.student-photo-capture-modal__preview-wrap{background:#fdfbfc;border:1px solid #7d817133;border-radius:16px;grid-template-columns:minmax(140px,210px) minmax(0,1fr);align-items:center;gap:16px;margin-top:18px;padding:12px;display:grid}.student-photo-capture-modal__preview{aspect-ratio:1;object-fit:cover;background:#faeef6;border-radius:12px;width:100%;display:block}.student-photo-capture-modal__file-meta{min-width:0;color:var(--color-primary);gap:6px;font-size:.82rem;line-height:1.4;display:grid}.student-photo-capture-modal__file-meta strong{overflow-wrap:anywhere}.student-photo-capture-modal__file-meta span{color:var(--color-muted);font-size:.75rem;font-weight:700}.student-photo-capture-modal__replace{color:#9a3d70;background:#fff8fc;margin-top:12px}.student-photo-capture-modal__error,.student-photo-capture-modal__success{border-radius:10px;margin:16px 0 0;padding:11px 13px;font-size:.8rem;font-weight:800;line-height:1.45}.student-photo-capture-modal__error{color:#8b274e;background:#fff1f5}.student-photo-capture-modal__success{color:#26644d;background:#effaf4}.student-photo-capture-modal__error button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-top:8px;padding:0;font-size:.78rem;font-weight:900;display:block}.student-photo-capture-modal__footer{border-top:1px solid #7d817129;justify-content:flex-end}.student-photo-capture-modal__footer .student-photo-capture-modal__confirm{border-color:var(--color-button);color:#fff;background:var(--color-button)}.student-photo-capture-modal button:disabled{cursor:not-allowed;opacity:.58}.student-photo-capture-modal button:focus-visible{outline-offset:2px;outline:3px solid #c96ba970}@media (width<=480px){.student-photo-capture-modal{align-items:end;padding:10px}.student-photo-capture-modal__card{max-height:calc(100vh - 20px)}.student-photo-capture-modal__header,.student-photo-capture-modal__body,.student-photo-capture-modal__footer{padding-left:17px;padding-right:17px}.student-photo-capture-modal__choices,.student-photo-capture-modal__preview-wrap{grid-template-columns:1fr}.student-photo-capture-modal__preview{max-height:240px}}.student-center-status__action-icon .incident-action-icon{width:19px;height:19px}.presence-form-modal__motive{color:var(--color-text);gap:6px;margin-top:16px;font-size:.8rem;font-weight:800;display:grid}.presence-form-modal__motive textarea{resize:vertical;min-height:76px;color:var(--color-text);font:inherit;background:#fff;border:1px solid #7d81714d;border-radius:10px;padding:9px 10px;font-size:.82rem;line-height:1.35}.activity-detail-student-row__presence-detail{color:var(--color-muted);font-size:.7rem;font-weight:700;display:block}.agenda-date-picker{min-width:0;position:relative}.agenda-date-picker__popover{z-index:100;width:min(320px,100vw - 24px);color:var(--color-text);background:#fff;border:1px solid #7d817138;border-radius:14px;padding:12px;position:fixed;transform:translate(-50%);box-shadow:0 18px 42px #34372e33}.agenda-date-picker__header{grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:10px;display:grid}.agenda-date-picker__header h3{color:var(--color-primary);text-align:center;text-transform:capitalize;margin:0;font-size:.9rem;font-weight:900}.agenda-date-picker__month-button,.agenda-date-picker__footer button{color:var(--color-primary);font:inherit;cursor:pointer;background:#7d81711a;border:0;border-radius:8px;font-weight:900}.agenda-date-picker__month-button{width:32px;height:32px;font-size:1.4rem;line-height:1}.agenda-date-picker__weekdays,.agenda-date-picker__grid{grid-template-columns:repeat(7,1fr);display:grid}.agenda-date-picker__weekdays{color:var(--color-muted);text-align:center;margin-bottom:3px;font-size:.68rem;font-weight:900}.agenda-date-picker__day{width:36px;height:36px;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;justify-self:center;padding:0;font-size:.78rem;font-weight:800}.agenda-date-picker__day--outside{color:#34372e66}.agenda-date-picker__day--today{border-color:var(--color-button)}.agenda-date-picker__day--selected{color:#fff;background:var(--color-button)}.agenda-date-picker__day--selected.agenda-date-picker__day--today{box-shadow:inset 0 0 0 2px var(--color-button)}.agenda-date-picker__month-button:hover,.agenda-date-picker__footer button:hover,.agenda-date-picker__day:hover{color:var(--color-button);background-color:#c96ba91c}.agenda-date-picker__day--selected:hover{color:#fff;background-color:var(--color-button)}.agenda-date-picker__month-button:focus-visible,.agenda-date-picker__footer button:focus-visible,.agenda-date-picker__day:focus-visible{outline-offset:1px;outline:3px solid #c96ba973}.agenda-date-picker__footer{border-top:1px solid #7d817124;justify-content:flex-end;margin-top:9px;padding-top:9px;display:flex}.agenda-date-picker__footer button{min-height:30px;padding:4px 10px;font-size:.75rem}@media (width<=640px){.agenda-date-picker{flex:1}.agenda-date-picker__popover{box-sizing:border-box;width:calc(100vw - 24px);transform:none;left:12px!important}}.agenda-toolbar{background:linear-gradient(110deg,#fff 0% 58%,#faeef69e 100%);border:1px solid #7d81712e;border-radius:16px;grid-template-columns:minmax(180px,1fr) minmax(280px,auto) minmax(180px,1fr);align-items:center;gap:16px;margin-bottom:14px;padding:10px 12px;display:grid;box-shadow:0 5px 18px #4b4e440d}.agenda-toolbar__identity h2{color:var(--color-primary);letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:900;line-height:1.05}.agenda-toolbar__back{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;margin:0 0 6px;padding:0;font-size:.78rem;font-weight:850}.agenda-toolbar__back:hover,.agenda-toolbar__back:focus-visible{color:var(--color-button)}.agenda-toolbar__date-navigation{justify-content:center;align-items:center;gap:4px;min-width:0;display:flex}.agenda-toolbar__icon-button,.agenda-toolbar__date-button{font:inherit;cursor:pointer;border:0}.agenda-toolbar__icon-button{width:36px;height:36px;color:var(--color-primary);background:#7d817117;border-radius:10px;place-items:center;font-size:1.7rem;font-weight:400;line-height:1;display:grid}.agenda-toolbar__date-button{max-width:360px;min-height:36px;color:var(--color-text);text-align:center;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;background:0 0;border-radius:10px;padding:6px 10px;font-size:.88rem;font-weight:850;line-height:1.2;overflow:hidden}.agenda-toolbar__icon-button:hover,.agenda-toolbar__date-button:hover{color:var(--color-button);background:#c96ba917}.agenda-toolbar__icon-button:focus-visible,.agenda-toolbar__date-button:focus-visible,.agenda-toolbar__view-switch button:focus-visible,.agenda-toolbar__dining:focus-visible{outline-offset:2px;outline:3px solid #c96ba961}.agenda-toolbar__right{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.agenda-toolbar__dining{min-height:32px;color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #c96ba94d;border-radius:9px;align-items:center;gap:5px;padding:5px 8px;font-size:.74rem;font-weight:850;display:inline-flex}.agenda-toolbar__dining:hover{color:#fff;background:var(--color-button);border-color:var(--color-button)}.agenda-toolbar__dining svg{width:15px;height:15px}.agenda-toolbar__view-switch{border:1px solid var(--color-border);background:#fff;border-radius:10px;flex:none;padding:3px;display:flex}.agenda-toolbar__view-switch button{min-height:29px;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:4px 8px;font-size:.75rem;font-weight:850}.agenda-toolbar__view-switch button.is-active{color:#fff;background:var(--color-primary)}.agenda-kpis{border-left:1px solid #7d81712b;align-items:stretch;display:flex}.agenda-kpi{border-right:1px solid #7d81712b;align-items:center;gap:6px;min-width:72px;padding:1px 9px;display:flex}.agenda-kpi__icon{width:27px;height:27px;color:var(--color-button);background:#c96ba91f;border-radius:8px;place-items:center;display:grid}.agenda-kpi__content{gap:1px;display:grid}.agenda-kpi__label{color:var(--color-muted);letter-spacing:.025em;white-space:nowrap;font-size:.64rem;font-weight:850}.agenda-kpi__value{color:var(--color-primary);font-size:1rem;font-weight:900;line-height:1}@media (width<=1040px){.agenda-toolbar{grid-template-columns:minmax(160px,1fr) auto}.agenda-toolbar__right{grid-column:1/-1;justify-content:space-between}}@media (width<=640px){.agenda-toolbar{grid-template-columns:1fr;gap:10px;padding:11px}.agenda-toolbar__date-navigation{justify-content:stretch}.agenda-toolbar__date-button{flex:1;max-width:none}.agenda-toolbar__right{flex-direction:column;grid-column:auto;align-items:flex-start}.agenda-kpis{border-top:1px solid #7d81712b;border-left:0;justify-content:space-between;width:100%;padding-top:9px}.agenda-kpi{flex:1;min-width:0;padding:1px 5px}.agenda-kpi:first-child{padding-left:0}.agenda-kpi:last-child{border-right:0}}.admin-shell{background:radial-gradient(circle at 88% 8%, #faeef6c7, transparent 22%), var(--color-background);height:100svh;overflow:hidden}.admin-shell__main{grid-template-rows:auto 1fr;min-width:0;height:100%;min-height:0;display:grid}.admin-shell__content{min-width:0;min-height:0;padding:28px;overflow:auto}.admin-shell__content:has(.agenda-page){overflow:hidden}.admin-shell__content:has(.communications-page){overflow:hidden}.admin-header{--header-accent:#8c83bc;--header-accent-soft:#8c83bc1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#fffffff0;border-bottom:1px solid #34372e1a;align-items:center;gap:18px;min-width:0;min-height:64px;padding:8px 24px;display:flex;position:sticky;top:0;box-shadow:0 5px 18px #34372e0d}.admin-header__left,.admin-header__actions{align-items:center;gap:12px;min-width:0;display:flex}.admin-header__brand{align-items:center;min-width:max-content;display:flex}.admin-header__logo{object-fit:contain;width:auto;height:40px;display:block}.admin-header__nav{background:0 0;border:0;border-radius:14px;flex:580px;justify-content:center;align-self:stretch;align-items:center;gap:4px;min-width:0;margin:0;padding:4px;display:flex}.admin-header__nav-item{min-width:0;min-height:36px;color:var(--color-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:800;line-height:1;transition:color .18s,background .18s,box-shadow .18s;display:inline-flex}.admin-header__nav-item-content{align-items:center;gap:6px;display:inline-flex;position:relative}.admin-header__nav-unread-dot{background:#d74343;border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;right:-7px;box-shadow:0 0 0 2px #fff}.admin-header__nav-icon{width:17px;height:17px}.admin-header__nav-item:not(.admin-header__nav-item--active):hover{color:var(--header-accent);background:#ffffffd1}.admin-header__nav-item--active{color:#fff;background:var(--header-accent);box-shadow:0 4px 10px #8c83bc40}.admin-header__nav-item--active .admin-header__nav-icon{color:#fff}.admin-header__user-summary{align-items:center;gap:10px;min-width:0;display:flex}.admin-header__title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-header__account-wrapper{position:relative}.admin-header__account-button{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:12px;align-items:center;padding:3px;display:flex}.admin-header__account-button:hover .admin-header__avatar{box-shadow:0 0 0 3px #faeef6e6}.admin-header__avatar{color:#fff;background:var(--header-accent);border-radius:9px;place-items:center;width:34px;height:34px;font-size:.76rem;font-weight:900;display:grid}.admin-header__avatar--image{object-fit:cover;background:#faeef6b8;box-shadow:0 0 0 1px #34372e1a}.admin-header__identity{text-align:right;gap:2px;min-width:0;display:grid}.admin-header__identity strong,.admin-header__identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-header__identity strong{color:var(--color-text)}.admin-header__identity span{color:var(--color-muted);font-size:.76rem;font-weight:800}.admin-header__action-btn{width:38px;height:38px;color:var(--color-primary);cursor:pointer;background:#faeef680;border:1px solid #0000;border-radius:10px;place-items:center;padding:0;transition:color .18s,background .18s;display:grid}.admin-header__action-btn:hover{color:var(--header-accent);background:var(--header-accent-soft);border-color:#8c83bc33}.admin-header button:focus-visible{outline-offset:3px;outline:3px solid #c96ba966}.admin-header__dropdown-wrapper{position:relative}.admin-header__dropdown{border:1px solid var(--color-border);z-index:30;background:#fff;border-radius:14px;min-width:160px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px #34372e24}.admin-header__dropdown-item{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 14px;font-size:.88rem;font-weight:800;transition:background .15s}.admin-header__dropdown-item:hover{background:#faeef699}.admin-header__dropdown-item--danger{color:#c0392b}.admin-header__dropdown-item--danger:hover{background:#e74c3c14}.admin-header__account-dropdown{min-width:180px;top:calc(100% + 8px)}.admin-header__dropdown-account{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px 12px;display:flex}.admin-header__dropdown-account>div{gap:2px;min-width:0;display:grid}.admin-header__dropdown-avatar{object-fit:cover;background:#faeef6b8;border-radius:12px;flex:none;width:38px;height:38px;box-shadow:0 0 0 1px #34372e1a}.admin-header__dropdown-account strong{color:var(--color-text);font-size:.92rem;font-weight:900}.admin-header__dropdown-account span{color:var(--color-muted);font-size:.78rem;font-weight:800}.dashboard-content{min-height:calc(100svh - 114px);padding:8px 0}.dashboard-content__header{margin-bottom:18px}.dashboard-content__header h2{color:var(--color-primary);letter-spacing:-.04em;margin:0 0 6px;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;line-height:1}.dashboard-content__header p{color:var(--color-muted);margin:0;font-size:1.05rem;line-height:1.5}@media (width<=980px){.admin-header{grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;display:grid}.admin-header__nav{scrollbar-width:thin;grid-column:1/-1;justify-content:flex-start;min-width:0;margin:0;overflow-x:auto}}@media (width<=640px){.admin-header{min-height:0;padding:12px 16px}.admin-header__nav-item{flex:none;padding-inline:12px}.admin-shell__content{padding:18px 14px}.dashboard-content{min-height:calc(100svh - 96px)}}.agenda-page{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;padding:8px 0;display:grid;overflow:visible}.agenda-page__status{color:var(--color-muted);background:#faeef64d;border:1px dashed #7d81714d;border-radius:14px;margin:18px 0;padding:18px;font-size:.9rem;font-weight:700}.agenda-page__status--error{color:#b83228;background:#c0392b0d;border-color:#c0392b47}.agenda-page>.agenda-timetable{min-height:0}.billing-page{gap:20px;display:grid}.billing-kpi-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.billing-kpi-card{background:linear-gradient(135deg,#fff 0% 62%,#faeef680 100%);border:1px solid #e6d7e1e6;border-radius:18px;align-items:center;gap:14px;padding:18px 20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 8px 24px #34372e0f}.billing-kpi-card:hover{border-color:var(--color-primary,#7d8171);transform:translateY(-2px);box-shadow:0 14px 32px #34372e1a}.billing-kpi-card__icon{flex-shrink:0;font-size:1.8rem;line-height:1}.billing-kpi-card__body{flex-direction:column;gap:4px;min-width:0;display:flex}.billing-kpi-card__label{color:var(--color-muted,#74786a);text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;font-weight:800}.billing-kpi-card__value{letter-spacing:-.02em;font-size:1.35rem;font-weight:900}.billing-summary-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:4px;display:grid}.billing-summary-card{text-align:center;background:#faeef652;border:1px solid #7d817124;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;display:flex}.billing-summary-card--bar{align-items:stretch;gap:6px;padding:14px 16px}.billing-summary-card__num{color:var(--color-primary,#7d8171);font-size:1.4rem;font-weight:950}.billing-summary-card__label{color:var(--color-muted,#74786a);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:800}.billing-summary-card__pct{color:#16a34a;text-align:right;font-size:.78rem;font-weight:800}.billing-minibar{background:#7d81711a;border-radius:999px;width:100%;overflow:hidden}.billing-minibar__fill{border-radius:999px;height:100%;transition:width .4s}.billing-caja-kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.billing-caja-kpi{text-align:center;background:#fff;border:1px solid #7d817124;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;display:flex;box-shadow:0 4px 16px #34372e0a}.billing-caja-kpi--in{border-left:4px solid #16a34a}.billing-caja-kpi--out{border-left:4px solid #dc2626}.billing-caja-kpi__label{color:var(--color-muted,#74786a);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;font-weight:800}.billing-caja-kpi strong{color:var(--color-text,#34372e);font-size:1.25rem;font-weight:900}.billing-card{background:#fff;border:1px solid #e6d7e1cc;border-radius:18px;padding:20px;box-shadow:0 6px 22px #34372e0d}.billing-card--preview{background:linear-gradient(135deg,#faeef680,#fff 60%);border-color:#c96ba933}.billing-card__title{color:var(--color-primary,#7d8171);letter-spacing:-.01em;margin:0 0 14px;font-size:.95rem;font-weight:900}.billing-method-bars{gap:12px;display:grid}.billing-method-bar-row{grid-template-columns:130px 1fr;align-items:center;gap:12px;display:grid}.billing-method-bar-row__label{color:var(--color-text,#34372e);text-align:right;font-size:.82rem;font-weight:700}.billing-method-bar-row__bars{gap:4px;display:grid}.billing-method-bar-row__track{background:#e6d7e159;border-radius:6px;height:22px;position:relative;overflow:hidden}.billing-method-bar-row__fill{border-radius:6px;min-width:2px;height:100%;transition:width .4s}.billing-method-bar-row__fill--in{background:linear-gradient(90deg,#16a34a,#22c55e)}.billing-method-bar-row__fill--out{background:linear-gradient(90deg,#dc2626,#ef4444)}.billing-method-bar-row__val{color:#065f46;align-items:center;padding:0 10px;font-size:.72rem;font-weight:800;display:flex;position:absolute;inset:0}.billing-method-bar-row__val--out{color:#991b1b}.billing-weekly-trend{justify-content:space-between;align-items:flex-end;gap:10px;height:140px;padding:0 4px;display:flex}.billing-weekly-trend__col{flex-direction:column;flex:1;align-items:center;gap:8px;height:100%;display:flex}.billing-weekly-trend__bar-group{flex:1;justify-content:center;align-items:flex-end;gap:3px;width:100%;min-height:0;display:flex}.billing-weekly-trend__bar{border-radius:4px 4px 0 0;width:14px;min-height:2px;transition:height .3s}.billing-weekly-trend__bar--in{background:linear-gradient(#16a34a,#22c55e)}.billing-weekly-trend__bar--out{background:linear-gradient(#dc2626,#ef4444)}.billing-weekly-trend__label{color:var(--color-muted,#74786a);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:700}.billing-preview-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.billing-preview-grid>div{justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;display:flex}.billing-preview-grid span{color:var(--color-muted,#74786a);font-weight:700}.billing-mov-type{border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:800;display:inline-block}.billing-mov-type--in{color:#16a34a;background:#16a34a1f}.billing-mov-type--out{color:#dc2626;background:#dc26261a}.billing-tabs{border-bottom:2px solid var(--color-border,#e5e7eb);gap:0;display:flex}.billing-tab{cursor:pointer;color:var(--color-muted,#6b7280);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 24px;font-size:.92rem;font-weight:700;transition:color .15s,border-color .15s}.billing-tab:hover{color:var(--color-primary,#7d8171)}.billing-tab--active{color:var(--color-primary,#7d8171);border-bottom-color:var(--color-primary,#7d8171);font-weight:850}.billing-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.billing-toolbar select,.billing-toolbar input[type=text],.billing-toolbar input[type=date]{border:1px solid var(--color-border,#d1d5db);background:#fff;border-radius:10px;padding:7px 12px;font-size:.875rem}.billing-toolbar select{background:#fff}.billing-toolbar input[type=text]{min-width:220px}.billing-btn{cursor:pointer;border:none;border-radius:10px;padding:7px 16px;font-size:.85rem;font-weight:800;transition:opacity .15s,transform .15s}.billing-btn:hover{opacity:.88;transform:translateY(-1px)}.billing-btn:active{transform:translateY(0)}.billing-btn--primary{background:var(--color-primary,#7d8171);color:#fff}.billing-btn--success{color:#fff;background:#16a34a}.billing-btn--warning{color:#fff;background:#f59e0b}.billing-btn--danger{color:#fff;background:#ef4444}.billing-btn--sm{padding:3px 10px;font-size:.78rem}.billing-badge{border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:800;display:inline-block}.billing-badge--draft{color:#374151;background:#e5e7eb}.billing-badge--issued{color:#1e40af;background:#dbeafe}.billing-badge--paid{color:#065f46;background:#d1fae5}.billing-badge--void{color:#991b1b;background:#fee2e2}.billing-message{color:var(--color-muted,#6b7280);padding:8px 0;font-size:.875rem}.billing-message--error{color:#ef4444;font-weight:600}.billing-table-wrap{overflow-x:auto}.billing-table{border-collapse:collapse;width:100%;font-size:.85rem}.billing-table--sm{font-size:.8rem}.billing-table th,.billing-table td{text-align:left;border-bottom:1px solid #e6d7e199;padding:10px 12px}.billing-table th{color:var(--color-muted,#74786a);text-transform:uppercase;letter-spacing:.05em;background:#faeef666;font-size:.72rem;font-weight:800}.billing-table tbody tr:hover{background:#faeef63d}.billing-table__ref{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.billing-table__money{text-align:right;font-weight:700}.billing-table__money--in{color:#16a34a}.billing-table__money--out{color:#dc2626}.billing-table__note{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--color-muted,#74786a);font-size:.8rem;overflow:hidden}.billing-empty{text-align:center;color:var(--color-muted,#9ca3af);font-style:italic;padding:32px 12px!important}.billing-row--income td{background:#16a34a0a}.billing-row--outcome td{background:#dc262608}.billing-amount--income{color:#16a34a;font-weight:800}.billing-amount--outcome{color:#dc2626;font-weight:800}.billing-caja-totals{flex-wrap:wrap;gap:14px;display:flex}.billing-caja-total-item{background:#faeef673;border-radius:10px;padding:7px 16px;font-size:.84rem;font-weight:600}.billing-overlay{z-index:1000;background:#34372e66;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.billing-modal{background:#fff;border-radius:16px;width:100%;max-width:740px;max-height:85vh;overflow-y:auto;box-shadow:0 12px 40px #34372e2e}.billing-modal__header{border-bottom:1px solid var(--color-border,#e5e7eb);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.billing-modal__header h3{margin:0;font-size:1.05rem;font-weight:900}.billing-modal__close{cursor:pointer;color:var(--color-muted,#6b7280);background:0 0;border:none;padding:4px;font-size:1.5rem;line-height:1}.billing-modal__body{padding:18px 20px}.billing-form-group{margin-bottom:12px}.billing-form-group label{color:var(--color-muted,#374151);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:.78rem;font-weight:800;display:block}.billing-form-group input,.billing-form-group select,.billing-form-group textarea{border:1px solid var(--color-border,#d1d5db);box-sizing:border-box;background:#fff;border-radius:10px;width:100%;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.billing-form-group input:focus,.billing-form-group select:focus,.billing-form-group textarea:focus{border-color:var(--color-primary,#7d8171);outline:none;box-shadow:0 0 0 3px #7d81711f}.billing-line-row{align-items:center;gap:6px;margin-bottom:8px;display:flex}.billing-line-row input{border:1px solid var(--color-border,#d1d5db);border-radius:8px;padding:7px 10px;font-size:.85rem}.billing-total-line{text-align:right;color:var(--color-text,#34372e);padding:10px 0;font-size:.95rem}.billing-detail-grid{grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:16px;display:grid}.billing-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.billing-charge-form{background:#faeef64d;border:1px solid #e6d7e1b3;border-radius:12px;margin-top:16px;padding:14px}.billing-charge-form h4{margin:0 0 10px;font-size:.95rem;font-weight:900}@media (width<=800px){.billing-kpi-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.billing-method-bar-row{grid-template-columns:1fr}.billing-method-bar-row__label{text-align:left}.billing-weekly-trend{height:110px}.billing-weekly-trend__bar{width:10px}.billing-detail-grid{grid-template-columns:1fr}}@media (width<=480px){.billing-kpi-card{padding:14px}.billing-kpi-card__value{font-size:1.15rem}.billing-toolbar{flex-direction:column;align-items:stretch}.billing-toolbar input[type=text]{min-width:0}}.communications-page{height:100%;min-height:0;display:grid}.communications-workspace{border:1px solid var(--color-border);background:#fff;border-radius:20px;grid-template-columns:174px minmax(280px,360px) minmax(380px,1fr);height:100%;min-height:0;display:grid;overflow:hidden;box-shadow:0 14px 34px #34372e14}.communications-rail{background:linear-gradient(#faeef6bf,#fff 36%);border-right:1px solid #e6d7e1cc;align-content:start;gap:5px;padding:18px 10px;display:grid}.communications-rail__title{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;padding:0 10px 9px;font-size:.69rem;font-weight:900}.communications-rail button{width:100%;min-height:40px;color:var(--color-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;padding:8px 10px;font-size:.82rem;font-weight:800;display:flex}.communications-rail svg{width:17px;height:17px}.communications-rail button b{min-width:19px;color:var(--color-primary);text-align:center;background:#7d81711f;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:.69rem}.communications-rail button:hover{color:var(--color-primary);background:#faeef6b8}.communications-rail__item--active{box-shadow:0 5px 12px #7d817133;color:#fff!important;background:var(--color-primary)!important}.communications-rail__item--active b{color:var(--color-primary);background:#fff}.communications-inbox{border-right:1px solid #e6d7e1cc;flex-direction:column;min-width:0;display:flex}.communications-inbox__header{padding:18px 16px 12px}.communications-inbox__header>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.communications-inbox h2{color:var(--color-primary);margin:0;font-size:1.02rem}.communications-inbox__header span{color:var(--color-muted);font-size:.74rem;font-weight:700}.communications-inbox input{border:1px solid var(--color-border);width:100%;height:38px;color:var(--color-text);font:inherit;background:#fff;border-radius:10px;margin-top:13px;padding:0 11px;font-size:.8rem}.communications-inbox input:focus,.message-composer textarea:focus{border-color:var(--color-button);outline:3px solid #c96ba938}.communications-list{flex:1;margin:0;padding:0 8px 8px;list-style:none;overflow:auto}.conversation-item{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:13px;gap:10px;padding:11px 8px;display:flex}.conversation-item:hover{background:#faeef685}.conversation-item--active{box-shadow:inset 3px 0 var(--color-button);background:#faeef6e6}.conversation-avatar{color:#fff;background:var(--color-primary);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-size:.72rem;font-weight:900;display:grid}.conversation-avatar--private{background:#8c82bc}.conversation-avatar--classroom{background:var(--color-primary)}.conversation-avatar--global{background:var(--color-button)}.conversation-item__body{flex:1;gap:4px;min-width:0;display:grid}.conversation-item__top,.conversation-item__bottom{justify-content:space-between;align-items:center;gap:7px;min-width:0;display:flex}.conversation-item__top strong,.conversation-item__bottom span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-item__top strong{font-size:.83rem}.conversation-item time{color:var(--color-muted);flex:none;font-size:.68rem}.conversation-item__context{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.conversation-type{border-radius:5px;margin-right:5px;padding:2px 4px;font-size:.61rem;font-weight:900;display:inline-flex}.conversation-type--private{color:#65559d;background:#8c82bc21}.conversation-type--classroom{color:#59604e;background:#7d817121}.conversation-type--global{color:#a94582;background:#c96ba921}.conversation-item__bottom{color:var(--color-muted);font-size:.72rem}.conversation-item__bottom svg{flex:none;width:13px;height:13px}.conversation-item__bottom b{color:#fff;background:var(--color-button);text-align:center;border-radius:999px;min-width:18px;padding:2px 5px;font-size:.65rem}.communications-empty{height:100%;min-height:260px;color:var(--color-muted);text-align:center;place-content:center;justify-items:center;gap:8px;padding:24px;font-size:.82rem;display:grid}.communications-empty svg{width:30px;height:30px;color:var(--color-primary)}.communications-empty strong{color:var(--color-text)}.communication-detail{background:linear-gradient(#faeef64d,#fff 23%);flex-direction:column;min-width:0;display:flex}.communication-detail__header{background:#ffffffdb;border-bottom:1px solid #e6d7e1cc;align-items:center;gap:11px;min-height:82px;padding:15px 20px;display:flex}.communication-detail__header h2,.communication-detail__header p{margin:0}.communication-detail__header h2{font-size:1rem}.communication-detail__header p{color:var(--color-muted);margin-top:4px;font-size:.72rem}.communication-detail__header .conversation-type{vertical-align:middle}.communication-back{border:1px solid var(--color-border);width:33px;height:33px;color:var(--color-primary);cursor:pointer;background:#fff;border-radius:9px;flex:none;place-items:center;display:none}.communication-back svg{width:18px;height:18px}.communication-notice{color:#8f3d70;background:#faeef6cc;border:1px solid #c96ba940;border-radius:10px;align-items:center;gap:8px;margin:12px 18px 0;padding:9px 11px;font-size:.75rem;font-weight:700;display:flex}.communication-notice svg{flex:none;width:16px;height:16px}.message-timeline{flex:1;align-content:start;gap:9px;padding:16px 20px;display:grid;overflow:auto}.message-date{color:var(--color-muted);text-align:center;align-items:center;gap:9px;margin:5px 0 2px;font-size:.68rem;font-weight:800;display:flex}.message-date:before,.message-date:after{content:"";background:#7d817124;flex:1;height:1px}.message{background:#fff;border:1px solid #e6d7e1d1;border-radius:14px 14px 14px 4px;gap:4px;width:fit-content;max-width:min(78%,520px);margin:0;padding:9px 11px;display:grid;box-shadow:0 4px 12px #34372e0a}.message--outgoing{background:var(--color-panel);border-color:#c96ba938;border-radius:14px 14px 4px;justify-self:end}.message__sender{color:var(--color-primary);font-size:.69rem;font-weight:900}.message p{margin:0;font-size:.83rem;line-height:1.4}.message time{color:var(--color-muted);text-align:right;font-size:.64rem}.message__attachment{color:var(--color-primary);background:#ffffffc7;border-radius:8px;padding:7px;font-size:.7rem;font-weight:800}.message-system{color:var(--color-muted);background:#7d81711a;border-radius:999px;justify-self:center;margin:0;padding:5px 9px;font-size:.68rem}.message-composer{background:#fff;border-top:1px solid #e6d7e1cc;align-items:end;gap:9px;padding:13px 16px;display:flex}.message-composer textarea{resize:none;border:1px solid var(--color-border);color:var(--color-muted);font:inherit;background:#fafafa;border-radius:11px;flex:1;padding:9px;font-size:.8rem}.message-composer .app-button{flex:none}.communications-modal-backdrop{z-index:100;background:#34372e6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.communications-modal{border:1px solid var(--color-border);background:#fff;border-radius:18px;width:min(100%,540px);padding:20px;box-shadow:0 24px 60px #34372e40}.communications-modal header{justify-content:space-between;gap:16px;display:flex}.communications-modal header p,.communications-modal h2{margin:0}.communications-modal header p{color:var(--color-muted);font-size:.72rem;font-weight:800}.communications-modal h2{color:var(--color-primary);font-size:1.2rem}.communications-modal header button{width:32px;height:32px;color:var(--color-muted);background:var(--color-panel);cursor:pointer;border:0;border-radius:9px;font-size:1.3rem}.compose-options{gap:9px;margin-top:18px;display:grid}.compose-options button{border:1px solid var(--color-border);color:var(--color-text);text-align:left;cursor:not-allowed;background:#fff;border-radius:12px;grid-template-columns:100px 1fr auto;align-items:center;gap:8px;padding:12px;display:grid}.compose-options strong{color:var(--color-primary)}.compose-options span{color:var(--color-muted);font-size:.78rem}.compose-options small{color:#a94582;font-size:.67rem;font-weight:900}.communications-modal__note{color:var(--color-muted);margin:14px 0 0;font-size:.75rem}.communication-detail--empty{place-items:center;display:grid}.communication-detail__empty{max-width:280px;color:var(--color-muted);text-align:center;justify-items:center;gap:8px;padding:24px;display:grid}.communication-detail__empty svg{width:30px;height:30px;color:var(--color-primary)}.communication-detail__empty h2,.communication-detail__empty p{margin:0}.communication-detail__empty h2{color:var(--color-text);font-size:1rem}.communication-detail__empty p{font-size:.8rem;line-height:1.45}.compose-options button:disabled{opacity:.72}.communications-modal__search input{box-sizing:border-box;border:1px solid var(--color-border);width:100%;height:40px;color:var(--color-text);font:inherit;border-radius:10px;margin-top:18px;padding:0 11px}.compose-options button{cursor:pointer}.compose-options button:hover{background:#faeef685}.communications-page button:focus-visible{outline-offset:2px;outline:3px solid #c96ba966}.communications-inbox{overflow:hidden}.communications-inbox__mobile-filter{display:none}.communications-list{min-height:0}.communications-inbox__footer{z-index:1;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e6d7e1cc;flex:none;position:sticky;bottom:0;box-shadow:0 -8px 18px #34372e0d}.communications-inbox__footer .app-button{width:100%}.communications-classrooms-status{color:var(--color-muted);margin:10px 0 0;font-size:.72rem;font-weight:700;line-height:1.4}.communications-classrooms-status--error{color:#a94582}.communications-classrooms-status button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900;text-decoration:underline}.message-timeline__empty{max-width:320px;color:var(--color-muted);text-align:center;place-self:center;justify-items:center;gap:8px;font-size:.8rem;line-height:1.45;display:grid}.message-timeline__empty svg{width:30px;height:30px;color:var(--color-primary)}.message-timeline__empty strong{color:var(--color-text);font-size:.92rem}.message-timeline__status{color:var(--color-muted);text-align:center;margin:0;font-size:.72rem}.message-attachment{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #7d817133;border-radius:9px;grid-template-columns:42px 1fr;gap:4px 8px;padding:6px;display:grid}.message-attachment img,.message-attachment>span{object-fit:cover;width:42px;height:42px;color:var(--color-primary);background:var(--color-panel);border-radius:6px;grid-row:1/3;place-items:center;font-size:.62rem;font-weight:900;display:grid}.message-attachment b{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.message-attachment small{color:var(--color-muted);font-size:.65rem}.message-composer__attach{color:var(--color-primary);cursor:pointer;align-self:center;font-size:.72rem;font-weight:900}.message-composer__files{grid-column:1/-1;gap:3px;margin:0;padding:0;list-style:none;display:grid}.message-composer__files li{color:var(--color-muted);justify-content:space-between;gap:8px;font-size:.7rem;display:flex}.message-composer__files span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-composer__files button{color:#a94582;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.conversation-avatar--image{background:0 0;padding:0;overflow:hidden}.conversation-avatar--image img{object-fit:contain;object-position:center;border-radius:8px;width:100%;height:100%;display:block}.communication-settings{color:var(--color-muted);background:#faeef673;border:1px solid #7d81712e;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:12px 20px 0;padding:9px 11px;font-size:.73rem;display:flex}.communication-settings label{color:var(--color-primary);align-items:center;gap:7px;font-weight:800;display:flex}.communication-settings input{accent-color:var(--color-button)}.message-composer__error{color:#a94582;grid-column:1/-1;margin:0;font-size:.72rem}@media (width<=1080px){.communications-workspace{grid-template-columns:154px minmax(250px,310px) minmax(330px,1fr)}.communications-rail{padding-inline:8px}.communication-detail__header{padding-inline:14px}}@media (width<=760px){.communications-page{grid-template-rows:minmax(560px,1fr);min-height:calc(100vh - 100px)}.communications-workspace{grid-template-columns:minmax(0,1fr);min-height:560px;position:relative}.communications-rail{display:none}.communications-inbox{border-right:0}.communications-inbox__mobile-filter{color:var(--color-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:.72rem;font-weight:800;display:flex}.communications-inbox__mobile-filter select{border:1px solid var(--color-border);min-width:132px;height:32px;color:var(--color-primary);font:inherit;background:#fff;border-radius:8px;padding:0 8px;font-size:.75rem;font-weight:800}.communication-detail{z-index:1;display:none;position:absolute;inset:0}.communications-page[data-detail-open] .communications-inbox{display:none}.communications-page[data-detail-open] .communication-detail{display:flex}.communication-back{display:grid}.communication-detail__header{min-height:76px;padding:12px}.message-composer{padding:10px}.message-composer .app-button{padding-inline:10px;font-size:.72rem}}@media (width<=480px){.compose-options button{grid-template-columns:1fr auto}.compose-options span{grid-column:1/-1}.message{max-width:88%}.communication-detail__header p{line-height:1.35}.communication-detail__header .conversation-avatar{display:none}}.communications-modal--recipient-picker{width:min(100%,920px);max-height:min(780px,100svh - 32px);padding:24px;overflow:auto}.message__translation{color:var(--color-muted);font-size:.67rem;font-weight:700}.message__translation button{color:var(--color-button);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900;text-decoration:underline}.message__quote{border:0;border-left:3px solid var(--color-button);max-width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#ffffff8c;gap:2px;padding:4px 7px;font-size:.7rem;display:grid}.message__quote span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message__edited{color:var(--color-muted);font-size:.65rem;font-style:italic}.message--deleted p{color:var(--color-muted);font-style:italic}.communication-search{margin-left:auto}.communication-search input{border:1px solid var(--color-border);width:120px;font:inherit;border-radius:8px;padding:7px}.message__actions{gap:5px;display:flex}.message__actions button,.message-composer__reply button{color:var(--color-button);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.7rem;font-weight:800}.message-composer__reply{border-left:3px solid var(--color-button);background:var(--color-panel);justify-content:space-between;gap:8px;padding:6px 8px;font-size:.72rem;display:flex}.message-search-results{z-index:4;border:1px solid var(--color-border);background:#fff;border-radius:10px;max-width:280px;max-height:200px;display:grid;position:absolute;top:90px;right:24px;overflow:auto;box-shadow:0 8px 22px #00000026}.message-search-results button{text-align:left;font:inherit;cursor:pointer;background:#fff;border:0;padding:8px}.communications-modal--recipient-picker header{align-items:start}.communications-modal--recipient-picker header>div{gap:5px;display:grid}.communications-modal--recipient-picker header span{max-width:620px;color:var(--color-muted);font-size:.84rem;line-height:1.45}.communications-modal--recipient-picker .communications-modal__search{color:var(--color-primary);gap:7px;margin-top:22px;font-size:.78rem;font-weight:900;display:grid}.communications-modal--recipient-picker .communications-modal__search input{height:48px;margin:0;font-size:.94rem}.recipient-picker__aulas,.recipient-picker__students{margin-top:22px}.recipient-picker__aulas>div:first-child{gap:3px;display:grid}.recipient-picker__aulas h3,.recipient-picker__students h3,.recipient-picker__aulas p{margin:0}.recipient-picker__aulas h3,.recipient-picker__students h3{color:var(--color-primary);font-size:.94rem}.recipient-picker__aulas p{color:var(--color-muted);font-size:.8rem}.recipient-picker__aula-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.recipient-picker__aula-grid button{border:1px solid var(--color-border);min-height:82px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:11px;padding:12px;display:flex}.recipient-picker__aula-grid button:hover{background:var(--color-panel);border-color:#c96ba98c}.recipient-picker__aula-grid .conversation-avatar{border-radius:13px;width:46px;height:46px}.recipient-picker__aula-grid span:not(.conversation-avatar){gap:4px;min-width:0;display:grid}.recipient-picker__aula-grid strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipient-picker__aula-grid small{color:var(--color-muted);font-size:.75rem}.recipient-picker__aula-grid b{color:var(--color-button);margin-left:auto;font-size:1.3rem}.recipient-picker__back{min-height:44px;color:var(--color-primary);background:var(--color-panel);font:inherit;cursor:pointer;border:0;border-radius:9px;margin-top:16px;padding:0 10px;font-size:.8rem;font-weight:900}.recipient-picker__student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.private-recipient-card{border:1px solid var(--color-border);min-width:0;min-height:152px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:15px;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:12px;padding:13px;display:grid}.private-recipient-card:hover{background:#faeef661;border-color:#c96ba994}.private-recipient-card:disabled{color:var(--color-muted);cursor:not-allowed;background:#f7f7f5}.private-recipient-card__avatar.activity-detail-avatar{border-radius:15px;width:64px;height:64px;font-size:1rem;overflow:hidden}.private-recipient-card__avatar img{object-fit:cover;width:100%;height:100%}.private-recipient-card__body{gap:5px;min-width:0;display:grid}.private-recipient-card__body>strong{color:var(--color-primary);font-size:.9rem}.private-recipient-card__classroom{color:var(--color-muted);font-size:.72rem;font-weight:800}.private-recipient-card__responsables-label{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:2px;font-size:.65rem;font-weight:900}.private-recipient-card__responsables{flex-wrap:wrap;gap:4px;display:flex}.private-recipient-card__responsables span{color:#65559d;background:#8c82bc1f;border-radius:999px;padding:3px 6px;font-size:.68rem;font-weight:800}.private-recipient-card__unreachable{color:#a94582;font-size:.72rem;line-height:1.35}.private-recipient-card__action{color:var(--color-button);grid-column:2;font-size:.72rem;font-weight:900}.private-recipient-card:disabled .private-recipient-card__action{color:var(--color-muted)}.recipient-picker__status{color:var(--color-muted);margin:18px 0 0;font-size:.8rem;font-weight:700}.recipient-picker__status--error{color:#a94582}@media (width<=700px){.communications-modal-backdrop{align-items:end;padding:0}.communications-modal--recipient-picker{border-radius:20px 20px 0 0;width:100%;max-height:calc(100svh - 12px);padding:18px}.recipient-picker__aula-grid,.recipient-picker__student-grid{grid-template-columns:1fr}.private-recipient-card{min-height:144px}.communications-modal--recipient-picker header span{font-size:.78rem}}.message-composer{padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e6d7e1cc;gap:10px;display:grid}.message-composer__actions{align-items:flex-end;gap:9px;min-width:0;display:flex}.message-composer textarea{resize:vertical;box-sizing:border-box;border:1px solid var(--color-border);min-width:0;min-height:44px;max-height:120px;color:var(--color-text);font:inherit;background:#fff;border-radius:13px;flex:1;padding:11px 12px;line-height:1.35}.message-composer__attach{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--color-primary);cursor:pointer;background:#faeef68c;border:1px solid #7d817147;border-radius:12px;justify-content:center;align-self:flex-end;align-items:center;padding:0;display:inline-flex}.message-composer__actions>.app-button{align-self:flex-end;min-height:44px}.message-composer__attach:hover{border-color:var(--color-button);background:var(--color-panel)}.message-composer__attach svg{width:18px;height:18px}.message-composer__attach input{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.message-composer__selection{background:#faeef652;border:1px solid #7d817129;border-radius:13px;gap:7px;padding:9px;display:grid}.message-composer__selection>div{color:var(--color-muted);justify-content:space-between;gap:10px;font-size:.68rem;display:flex}.message-composer__selection strong{color:var(--color-primary);font-size:.72rem}.message-composer__files{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.message-composer__file{background:#fff;border:1px solid #7d81712e;border-radius:10px;flex:205px;grid-template-columns:38px minmax(0,1fr) 34px;align-items:center;gap:8px;min-width:0;padding:5px;display:grid}.message-composer__file--error{background:#fff8fc;border-color:#a9458273}.message-composer__file-preview{width:38px;height:38px;color:var(--color-primary);background:var(--color-panel);border-radius:7px;place-items:center;display:grid;overflow:hidden}.message-composer__file-preview img{object-fit:cover;width:100%;height:100%}.message-composer__file-preview svg{width:19px;height:19px}.message-composer__file-body{gap:3px;min-width:0;display:grid}.message-composer__file-body b{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.message-composer__file-body small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.message-composer__file--error small{color:#a94582}.message-composer__remove{color:#a94582;cursor:pointer;background:#c96ba91f;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.message-composer__remove:hover{background:#c96ba938}.message-composer__remove svg{width:16px;height:16px}.message-composer__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:13px;height:13px;animation:.65s linear infinite attachment-spin}.message-composer .app-button{justify-content:center;align-items:center;gap:7px;min-width:86px;min-height:44px;display:inline-flex}.message-attachment{border-color:#7d817133;border-radius:11px;grid-template-columns:46px minmax(0,1fr);gap:4px 9px;margin-top:3px;padding:7px;box-shadow:0 2px 7px #34372e0a}.message-attachment img,.message-attachment>span{border-radius:8px;width:46px;height:46px}.message-attachment>span svg{width:20px;height:20px}.message-attachment b{font-size:.74rem}.message-attachment small{font-size:.66rem}@keyframes attachment-spin{to{transform:rotate(360deg)}}@media (width<=760px){.message-composer{padding:10px}.message-composer__actions{flex-wrap:wrap;align-items:stretch}.message-composer textarea{flex-basis:calc(100% - 53px)}.message-composer__attach{width:44px;padding:0}.message-composer__attach span{display:none}.message-composer .app-button{flex:1}.message-composer__file{flex-basis:100%;min-height:44px}}.recipient-picker__aula-grid button{gap:12px;min-height:90px;padding:12px 14px;overflow:hidden}.recipient-picker__aula-grid .conversation-avatar--image{border-radius:0;place-items:center;width:60px;height:60px;display:grid;overflow:hidden}.recipient-picker__aula-grid .conversation-avatar--image img{object-fit:contain;object-position:center;border-radius:0;width:48px;max-width:48px;height:48px;max-height:48px}.communications-workspace>*{min-height:0}.communications-rail{overflow:hidden}.communications-inbox{min-height:0}.communication-settings,.message-composer{flex:none}@media (width<=760px){.communications-page{grid-template-rows:1fr;height:100%;min-height:0}.communications-workspace{height:100%;min-height:0}}.message--actionable{cursor:pointer;position:relative}.message--actionable:focus-visible{outline-offset:3px;outline:3px solid #c96ba966}.message__meta{color:var(--color-muted);justify-content:flex-end;gap:6px;font-size:.65rem;display:flex}.message-action-menu{z-index:30;width:min(244px,100vw - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));overscroll-behavior:contain;cursor:default;background:#fff;border:1px solid #7d817138;border-radius:12px;gap:3px;padding:6px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 12px 28px #34372e2e}.message-action-menu button{min-height:34px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 9px;font-size:.76rem;font-weight:800}.message-action-menu button:hover,.message-action-menu button:focus-visible{color:var(--color-primary);background:var(--color-panel);outline:none}.message-action-menu__delete,.message-action-menu__delete:hover,.message-action-menu__delete:focus-visible{color:#a94582!important;background:#c96ba91a!important}.dashboard-page{max-width:1320px;margin:0 auto;padding:6px 0 24px}.dashboard-page__header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.dashboard-page__header h2,.dashboard-panel h2{color:var(--color-primary);letter-spacing:-.03em;margin:0;font-weight:900}.dashboard-page__header h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1}.dashboard-page__header p{color:var(--color-muted);margin:8px 0 0;font-size:.98rem}.dashboard-page__date{color:var(--color-primary);text-transform:capitalize;white-space:nowrap;margin:0;font-size:.86rem;font-weight:850}.dashboard-panel{padding:22px}.dashboard-panel__heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.dashboard-panel h2{font-size:1.2rem}.dashboard-eyebrow{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;margin:0 0 5px;font-size:.73rem;font-weight:850;display:flex}.dashboard-page__summary{grid-template-columns:minmax(230px,.72fr) minmax(0,2fr);gap:16px;margin-bottom:16px;display:grid}.dashboard-expected-students{background:linear-gradient(145deg,#7d817121,#fff 72%);align-content:start;gap:10px;display:grid}.dashboard-expected-students__value{color:var(--color-primary);font-size:clamp(3.1rem,6vw,4.5rem);font-weight:900;line-height:.95}.dashboard-expected-students>p:last-child{color:var(--color-muted);margin:0;font-size:.83rem;line-height:1.42}.dashboard-meals{background:linear-gradient(135deg,#faeef6a3,#fff 58%)}.dashboard-meals__total{color:var(--color-primary);white-space:nowrap;font-size:1.05rem}.dashboard-meals__breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.dashboard-meals__breakdown>div{background:#fffc;border:1px solid #7d817129;border-radius:14px;gap:7px;padding:15px;display:grid}.dashboard-meals__breakdown dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;font-weight:850}.dashboard-meals__breakdown dd{color:var(--color-text);margin:0;font-size:1.7rem;font-weight:900}.dashboard-meals__quality-warning{background:#fff8e9!important;border-color:#bd78248f!important}.dashboard-meals__warning,.dashboard-meals__quality-ok{margin:14px 0 0;font-size:.83rem;line-height:1.45}.dashboard-meals__warning{color:#6d430d}.dashboard-meals__quality-ok{color:var(--color-muted)}.dashboard-empty span{color:var(--color-muted);font-size:.86rem;line-height:1.4}.dashboard-page__lower{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;display:grid}.dashboard-empty{background:#faeef647;border:1px dashed #7d81714d;border-radius:14px;gap:5px;padding:18px;display:grid}.dashboard-empty strong{font-size:.92rem}.dashboard-alerts__list,.dashboard-incidents__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.dashboard-alert{background:#fff8e9;border-left:4px solid #bd7824;border-radius:10px;align-items:flex-start;gap:12px;padding:12px;display:flex}.dashboard-alert--info{background:#f4f4fb;border-left-color:#6d7395}.dashboard-alert__state,.dashboard-incident__tag,.dashboard-incident__severity{border-radius:999px;width:max-content;padding:3px 8px;font-size:.72rem;font-weight:850;display:inline-flex}.dashboard-alert__state{color:#6d430d;background:#bd782429}.dashboard-alert--info .dashboard-alert__state{color:#484e77;background:#6d739529}.dashboard-alert strong{font-size:.88rem}.dashboard-alert p{color:var(--color-muted);margin:4px 0 0;font-size:.82rem;line-height:1.4}.dashboard-incident{border-top:1px solid #7d817124;justify-content:space-between;gap:14px;padding-top:12px;display:flex}.dashboard-incident:first-child{border-top:0;padding-top:0}.dashboard-incident__main{gap:3px;min-width:0;display:grid}.dashboard-incident__main strong{font-size:.9rem}.dashboard-incident__main span,.dashboard-incident__main p,.dashboard-incident__meta>span:last-child{color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.35}.dashboard-incident__meta{flex-wrap:wrap;place-content:flex-start flex-end;gap:5px;min-width:135px;display:flex}.dashboard-incident__tag{color:var(--color-primary);background:#7d81711f}.dashboard-incident__severity{color:#8b5013;background:#e6b56638}.dashboard-state{text-align:center;place-items:center;min-height:380px;display:grid}.dashboard-state>div{justify-items:center;gap:10px;max-width:430px;display:grid}.dashboard-state h2{font-size:1.3rem}.dashboard-state p{color:var(--color-muted);margin:0;line-height:1.5}.dashboard-state__spinner{border:4px solid #7d81712e;border-top-color:var(--color-primary);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite dashboard-spin}@keyframes dashboard-spin{to{transform:rotate(360deg)}}@media (width<=820px){.dashboard-page__summary,.dashboard-page__lower{grid-template-columns:1fr}.dashboard-page__header{flex-direction:column;align-items:flex-start;gap:8px}.dashboard-meals__breakdown{grid-template-columns:1fr}}@media (width<=520px){.dashboard-panel{padding:17px}.dashboard-incident{flex-direction:column}.dashboard-incident__meta{justify-content:flex-start;min-width:0}}@keyframes floatIn{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gentleFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(4deg)}}@keyframes softPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.login-page{min-height:100svh;color:var(--color-text);background:radial-gradient(circle at 12% 18%, #faeef6b8, transparent 26%), var(--color-background);grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);align-items:center;gap:28px;padding:48px;display:grid;position:relative;overflow:hidden}.login-page:before{display:none}.login-hero,.login-panel{animation:.7s both floatIn;position:relative}.login-hero{z-index:1;max-width:820px;padding:38px}.login-logo{filter:drop-shadow(0 26px 36px #34372e29);width:min(520px,72vw);height:auto;margin:42px auto 0;display:block}.login-eyebrow,.panel-kicker{color:var(--color-primary);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:900}.login-hero h1{max-width:780px;color:var(--color-primary);letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,6vw,5.6rem);line-height:.92}.login-copy{max-width:560px;color:var(--color-muted);margin:24px 0 0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7}.login-panel{border:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1;background:#faeef6b8;border-radius:34px;gap:26px;padding:34px;animation-delay:.12s;display:grid;box-shadow:0 30px 90px #34372e24}.login-panel h2{color:var(--color-text);margin:0 0 10px;font-size:2rem}.login-panel p{color:var(--color-muted);margin:0;line-height:1.6}.login-form{gap:16px;display:grid}.login-form label{color:var(--color-text);gap:8px;font-weight:800;display:grid}.login-form input{border:1px solid var(--color-border);width:100%;color:var(--color-text);box-sizing:border-box;background:#ffffffe0;border-radius:18px;outline:none;padding:14px 16px;transition:border-color .18s,box-shadow .18s,transform .18s}.login-form input:focus{border-color:var(--color-button);transform:translateY(-1px);box-shadow:0 0 0 4px #c96ba92e}.remember-account{flex-direction:row;align-items:center;font-size:.95rem;font-weight:800;color:var(--color-muted)!important;grid-template-columns:none!important;gap:10px!important;display:flex!important}.remember-account input{width:18px;height:18px;accent-color:var(--color-button)}.login-form button{color:#fff;background:var(--color-button);cursor:pointer;border:0;border-radius:18px;padding:15px 18px;font-weight:900;transition:transform .18s,box-shadow .18s,opacity .18s;box-shadow:0 16px 34px #c96ba957}.login-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 42px #c96ba96b}.login-form button:disabled{cursor:wait;opacity:.72}.status-message{width:fit-content;max-width:100%;color:var(--color-muted);background:#ffffffc7;border-radius:16px;padding:11px 14px;font-weight:800}.status-message-ok{color:#307153;background:#e9f7ef}.status-message-error{color:#a13f33;background:#fdeaea}.status-message-loading,.status-message-checking{color:#7d6840;background:#fff6df}.decorative-details{pointer-events:none;z-index:0;position:absolute;inset:0}.detail-dot,.detail-item,.detail-orb,.detail-semicircle,.detail-shape{-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:absolute}.detail-dot{background:var(--color-button);opacity:.42;border-radius:999px;width:18px;height:18px;animation:3.4s ease-in-out infinite softPulse}.detail-orb{background:color-mix(in srgb, var(--color-panel) 78%, transparent);border-radius:999px;animation:5s ease-in-out infinite softPulse}.detail-semicircle{background:color-mix(in srgb, var(--color-purple) 22%, transparent);animation:5.4s ease-in-out infinite softPulse}.detail-shape{opacity:.34;animation:5.2s ease-in-out infinite gentleFloat}.detail-square{background:#faeef6b8;border-radius:7px;width:24px;height:24px}.detail-triangle{border-left:14px solid #0000;border-right:14px solid #0000;border-bottom:24px solid var(--color-button);width:0;height:0}.detail-item{color:var(--color-primary);opacity:.64;font-weight:900;animation:4.6s ease-in-out infinite gentleFloat}.detail-book{color:#0000;background:linear-gradient(90deg, var(--color-button) 0 44%, #fff 44% 52%, var(--color-purple) 52%);border-radius:7px;width:34px;height:24px;box-shadow:0 10px 22px #34372e1f}.detail-pencil,.detail-star,.detail-letter{text-shadow:0 8px 18px #34372e1f}.detail-orb-one{width:170px;height:170px;top:15%;left:34%}.detail-orb-two{width:118px;height:118px;animation-delay:.9s;bottom:10%;left:3%}.detail-semicircle-one{display:none}.detail-semicircle-two{border-radius:999px 999px 0 0;width:160px;height:80px;animation-delay:1.5s;bottom:0;left:0}.detail-semicircle-three{display:none}.detail-dot-one{top:19%;left:39%}.detail-dot-two{background:var(--color-primary);width:12px;height:12px;animation-delay:.6s;top:79%;left:3%}.detail-dot-three{width:14px;height:14px;animation-delay:1.2s;top:82%;left:25%}.detail-dot-four{background:#faeef6b8;width:10px;height:10px;animation-delay:1.6s;top:44%;left:52%}.detail-dot-five{background:var(--color-button);width:12px;height:12px;animation-delay:2.1s;top:70%;left:92%}.detail-square-one{animation-delay:.5s;top:34%;left:48%;transform:rotate(4deg)}.detail-square-two{display:none}.detail-triangle-one{animation-delay:.9s;top:24%;left:58%;transform:rotate(-14deg)}.detail-triangle-two{border-bottom-color:var(--color-purple);animation-delay:2.2s;top:68%;left:84%;transform:rotate(18deg)}.detail-book-one,.detail-book-two,.detail-book-three{display:none}.detail-pencil-one{color:var(--color-button);font-size:1.6rem;animation-delay:.9s;top:22%;left:18%}.detail-pencil-two{color:var(--color-primary);font-size:1.55rem;animation-delay:1.4s;top:67%;left:38%}.detail-pencil-three{color:var(--color-purple);font-size:1.45rem;animation-delay:2.2s;top:16%;left:83%}.detail-star-one{color:var(--color-button);font-size:2rem;animation-delay:.5s;top:13%;left:24%}.detail-star-two{color:var(--color-button);font-size:1.5rem;animation-delay:1.6s;top:61%;left:31%}.detail-star-three{color:var(--color-purple);font-size:1.25rem;animation-delay:2.4s;top:30%;left:71%}.detail-letter-a{color:color-mix(in srgb, var(--color-primary) 24%, transparent);font-size:2.3rem;animation-delay:.7s;top:73%;left:2%}.detail-letter-b{color:color-mix(in srgb, var(--color-button) 34%, transparent);font-size:2rem;animation-delay:1.3s;top:80%;left:30%}.detail-letter-c{color:color-mix(in srgb, var(--color-purple) 42%, transparent);font-size:1.9rem;animation-delay:1.8s;top:13%;left:48%}.detail-letter-d{color:color-mix(in srgb, var(--color-primary) 26%, transparent);font-size:1.8rem;animation-delay:2.4s;top:23%;left:77%}.detail-letter-e{color:color-mix(in srgb, var(--color-purple) 36%, transparent);font-size:1.7rem;animation-delay:2.9s;top:57%;left:48%}.detail-letter-f{color:color-mix(in srgb, var(--color-button) 32%, transparent);font-size:1.65rem;animation-delay:3.3s;top:79%;left:76%}.detail-letter-g{color:color-mix(in srgb, var(--color-purple) 34%, transparent);font-size:1.6rem;animation-delay:3.8s;top:13%;left:93%}@media (width<=1180px){.login-page{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:24px;padding:36px}.login-hero{padding:24px}.login-hero h1{font-size:clamp(2.8rem,7vw,4.8rem)}.login-logo{width:min(440px,54vw)}}@media (width<=900px){.login-page{grid-template-columns:1fr;align-content:center;gap:24px;padding:30px 22px;overflow-y:auto}.login-hero,.login-panel{width:min(100%,620px);margin-inline:auto}.login-hero{text-align:center;padding:8px 4px 0}.login-hero h1{max-width:620px;margin-inline:auto;font-size:clamp(2.45rem,10vw,4.1rem);line-height:.96}.login-copy{max-width:540px;margin:18px auto 0;font-size:1rem;line-height:1.55}.login-logo{width:min(340px,74vw);margin-top:26px}.login-panel{border-radius:28px;gap:22px;padding:28px}.login-panel h2{font-size:1.75rem}.detail-orb-one,.detail-orb-two,.detail-semicircle-two,.detail-square-one,.detail-square-two,.detail-triangle-one,.detail-triangle-two,.detail-pencil-two,.detail-pencil-three,.detail-star-two,.detail-star-three,.detail-letter-a,.detail-letter-b,.detail-letter-c,.detail-letter-d,.detail-letter-e,.detail-letter-f,.detail-letter-g,.detail-dot-three,.detail-dot-four,.detail-dot-five{display:none}.detail-pencil-one{top:12%;left:8%}.detail-star-one{top:10%;left:auto;right:9%}.detail-dot-one{top:18%;left:auto;right:20%}.detail-dot-two{top:92%;left:8%}}@media (width<=640px){.login-page{justify-content:stretch;padding:24px 16px}.login-eyebrow,.panel-kicker{letter-spacing:.14em;font-size:.68rem}.login-hero h1{letter-spacing:-.05em;font-size:clamp(2.15rem,12vw,3.2rem)}.login-copy{font-size:.96rem}.login-logo{filter:drop-shadow(0 18px 26px #34372e24);width:min(280px,78vw);margin-top:18px}.login-panel{border-radius:24px;gap:18px;padding:22px;box-shadow:0 22px 58px #34372e1f}.login-panel h2{font-size:1.55rem}.login-panel p{font-size:.95rem}.login-form{gap:14px}.login-form input,.remember-account{flex-direction:row;align-items:center;font-size:.95rem;font-weight:800;color:var(--color-muted)!important;grid-template-columns:none!important;gap:10px!important;display:flex!important}.remember-account input{width:18px;height:18px;accent-color:var(--color-button)}.login-form button{border-radius:16px;padding:13px 14px}}@media (width<=420px){.login-page{gap:18px;padding:20px 12px}.login-hero h1{font-size:clamp(1.95rem,13vw,2.7rem)}.login-copy{margin-top:14px;font-size:.9rem}.login-logo{width:min(230px,76vw)}.login-panel{border-radius:22px;padding:18px}.login-panel h2{font-size:1.38rem}.status-message{width:auto;font-size:.88rem}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.calendar-list{gap:10px;display:grid}.calendar-course-workspace{grid-template-columns:minmax(260px,.8fr) minmax(0,1.7fr);gap:28px;margin-top:18px;display:grid}.calendar-course-list{align-content:start;gap:14px;display:grid}.calendar-course-list__eyebrow,.calendar-course-detail__header p{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:900}.calendar-course-list__cards{gap:18px;display:grid}.calendar-course-list__item{background:#fff;border:1px solid #e6d7e1e6;border-radius:20px;gap:0;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 2px 5px #34372e08,0 12px 28px #34372e12}.calendar-course-list__item.is-selected{border-color:#c96ba9b3;transform:translateY(-2px);box-shadow:0 0 0 3px #c96ba924,0 18px 36px #34372e21}.calendar-course-list__item.is-generated:not(.is-selected){border-color:#7d817147}.calendar-course-list__item.is-loading{border-style:dashed}.calendar-course-list__select{min-width:0;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:14px;padding:0 18px 16px;display:grid}.calendar-course-list__item:hover:not(:has(.calendar-course-list__select:disabled)){border-color:#7d81715c;transform:translateY(-3px);box-shadow:0 18px 36px #34372e1f}.calendar-course-list__item.is-selected:hover{border-color:#c96ba9c7;box-shadow:0 0 0 3px #c96ba924,0 20px 40px #34372e26}.calendar-course-list__select:hover:not(:disabled) strong{color:var(--color-primary)}.calendar-course-list__select:focus-visible{outline-offset:-3px;outline:3px solid #c96ba96b}.calendar-course-list__select:disabled{cursor:wait}.calendar-course-list__header{background:linear-gradient(135deg,#faeef6e6,#ffffffeb 62%,#7d81711a);gap:10px;margin:0 -18px;padding:18px 18px 16px;display:grid}.calendar-course-list__item.is-generated .calendar-course-list__header{background:linear-gradient(135deg,#7d817126,#fffffff0 66%,#faeef680)}.calendar-course-list__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.calendar-course-list__heading strong{letter-spacing:-.015em;font-size:1.08rem;line-height:1.25}.calendar-course-list__dates{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:5px;font-size:.8rem;font-weight:750;display:flex}.calendar-course-list__dates>span:first-child{color:var(--color-text);letter-spacing:.08em;text-transform:uppercase;margin-right:3px;font-size:.68rem;font-weight:900}.calendar-course-list__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.calendar-course-list__metrics div{background:linear-gradient(145deg,#faeef68a,#ffffffe6);border:1px solid #7d817121;border-radius:14px;align-content:center;gap:3px;min-height:74px;padding:12px;display:grid}.calendar-course-list__metrics dt{color:var(--color-muted);letter-spacing:.02em;font-size:.68rem;font-weight:850}.calendar-course-list__metrics dd{color:var(--color-text);margin:0;font-size:1.42rem;font-weight:900;line-height:1}.calendar-course-list__generated-at{color:var(--color-muted);align-items:center;gap:7px;font-size:.74rem;font-weight:750;display:flex}.calendar-course-list__generated-at span{align-items:center;gap:7px;display:inline-flex}.calendar-course-list__generated-at span:after{content:"";background:#7d8171a6;border-radius:50%;width:3px;height:3px}.calendar-course-list__badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-radius:999px;flex:none;padding:5px 9px;font-size:.64rem;font-weight:900}.calendar-course-list__badge.is-ready{color:#9e3d77;background:#faeef6e6;border-color:#c96ba952}.calendar-course-list__badge.is-generated{color:#4f5448;background:#7d817124;border-color:#7d817138}.calendar-course-list__item.is-loading .calendar-course-list__badge{border-style:dashed}.calendar-course-list__actions{background:#faeef64d;border-top:1px solid #7d81711f;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-height:58px;padding:10px 18px;display:flex}.calendar-course-list__actions .app-button{border-radius:10px;flex:0 auto;min-height:34px;padding:8px 11px;font-size:.78rem}.calendar-course-detail{border:1px solid var(--color-border);background:#faeef66b;border-radius:20px;min-width:0;padding:22px}.calendar-course-detail__header{border-bottom:1px solid #7d817138;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:16px;display:flex}.calendar-course-detail__header h3{margin:4px 0 0;font-size:1.3rem}.calendar-course-detail__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-modal__card.course-reschedule-modal__card{width:min(900px,100vw - 32px);max-height:min(860px,100svh - 24px);overflow:auto}.course-reschedule-modal__card{gap:16px;display:grid}.course-reschedule__choices{border:1px solid var(--color-border);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0;padding:12px;display:grid}.course-reschedule__choices legend{padding:0 6px;font-weight:900}.course-reschedule__card{cursor:pointer;background:#fff;border:1px solid #7d817147;border-radius:12px;gap:3px;min-height:44px;padding:12px;display:grid}.course-reschedule__card:has(input:checked){border-color:var(--color-button);box-shadow:0 0 0 3px #c96ba929}.course-reschedule__card span{color:var(--color-muted);font-size:.8rem}.course-reschedule__impact{background:#faeef68f;border:1px solid #c96ba95c;border-radius:12px;gap:5px;padding:14px;display:grid}.course-reschedule__impact p{margin:0}.course-reschedule__footer{background:#fff;margin:0 -2px;padding:14px 2px 2px;position:sticky;bottom:0}.settings-modal__card.course-holidays-modal__card{box-sizing:border-box;background:#fff;gap:0;width:min(1480px,100vw - 48px);min-width:0;max-width:none;max-height:min(860px,100svh - 48px);padding:0;overflow:hidden auto;box-shadow:0 18px 48px #36363633}.course-holidays-modal__header{z-index:2;background:#fffffff5;border-bottom:1px solid #7d817133;align-items:flex-start;padding:22px 24px 18px;position:sticky;top:0;box-shadow:0 5px 14px #3636360f}.course-holidays-modal__card .course-holidays-modal__header p{color:var(--color-muted);margin:4px 0 0;font-size:.88rem;font-weight:700}.course-holidays-modal__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary)!important;font-size:.7rem!important;font-weight:900!important}.course-holidays-modal__content{gap:18px;padding:20px 24px 24px;display:grid}.course-holidays-modal__overview{justify-content:space-between;align-items:center;gap:12px;display:flex}.course-holidays-modal__summary,.course-holidays-modal__mode,.course-holidays-modal__status{color:var(--color-muted);margin:0;font-size:.88rem;font-weight:750}.course-holidays-modal__summary strong{color:var(--color-primary);font-size:1.25rem}.course-holidays-modal__mode{color:#fff;background:var(--color-primary);border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:900}.course-holidays-modal__mode.is-read-only{color:var(--color-text);background:#7d81712b}.course-holidays__legend{color:var(--color-muted);background:#ffffffb8;border:1px solid #7d817129;border-radius:12px;flex-wrap:wrap;gap:8px 16px;margin:0;padding:10px 12px;font-size:.76rem;font-weight:800;list-style:none;display:flex}.course-holidays__legend li{align-items:center;gap:6px;display:inline-flex}.course-holidays__legend-swatch{box-sizing:border-box;background:#fff;border:1px solid #7d817147;border-radius:4px;width:12px;height:12px}.course-holidays__legend-swatch.is-school-day{background:#faeef68c}.course-holidays__legend-swatch.is-selected{border-color:var(--color-button);background:var(--color-button)}.course-holidays__legend-swatch.is-weekend{background:#7d81711a}.course-holidays__legend-swatch.is-out-of-range{opacity:.55;background:#7d81710d;border-style:dashed}.course-holidays__months{grid-template-columns:repeat(4,minmax(280px,1fr));gap:16px;display:grid}.course-holidays__month{background:#fff;border:1px solid #7d81712e;border-radius:14px;min-width:0;min-height:292px;padding:16px;box-shadow:0 4px 12px #3636360f}.course-holidays__month h3{color:var(--color-primary);letter-spacing:.01em;text-transform:capitalize;margin:0;font-size:1rem;font-weight:900}.course-holidays__weekdays,.course-holidays__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:10px;display:grid}.course-holidays__weekdays{color:var(--color-muted);text-align:center;font-size:.68rem;font-weight:900}.course-holidays__weekdays span:nth-child(6),.course-holidays__weekdays span:nth-child(7){color:var(--color-primary)}.course-holidays__day{min-height:34px;color:var(--color-text);font:inherit;cursor:pointer;background:#faeef68c;border:1px solid #0000;border-radius:8px;font-weight:750;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s}.course-holidays__day.is-weekend{background:#7d817117}.course-holidays__day.is-selected{color:#fff;background:var(--color-button);border-color:#c96ba9b3;box-shadow:inset 0 0 0 1px #ffffff3d,0 2px 5px #c96ba938}.course-holidays__day.is-out-of-range{color:var(--color-muted);background:#7d81710a;border-style:dashed}.course-holidays__day:hover:not(:disabled){border-color:var(--color-button);background:#faeef6eb;transform:translateY(-1px)}.course-holidays__day.is-selected:hover:not(:disabled){background:var(--color-button)}.course-holidays__day:focus-visible{outline-offset:2px;outline:3px solid #c96ba966}.course-holidays__day:disabled{cursor:not-allowed}.course-holidays__day.is-out-of-range:disabled{opacity:.48}.course-holidays__day.is-read-only:not(.is-out-of-range):disabled{opacity:1;cursor:default}.calendar-editor__course{color:var(--color-muted);margin:0;font-weight:750}.calendar-list__item{border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#faeef661;border-radius:18px;justify-content:space-between;align-items:center;padding:16px 18px;transition:border-color .16s,background .16s,transform .16s;display:flex}.calendar-list__item:hover{border-color:var(--color-primary);background:#faeef6b8;transform:translateY(-1px)}.calendar-list__item:focus-visible,.calendar-editor__remove:focus-visible,.calendar-editor__add:focus-visible{outline-offset:3px;outline:3px solid #c96ba961}.calendar-list__item span:first-child{gap:4px;display:grid}.calendar-list__item strong{font-weight:900}.calendar-list__item small{color:var(--color-muted);font-weight:750}.calendar-list__item>span:last-child{color:var(--color-button);font-size:1.8rem}.settings-modal__card.calendar-modal__card--wide{gap:16px;width:min(1400px,100vw - 40px)}.calendar-course-modal__card{width:min(560px,100vw - 40px)}.calendar-modal__header{border-bottom:1px solid #7d81712e;padding-bottom:14px}.calendar-modal__eyebrow{color:var(--color-muted);letter-spacing:.11em;text-transform:uppercase;margin:0 0 4px;font-size:.7rem;font-weight:900}.calendar-editor__identity{align-items:end;gap:18px;min-width:0;display:flex}.calendar-editor__name-field{flex:420px;min-width:min(100%,280px)}.calendar-editor__aulas{flex-wrap:wrap;flex:360px;align-items:center;gap:7px;min-width:0;padding-bottom:1px;display:flex}.calendar-editor__aulas-heading h3,.calendar-editor__aulas-status{margin:0}.calendar-editor__aulas-heading h3{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:900}.calendar-editor__aulas-status{color:var(--color-muted);font-size:.84rem;font-weight:750}.calendar-editor__aulas-list{flex-wrap:wrap;flex:180px;gap:7px;min-width:0;display:flex}.calendar-editor__aula{border:1px solid var(--color-primary);color:var(--color-text);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:850;line-height:1.2;transition:background .15s,border-color .15s,color .15s,transform .15s}.calendar-editor__aula:hover:not(:disabled){border-color:var(--color-button);background:var(--color-panel);transform:translateY(-1px)}.calendar-editor__aula.is-selected{border-color:var(--color-button);color:var(--color-text);background:var(--color-button);box-shadow:0 3px 8px #c96ba947}.calendar-editor__aula.is-selected:hover:not(:disabled){border-color:var(--color-button);background:var(--color-button)}.calendar-editor__aula:focus-visible{outline-offset:3px;outline:3px solid #c96ba973}.calendar-editor__aula:disabled{opacity:.58;cursor:wait}.calendar-editor__body{flex:auto;min-height:0;padding:2px 2px 8px;overflow:auto}.calendar-editor__table--desktop-grid{--calendar-editor-grid-columns:minmax(260px, .9fr) minmax(280px, 2.4fr) repeat(5, 46px) 48px;gap:8px;width:100%;min-width:0;display:grid}.calendar-editor__head,.calendar-editor__row{grid-template-columns:var(--calendar-editor-grid-columns);align-items:center;gap:10px;display:grid}.calendar-editor__head{color:var(--color-muted);letter-spacing:.06em;text-align:center;text-transform:uppercase;margin:0 13px;font-size:.74rem;font-weight:900}.calendar-editor__head span:nth-child(-n+2){text-align:left}.calendar-editor__action-head{min-height:44px;font-size:0}.calendar-editor__row{border:1px solid var(--color-border);background:#faeef64d;border-radius:18px;padding:12px}.calendar-editor__time{color:var(--color-muted);align-items:center;gap:6px;font-weight:900;display:flex}.calendar-editor__time label{flex:1;min-width:0}.calendar-editor__time input,.calendar-editor__activity input{box-sizing:border-box;border:1px solid var(--color-border);width:100%;min-height:40px;color:var(--color-text);font:inherit;background:#fff;border-radius:10px;padding:8px 9px;font-size:.84rem;font-weight:750}.calendar-editor__time input[type=time]{min-width:116px;padding:8px 32px 8px 10px}.calendar-editor__time input[type=time]::-webkit-calendar-picker-indicator{margin-left:4px}.calendar-editor__time input:focus,.calendar-editor__activity input:focus{border-color:var(--color-button);outline-offset:1px;outline:3px solid #c96ba92e}.calendar-editor__activity{min-width:0;position:relative}.calendar-editor__activity label{min-width:0}.calendar-editor__combobox{display:block}.calendar-editor__suggestions{z-index:110;box-sizing:border-box;border:1px solid var(--color-border);background:#fff;border-radius:10px;max-height:176px;position:fixed;overflow-y:auto;box-shadow:0 8px 18px #3636362e}.calendar-editor__suggestions [role=option]{cursor:pointer;padding:9px 10px;font-size:.84rem;font-weight:750;line-height:18px}.calendar-editor__suggestions [role=option]:hover,.calendar-editor__suggestions [role=option].is-active{background:var(--color-panel)}.calendar-editor__suggestions p{color:var(--color-muted);margin:0;padding:9px 10px;font-size:.84rem;font-weight:750;line-height:18px}.calendar-editor__day{cursor:pointer;place-items:center;min-width:0;min-height:44px;display:grid}.calendar-editor__day input{opacity:0;position:absolute}.calendar-editor__day span{box-sizing:border-box;border:2px solid var(--color-border);width:38px;max-width:100%;height:38px;color:var(--color-muted);background:#fff;border-radius:50%;place-items:center;font-size:.82rem;font-weight:900;transition:border-color .15s,background .15s,color .15s,transform .15s;display:grid}.calendar-editor__day:hover span{border-color:var(--color-button);transform:translateY(-1px)}.calendar-editor__day input:checked+span{border-color:var(--color-button);color:#fff;background:var(--color-button);box-shadow:0 3px 8px #c96ba947}.calendar-editor__day input:focus-visible+span{outline-offset:3px;outline:3px solid #c96ba959}.calendar-editor__row-action{place-items:center;min-height:44px;display:grid}.calendar-editor__remove{color:#a8322a;cursor:pointer;background:#e74c3c1a;border:1px solid #0000;border-radius:10px;place-items:center;width:44px;height:44px;line-height:1;display:grid}.calendar-editor__remove svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:20px;height:20px}.calendar-editor__remove:hover{background:#e74c3c2e;border-color:#a8322a40}.calendar-editor__add{border:1px dashed var(--color-primary);color:var(--color-text);font:inherit;cursor:pointer;background:#faeef685;border-radius:12px;margin-top:12px;padding:10px 14px;font-weight:850}.calendar-editor__add:hover{background:#faeef6d6;border-style:solid}.calendar-editor__empty{color:var(--color-muted);margin:0;font-weight:750}.calendar-modal__actions{border-top:1px solid #7d81712e;padding-top:16px}@media (width<=800px){.calendar-course-workspace{grid-template-columns:1fr;gap:16px}.calendar-course-detail{padding:16px}.calendar-course-detail__header{flex-direction:column;align-items:flex-start}.calendar-course-detail__actions{justify-content:flex-start}.calendar-modal__card--wide{width:100%}.calendar-editor__identity{flex-direction:column;align-items:stretch;gap:10px}.calendar-editor__aulas{flex-basis:auto;padding-bottom:0}.calendar-editor__table--desktop-grid{min-width:0}.calendar-editor__head{display:none}.calendar-editor__row{grid-template-columns:repeat(5,minmax(0,1fr)) 42px;gap:10px;padding:14px}.calendar-editor__time,.calendar-editor__activity{grid-column:1/-1}.calendar-editor__time:before,.calendar-editor__activity:before{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font-size:.7rem;font-weight:900}.calendar-editor__time:before{content:"Horario"}.calendar-editor__activity:before{content:"Actividad"}.calendar-editor__time{grid-template-columns:1fr auto 1fr;display:grid}.calendar-editor__time input[type=time]{min-width:0}.calendar-editor__time:before{grid-column:1/-1}.calendar-editor__row-action{grid-column:1/-1;place-self:center end}}@media (width<=1279px){.course-holidays__months{grid-template-columns:repeat(2,minmax(280px,1fr))}}@media (width<=700px){.course-holidays__months{grid-template-columns:minmax(0,1fr)}.course-holidays-modal__overview{flex-direction:column;align-items:flex-start}}@media (width<=520px){.calendar-course-list__select{padding:0 15px 14px}.calendar-course-list__header{margin:0 -15px;padding:16px 15px 14px}.calendar-course-list__metrics div{min-height:68px;padding:10px}.calendar-course-list__actions{justify-content:stretch}.calendar-course-list__actions .app-button{flex:132px}.calendar-modal__card{gap:14px}.settings-modal__card.course-holidays-modal__card{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.course-holidays-modal__header{padding:18px 16px 14px}.course-holidays-modal__content{padding:16px}.course-holidays__month{min-height:0}.calendar-editor__row{grid-template-columns:repeat(5,1fr) 42px;gap:7px;padding:12px}.calendar-editor__day span{aspect-ratio:1;width:min(34px,100%);height:auto}.calendar-modal__actions,.calendar-modal__actions .settings-modal__main-actions{flex-direction:column-reverse;align-items:stretch}.calendar-modal__actions .app-button{width:100%}}.classroom-calendar-modal__card{gap:16px;width:min(1320px,100vw - 40px)}.classroom-calendar-modal__header{border-bottom:1px solid #7d81712e;padding-bottom:14px}.classroom-calendar-modal__eyebrow{color:var(--color-muted);letter-spacing:.11em;text-transform:uppercase;margin:0 0 4px;font-size:.7rem;font-weight:900}.classroom-calendar-modal__controls{grid-template-columns:minmax(280px,1.6fr) repeat(2,minmax(220px,.8fr));align-items:end;gap:18px;display:grid}.classroom-calendar-modal__controls .settings-field{min-width:0}.classroom-calendar-modal__controls input,.classroom-calendar-modal__controls select{box-sizing:border-box;width:100%}.classroom-calendar-modal__feedback{gap:8px;width:100%;display:grid}.classroom-calendar-modal__generated{color:var(--color-primary);background:#7d81711a;border-radius:12px;margin:0;padding:9px 12px;font-size:.78rem;font-weight:900}.classroom-calendar-modal__state{color:var(--color-muted);background:#faeef66b;border-radius:12px;margin:0;padding:10px 12px;font-size:.86rem;font-weight:800}.classroom-calendar-modal__state.settings-error{border:1px solid #a8322a33;margin:0}.classroom-calendar-modal__body{flex:auto;min-height:0;padding:2px 2px 8px;overflow:auto}.classroom-calendar-modal__months{grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;display:grid}.classroom-calendar-month{background:#fff;border:1px solid #e7e5e3;border-radius:18px;padding:12px;box-shadow:0 5px 14px #3f43390a}.classroom-calendar-month h3{margin:0 0 12px}.classroom-calendar-month__select{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e7e5e3;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;display:flex}.classroom-calendar-month__title{text-transform:capitalize;font-size:.94rem;font-weight:900}.classroom-calendar-month__status{color:var(--color-muted);letter-spacing:.02em;background:#f7f7f6;border-radius:999px;flex:none;padding:3px 6px;font-size:.68rem;font-weight:900}.classroom-calendar-month__select:hover:not(:disabled){background:#fdfcfc;border-color:#c9c5c2}.classroom-calendar-month__select:focus-visible,.classroom-calendar-month__weekday:focus-visible,.classroom-calendar-month__day--selectable:focus-visible{outline-offset:2px;outline:3px solid #c96ba96b}.classroom-calendar-month__select[data-selection-state=mixed]{background:#fff;border-color:#c96ba994}.classroom-calendar-month__select[data-selection-state=mixed] .classroom-calendar-month__status{color:#82345f;background:#faeaf3}.classroom-calendar-month__select[data-selection-state=true]{background:#fff8fc;border-color:#b65794}.classroom-calendar-month__select[data-selection-state=true] .classroom-calendar-month__status{color:#743052;background:#f6dce9}.classroom-calendar-month__weekdays,.classroom-calendar-month__days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.classroom-calendar-month__weekdays{margin-bottom:7px;font-size:.68rem;font-weight:900}.classroom-calendar-month__weekday{min-width:0;min-height:27px;color:var(--color-muted);font:inherit;cursor:pointer;background:#fff;border:1px solid #eceae8;border-radius:7px;padding:3px 0}.classroom-calendar-month__weekday:hover:not(:disabled){background:#fdfcfc;border-color:#d4d0ce}.classroom-calendar-month__weekday[data-selection-state=mixed]{color:#82345f;background:#fff8fc;border-color:#c96ba980}.classroom-calendar-month__weekday[data-selection-state=true]{color:#743052;background:#faeaf3;border-color:#b65794}.classroom-calendar-month__weekday--weekend{color:#9b9692;cursor:default;background:#fbfaf9;border-color:#0000}.classroom-calendar-month__day{aspect-ratio:1;min-width:0;min-height:32px;color:var(--color-text);font:inherit;background:#fff;border:1px solid #eceae8;border-radius:9px;place-items:center;font-size:.78rem;font-weight:800;display:grid;position:relative}.classroom-calendar-month__day--selectable{cursor:pointer}.classroom-calendar-month__day--selectable:hover:not(:disabled){background:#fdfcfc;border-color:#d4d0ce}.classroom-calendar-month__day--selected{color:#3d2834;box-shadow:none;background:#faeaf3;border-color:#b65794}.classroom-calendar-month__day-check{color:#9f3f76;font-size:.55rem;font-weight:900;line-height:1;position:absolute;bottom:1px;right:3px}.classroom-calendar-month__day--weekend{color:#9b9692;background:#fbfaf9;border-color:#f0eeec}.classroom-calendar-month__day--today,.classroom-calendar-month__day--today.classroom-calendar-month__day--selected{box-shadow:inset 0 0 0 2px #7d8171}.classroom-calendar-modal__actions{border-top:1px solid #7d81712e;padding-top:14px}.classroom-calendar-modal__actions>div{align-items:center;gap:12px;margin-left:auto;display:flex}.classroom-calendar-modal__notice{color:var(--color-muted);font-size:.8rem;font-weight:750}@media (width<=1000px){.classroom-calendar-modal__months{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media (width<=720px){.classroom-calendar-modal__card{width:100%}.classroom-calendar-modal__controls{grid-template-columns:1fr;gap:10px}.classroom-calendar-modal__months{grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px}.classroom-calendar-month{padding:11px}.classroom-calendar-modal__actions{flex-direction:column-reverse;align-items:stretch}.classroom-calendar-modal__actions>div{flex-direction:column-reverse;align-items:stretch;width:100%}.classroom-calendar-modal__actions .app-button{width:100%}}@media (width<=420px){.classroom-calendar-modal__months{grid-template-columns:1fr}}.activity-families-modal__card{width:min(680px,100%);max-height:calc(100svh - 40px);overflow-y:auto}.activity-families-modal__form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.activity-families-modal__count{color:var(--color-muted);font-size:.8rem;font-weight:800}.activity-families-modal__form-actions{gap:8px;display:flex}.activity-families-modal__meal-toggle{color:var(--color-text);cursor:pointer;grid-column:1/-1;align-items:flex-start;gap:10px;display:flex}.activity-families-modal__color{grid-column:1/-1}.activity-families-modal__meal-toggle input{width:18px;height:18px;accent-color:var(--color-primary);flex:none;margin-top:2px}.activity-families-modal__meal-toggle span{gap:3px;display:grid}.activity-families-modal__meal-toggle strong{font-size:.88rem}.activity-families-modal__meal-toggle small{color:var(--color-muted);font-size:.8rem;font-weight:700;line-height:1.35}.activity-families-modal__list{gap:8px;display:grid}.activity-families-modal__row{border:1px solid var(--color-border);background:#faeef659;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-weight:800;display:flex}.activity-families-modal__row>div{gap:8px;display:flex}.activity-families-modal__swatch{vertical-align:-.05rem;border:1px solid #34372e2e;border-radius:50%;width:.75rem;height:.75rem;display:inline-block}.activity-families-modal__retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900;text-decoration:underline}.activity-family-selector{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.activity-family-selector legend{color:var(--color-text);font-size:.86rem;font-weight:900}.activity-family-selector__hint{color:var(--color-muted);margin:-5px 0 0;font-size:.82rem;font-weight:700}.activity-family-selector__search input{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;background:#faeef647;border-radius:12px;padding:10px 12px;font-weight:800}.activity-family-selector__options{border:1px solid var(--color-border);background:#faeef62e;border-radius:14px;gap:6px;max-height:180px;padding:8px;display:grid;overflow-y:auto}.activity-family-selector__options p{color:var(--color-muted);margin:4px;font-size:.85rem;font-weight:750}.activity-family-selector__option{color:var(--color-text);cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:8px;font-weight:800;display:flex}.activity-family-selector__option:hover{background:#faeef6b3}.activity-family-selector__option input{width:17px;height:17px;accent-color:var(--color-primary)}.activity-family-selector__meal,.activity-family-chip__meal,.activity-family-badge{color:#65734a;background:#7d817124;border-radius:999px;align-items:center;padding:2px 6px;font-size:.68rem;font-weight:900;display:inline-flex}.activity-family-selector__meal{margin-left:auto}.activity-family-chips{flex-wrap:wrap;gap:6px;display:flex}.activity-family-chip{color:var(--color-text);background:#c96ba929;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:.78rem;font-weight:850;display:inline-flex}.activity-family-chip button{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0 3px}.activity-family-chips__empty{color:var(--color-muted);font-size:.8rem;font-style:italic;font-weight:750}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){.activity-families-modal__form{grid-template-columns:1fr}.activity-families-modal__form-actions{justify-content:stretch}.activity-families-modal__form-actions .app-button{flex:1}.activity-families-modal__row{flex-direction:column;align-items:flex-start}}.settings-view{align-content:start;gap:18px;min-height:calc(100svh - 114px);display:grid}.settings-tabs{gap:8px;padding:4px 0 10px;display:flex;overflow-x:auto}.settings-tabs__item{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:#ffffffb8;border-radius:999px;flex:none;padding:10px 16px;font-size:.88rem;font-weight:850;transition:background .18s,border-color .18s,color .18s,transform .18s}.settings-tabs__item:hover,.settings-tabs__item--active{color:var(--color-text);border-color:var(--color-primary);background:#faeef6e0;transform:translateY(-1px)}.settings-list-panel{border:1px solid var(--color-border);background:#ffffffd1;border-radius:24px;padding:22px;box-shadow:0 18px 48px #34372e14}.settings-list-panel__header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.settings-list-panel__header h2{color:var(--color-text);margin:0;font-size:1.35rem;font-weight:900}.settings-list-panel__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.settings-activities-filter{background:#faeef63d;border:1px solid #7d81712e;border-radius:16px;justify-content:space-between;align-items:end;gap:14px;margin:-4px 0 14px;padding:12px;display:flex}.settings-activities-filter .settings-field{flex:260px}.settings-activities-filter__count{color:var(--color-muted);white-space:nowrap;margin:0 0 10px;font-size:.84rem;font-weight:850}.settings-list{gap:10px;display:grid}.settings-list__row{border:1px solid var(--color-border);text-align:left;background:#faeef661;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:14px 16px;display:flex}.settings-list__row span{color:var(--color-text);font-weight:850}.settings-list__label{align-items:center;gap:10px;display:inline-flex}.settings-list__label--activity{flex-direction:column;align-items:flex-start;min-width:0}.settings-list__activity-metadata{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.settings-list__activity-alias{color:var(--color-muted);font-size:.84rem;font-weight:750}.settings-list__color-swatch{vertical-align:-.05rem;border:1px solid #34372e2e;border-radius:50%;width:.75rem;height:.75rem;display:inline-block}.settings-list__flag{object-fit:cover;border-radius:5px;width:28px;height:20px;box-shadow:0 0 0 1px #34372e1a}.settings-list__avatar,.settings-list__achievement-icon{object-fit:contain;background:#ffffffb8;border-radius:9px;width:30px;height:30px;box-shadow:0 0 0 1px #34372e14}.settings-list__row--clickable{cursor:pointer;transition:background .16s,border-color .16s,transform .16s}.settings-list__row--clickable:hover{border-color:var(--color-primary);background:#faeef6b8;transform:translateY(-1px)}.settings-empty,.settings-error{border-radius:14px;margin:0 0 14px;padding:12px 14px;font-size:.9rem;font-weight:800}.settings-empty{color:var(--color-muted);background:#faeef66b}.settings-calendar-placeholder{min-height:220px;color:var(--color-muted);text-align:center;background:#faeef647;border:1px dashed #7d81714d;border-radius:18px;align-content:center;place-items:center;gap:14px;padding:24px;display:grid}.settings-calendar-placeholder__icon{width:48px;height:48px;color:var(--color-purple);background:#f4f2ff;border-radius:15px;place-items:center;display:grid}.settings-calendar-placeholder__icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.settings-calendar-placeholder p{margin:0;font-size:.94rem;font-weight:800}.settings-error{color:#a8322a;background:#e74c3c1a}.settings-modal{z-index:100;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-modal--confirmation{z-index:120}.settings-modal__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#34372e47;position:absolute;inset:0}.settings-modal__card{border:1px solid var(--color-border);background:#fff;border-radius:24px;gap:18px;width:min(560px,100%);padding:22px;display:grid;position:relative;box-shadow:0 24px 70px #34372e33}.settings-modal__card--large{flex-direction:column;width:min(1040px,100%);max-height:calc(100svh - 32px);display:flex;overflow:hidden}.settings-modal__card--student{gap:16px;width:min(900px,100vw - 32px);max-height:calc(100svh - 32px);padding:20px}.settings-modal__body{flex:1;min-height:0;overflow-y:auto}.settings-modal__card--student .settings-modal__body{padding-right:4px}.settings-modal__card--large .settings-modal__header,.settings-modal__card--large .settings-modal__actions{flex-shrink:0}.settings-modal__card--classroom{flex-direction:column;width:min(980px,100%);max-height:calc(100svh - 32px);display:flex;overflow:hidden}.settings-modal__card--classroom .settings-modal__header,.settings-modal__card--classroom .settings-modal__actions{flex-shrink:0}.settings-classroom-modal__body{grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:24px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.settings-classroom-modal__details,.settings-classroom-modal__employees{align-content:start;gap:16px;min-width:0;display:grid}.settings-classroom-modal__employees{border-left:1px solid #7d81712e;padding-left:24px}.settings-modal__card--confirm{width:min(420px,100%)}.settings-modal__card--classroom-action{border-color:#7d81712e;border-radius:28px;gap:20px;width:min(440px,100%);padding:26px}.settings-classroom-actions{gap:12px;display:grid}.settings-classroom-action__intro{padding-right:46px;position:relative}.settings-classroom-action__eyebrow{color:var(--color-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;font-weight:900;display:block}.settings-classroom-action__intro h2{color:var(--color-text);letter-spacing:-.03em;margin:0;font-size:1.45rem;font-weight:900}.settings-classroom-action__intro p{color:var(--color-muted);margin:6px 0 0;font-size:.9rem;font-weight:700}.settings-classroom-action__close{width:36px;height:36px;color:var(--color-muted);cursor:pointer;background:#fff;border:1px solid #7d817124;border-radius:50%;place-items:center;padding:0;transition:background .16s,color .16s,transform .16s;display:grid;position:absolute;top:0;right:0}.settings-classroom-action__close svg,.settings-classroom-action-card__icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.settings-classroom-action__close:hover{color:var(--color-text);background:#faeef6bf;transform:rotate(4deg)}.settings-classroom-action-card{width:100%;min-height:112px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;border:1px solid;border-radius:20px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;display:grid}.settings-classroom-action-card--data{background:#fff2f7;border-color:#f0cddd}.settings-classroom-action-card--calendar{background:#f4f2ff;border-color:#dcd8f2}.settings-classroom-action-card__icon{background:#fff;border-radius:16px;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 5px 14px #34372e14}.settings-classroom-action-card--data .settings-classroom-action-card__icon,.settings-classroom-action-card--data .settings-classroom-action-card__arrow{color:var(--color-button)}.settings-classroom-action-card--calendar .settings-classroom-action-card__icon,.settings-classroom-action-card--calendar .settings-classroom-action-card__arrow{color:var(--color-purple)}.settings-classroom-action-card__content{gap:4px;min-width:0;display:grid}.settings-classroom-action-card__title{font-size:1rem;font-weight:900}.settings-classroom-action-card__description{color:var(--color-muted);font-size:.82rem;font-weight:700;line-height:1.35}.settings-classroom-action-card__arrow{font-size:1.9rem;font-weight:500;line-height:1;transition:transform .16s}.settings-classroom-action-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #34372e1a}.settings-classroom-action-card--data:hover{border-color:var(--color-button);background:#ffedf5}.settings-classroom-action-card--calendar:hover{border-color:var(--color-purple);background:#efedff}.settings-classroom-action-card:hover .settings-classroom-action-card__arrow{transform:translate(3px)}.settings-classroom-action__close:focus-visible,.settings-classroom-action-card:focus-visible{outline-offset:3px;outline:3px solid #c96ba961}.settings-modal__header{justify-content:space-between;align-items:center;gap:14px;display:flex}.settings-modal__header h2{color:var(--color-text);margin:0;font-size:1.2rem;font-weight:900}.settings-modal__header button{width:34px;height:34px;color:var(--color-muted);cursor:pointer;background:#faeef6b8;border:0;border-radius:12px;font-size:1.3rem}.settings-field{gap:8px;display:grid}.settings-field span{color:var(--color-text);font-size:.86rem;font-weight:900}.settings-field input,.settings-field select,.settings-field textarea{border:1px solid var(--color-border);color:var(--color-text);font:inherit;background:#faeef647;border-radius:14px;outline:none;padding:12px 14px;font-weight:800}.settings-field textarea{resize:vertical}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{border-color:var(--color-primary);background:#fff}.settings-combobox{position:relative}.settings-combobox__control{border:1px solid var(--color-border);background:#faeef647;border-radius:14px;align-items:center;gap:10px;padding:0 12px;display:flex}.settings-combobox__control:focus-within{border-color:var(--color-primary);background:#fff}.settings-combobox__control--button{width:100%;min-height:44px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;font-weight:800}.settings-combobox__control--button span{color:var(--color-text);font-weight:800}.settings-combobox__control input{background:0 0;border:0;border-radius:0;flex:1;min-width:0;padding-inline:0}.settings-combobox__control input:focus{background:0 0}.settings-combobox__control img,.settings-combobox__option img{object-fit:cover;border-radius:5px;flex:none;width:28px;height:20px;box-shadow:0 0 0 1px #34372e1a}.settings-combobox__menu{border:1px solid var(--color-border);z-index:20;background:#fff;border-radius:14px;gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:visible;box-shadow:0 18px 42px #34372e29}.settings-modal__card--student .settings-combobox__menu,.settings-combobox--student-nationality .settings-combobox__menu{max-height:none}.settings-modal__card--student .settings-combobox__menu--languages{top:auto;bottom:calc(100% + 6px)}.settings-combobox__options{gap:4px;display:grid}.settings-combobox__options--nationality,.settings-combobox__options--compact-scroll{overscroll-behavior:contain;max-height:188px;overflow-y:auto}.settings-combobox__option{color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 11px;font-size:.88rem;font-weight:850;display:flex}.settings-combobox__option:hover,.settings-combobox__option--active{background:#faeef6b8}.settings-combobox__menu p{color:var(--color-muted);background:#faeef66b;border-radius:10px;margin:0;padding:10px 11px;font-size:.86rem;font-weight:850}.settings-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.settings-modal__card--student .settings-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.settings-student-modal__body{grid-template-columns:168px minmax(0,1fr);align-items:start;gap:18px;display:grid}.settings-student-modal__photo{border:1px solid var(--color-border);background:#faeef63d;border-radius:20px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:12px;padding:14px;position:sticky;top:0}.settings-student-modal__photo .settings-employee-image__preview{border-radius:18px;width:100%;height:136px}.settings-student-modal__photo .settings-employee-image__actions{justify-content:center}.settings-student-modal__form{gap:12px 14px}.settings-student-modal__notes{grid-column:1/-1}.settings-student-modal__notes textarea{height:246px}.settings-modal__card--student .settings-modal__actions{border-top:1px solid #7d81712e;justify-content:flex-end;padding-top:14px}.settings-color-field{border:1px solid var(--color-border);background:#faeef647;border-radius:16px;align-items:center;gap:12px;min-height:54px;padding:8px 12px;display:flex}.settings-color-field input[type=color]{cursor:pointer;background:#fff;border:1px solid #7d81712e;border-radius:12px;width:38px;height:38px;padding:4px}.settings-color-field input[type=color]:focus{border-color:var(--color-primary)}.settings-color-field__value{color:var(--color-text);font-size:.88rem;font-weight:800}.settings-color-field__clear{color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:2px 6px;font-size:1.1rem;line-height:1;transition:color .15s,background .15s}.settings-color-field__clear:hover{color:#a8322a;background:#e74c3c14}.settings-color-feedback{color:var(--color-muted);font-size:.78rem;font-weight:700;line-height:1.35}.settings-check-field{color:var(--color-text);align-items:center;gap:10px;font-size:.9rem;font-weight:900;display:inline-flex}.settings-check-field input{width:18px;height:18px;accent-color:var(--color-primary)}.settings-menu-visual-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.settings-menu-color-control{min-width:0}.settings-menu-flags{grid-template-columns:repeat(2,minmax(118px,1fr));gap:10px;display:grid}.settings-check-field--card{border:1px solid var(--color-border);background:#faeef647;border-radius:16px;min-height:54px;padding:8px 14px}@media (width<=640px){.settings-activities-filter{flex-direction:column;align-items:stretch}.settings-activities-filter__count{margin:0}.settings-menu-visual-row,.settings-menu-flags{grid-template-columns:1fr}}.settings-flag-field{border:0;gap:10px;margin:0;padding:0;display:grid}.settings-flag-field legend{color:var(--color-text);margin-bottom:8px;font-size:.86rem;font-weight:900}.settings-flag-field p{color:var(--color-muted);background:#faeef66b;border-radius:14px;margin:0;padding:12px 14px;font-size:.88rem;font-weight:800}.settings-flag-search{border:1px solid var(--color-border);color:var(--color-text);font:inherit;background:#faeef638;border-radius:12px;outline:none;padding:10px 12px;font-size:.88rem;font-weight:800}.settings-flag-search:focus{border-color:var(--color-primary);background:#fff}.settings-flag-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:220px;padding:2px;display:grid;overflow:auto}.settings-flag-option{border:1px solid var(--color-border);min-height:42px;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:9px;padding:8px 10px;font-size:.84rem;font-weight:800;transition:background .15s,border-color .15s,transform .15s;display:flex}.settings-flag-option:hover,.settings-flag-option--active{border-color:var(--color-primary);background:#faeef69e;transform:translateY(-1px)}.settings-flag-option img{object-fit:cover;border-radius:5px;flex:none;width:28px;height:20px;box-shadow:0 0 0 1px #34372e1a}.settings-flag-option .settings-achievement-option-icon{object-fit:contain;border-radius:9px;width:30px;height:30px}.settings-load-more-button{border:1px solid var(--color-border);color:var(--color-text);font:inherit;cursor:pointer;background:#faeef66b;border-radius:12px;padding:10px 12px;font-size:.86rem;font-weight:900;transition:background .15s,border-color .15s,transform .15s}.settings-load-more-button:hover{border-color:var(--color-primary);background:#faeef6b8;transform:translateY(-1px)}.settings-employee-image{align-items:center;gap:14px;display:flex}.settings-employee-image__preview{border:1px solid var(--color-border);width:96px;height:96px;color:var(--color-muted);object-fit:cover;background:#faeef652;border-radius:22px;place-items:center;font-size:.82rem;font-weight:900;display:grid}.settings-employee-image__actions{flex-wrap:wrap;gap:10px;display:flex}.settings-upload-button{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:#faeef66b;border-radius:14px;justify-content:center;align-items:center;padding:11px 14px;font-size:.88rem;font-weight:900;display:inline-flex;position:relative;overflow:hidden}.settings-upload-button--icon{width:44px;height:44px;padding:0}.settings-upload-button--icon svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.settings-upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.settings-modal__actions,.settings-modal__main-actions{align-items:center;gap:10px;display:flex}.settings-modal__actions{justify-content:space-between}.settings-modal__actions--end{justify-content:flex-end}.settings-confirmation-text{color:var(--color-muted);margin:0;font-size:.95rem;font-weight:750;line-height:1.5}.settings-confirmation-text strong{color:var(--color-text);font-weight:900}.settings-modal__main-actions{margin-left:auto}@media (width<=640px){.settings-employee-grid{grid-template-columns:1fr;max-height:300px}.settings-view{min-height:calc(100svh - 96px)}.settings-list-panel{padding:16px}.settings-list-panel__header{flex-direction:column;align-items:stretch}.settings-list-panel__header .app-button,.settings-list-panel__actions{width:100%}.settings-modal{padding:12px}.settings-modal__card--classroom-action{padding:22px}.settings-modal__card--large,.settings-modal__card--student,.settings-modal__card--classroom{width:100%;max-height:calc(100svh - 24px)}.settings-classroom-modal__body{grid-template-columns:1fr}.settings-classroom-modal__employees{border-top:1px solid #7d81712e;border-left:0;padding-top:18px;padding-left:0}.settings-modal__card--student{padding:16px}.settings-student-modal__body{grid-template-columns:1fr}.settings-student-modal__photo{flex-direction:row;align-items:center;position:static}.settings-student-modal__photo .settings-employee-image__preview{width:92px;height:92px}.settings-modal__card--student .settings-modal__actions,.settings-modal__card--student .settings-modal__main-actions{width:100%}.settings-modal__card--student .settings-modal__main-actions .app-button{flex:1}.settings-combobox{position:relative}.settings-combobox__control{border:1px solid var(--color-border);background:#faeef647;border-radius:14px;align-items:center;gap:10px;padding:0 12px;display:flex}.settings-combobox__control:focus-within{border-color:var(--color-primary);background:#fff}.settings-combobox__control--button{width:100%;min-height:44px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;font-weight:800}.settings-combobox__control--button span{color:var(--color-text);font-weight:800}.settings-combobox__control input{background:0 0;border:0;border-radius:0;flex:1;min-width:0;padding-inline:0}.settings-combobox__control input:focus{background:0 0}.settings-combobox__control img,.settings-combobox__option img{object-fit:cover;border-radius:5px;flex:none;width:28px;height:20px;box-shadow:0 0 0 1px #34372e1a}.settings-combobox__menu{border:1px solid var(--color-border);z-index:20;background:#fff;border-radius:14px;gap:4px;max-height:none;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:visible;box-shadow:0 18px 42px #34372e29}.settings-combobox__option{color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 11px;font-size:.88rem;font-weight:850;display:flex}.settings-combobox__option:hover,.settings-combobox__option--active{background:#faeef6b8}.settings-combobox__menu p{color:var(--color-muted);background:#faeef66b;border-radius:10px;margin:0;padding:10px 11px;font-size:.86rem;font-weight:850}.settings-field-grid{grid-template-columns:1fr}}.settings-employee-selector{gap:10px;display:grid}.settings-employee-selector__label{color:var(--color-text);font-size:.86rem;font-weight:900}.settings-employee-search{border:1px solid var(--color-border);color:var(--color-text);font:inherit;background:#faeef638;border-radius:12px;outline:none;padding:10px 12px;font-size:.88rem;font-weight:800}.settings-employee-search:focus{border-color:var(--color-primary);background:#fff}.settings-employee-grid{border:1px solid var(--color-border);background:#faeef62e;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:10px;max-height:min(480px,52svh);padding:10px;display:grid;overflow-y:auto}.settings-employee-card{border:2px solid var(--color-border);cursor:pointer;text-align:center;background:#ffffffd1;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.settings-employee-card:hover{border-color:var(--color-primary);background:#faeef69e;transform:translateY(-1px)}.settings-employee-card--selected{border-color:var(--color-button);background:#c96ba91f;box-shadow:0 0 0 2px #c96ba938}.settings-employee-card--selected:hover{background:#c96ba92e}.settings-employee-card__checkbox{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-employee-card__photo{object-fit:cover;background:#faeef661;border-radius:14px;flex-shrink:0;width:56px;height:56px;box-shadow:0 0 0 1px #34372e14}.settings-employee-card__photo--empty{background:#faeef652}.settings-employee-card__info{flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.settings-employee-card__name{color:var(--color-text);word-break:break-word;font-size:.88rem;font-weight:850;line-height:1.25}.settings-employee-card__cargo{color:var(--color-muted);font-size:.76rem;font-weight:650;line-height:1.2}@media (width<=900px){.settings-employee-grid{grid-template-columns:repeat(2,1fr)}}.communication-notifications{right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:90;pointer-events:none;gap:10px;width:min(396px,100vw - 40px);display:grid;position:fixed}.communication-notification{pointer-events:auto;background:#fefdfc;border:1px solid #7d817138;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;animation:.18s ease-out both communication-notification-enter;display:grid;position:relative;overflow:hidden;box-shadow:0 2px 4px #34372e0f,0 10px 24px #34372e1a,0 24px 48px #34372e14}.communication-notification:before{background:var(--color-button);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:15px;bottom:15px;left:0}.communication-notification--aula:before{background:var(--color-primary)}.communication-notification--privada:before{background:#8c82bc}.communication-notification__open{min-width:0;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:16px 6px 16px 17px;display:grid}.communication-notification__icon{width:42px;height:42px;color:var(--color-button);background:#c96ba917;border:1px solid #c96ba92b;border-radius:14px;place-items:center;display:grid}.communication-notification--aula .communication-notification__icon{color:var(--color-primary);background:#7d817117;border-color:#7d817130}.communication-notification--privada .communication-notification__icon{color:#6d629f;background:#8c82bc1a;border-color:#8c82bc33}.communication-notification__icon svg{width:20px;height:20px}.communication-notification__content{align-content:start;gap:5px;min-width:0;display:grid}.communication-notification__sender{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.91rem;font-weight:800;line-height:1.2;overflow:hidden}.communication-notification__metadata{min-width:0;color:var(--color-muted);align-items:center;gap:7px;font-size:.71rem;line-height:1.2;display:flex}.communication-notification__conversation{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.communication-notification__metadata b{color:#a94582;letter-spacing:.01em;background:#c96ba91c;border-radius:999px;flex:none;padding:3px 7px;font-size:.61rem;font-weight:800}.communication-notification--aula .communication-notification__metadata b{color:#59604e;background:#7d81711f}.communication-notification--privada .communication-notification__metadata b{color:#65559d;background:#8c82bc21}.communication-notification__preview{color:color-mix(in srgb, var(--color-text) 86%, var(--color-muted));-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:1px;font-size:.79rem;line-height:1.45;display:-webkit-box;overflow:hidden}.communication-notification__actions{grid-template-columns:auto 30px;align-items:start;gap:7px;padding:11px 10px 0 0;display:grid}.communication-notification__actions time{color:var(--color-muted);white-space:nowrap;padding-top:8px;font-size:.64rem;line-height:1}.communication-notification__close{width:30px;height:30px;color:var(--color-muted);font:inherit;cursor:pointer;background:#f8f7f4;border:1px solid #7d81712e;border-radius:10px;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid}.communication-notification button:focus-visible{outline-offset:-3px;outline:3px solid #c96ba98c}@keyframes communication-notification-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.communication-notification{animation:none}}@media (width<=760px){.communication-notifications{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));width:calc(100vw - 32px)}.communication-notification__open{padding-left:16px}.communication-notification__actions{gap:5px;padding-right:8px}}*{box-sizing:border-box}:root{--color-primary:#7d8171;--color-button:#c96ba9;--color-panel:#faeef6;--color-purple:#8c82bc;--color-background:#fff;--color-text:#34372e;--color-muted:#74786a;--color-border:#e6d7e1;color:var(--color-text);background:var(--color-background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}img{max-width:100%}.app-button{--button-bg:#fff;--button-border:var(--color-border);--button-color:var(--color-text);--button-hover-bg:#faeef66b;--button-hover-border:var(--color-primary);border:1px solid var(--button-border);min-height:34px;color:var(--button-color);background:var(--button-bg);letter-spacing:0;box-shadow:none;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:.84rem;font-weight:800;line-height:1;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.app-button:hover:not(:disabled){border-color:var(--button-hover-border);background:var(--button-hover-bg);transform:translateY(-1px)}.app-button:active:not(:disabled){transform:translateY(0)}.app-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.app-button--accept{--button-bg:var(--color-button);--button-border:var(--color-button);--button-color:#fff;--button-hover-bg:#b95a99;--button-hover-border:#b95a99}.app-button--edit{--button-bg:#fff;--button-border:#7d817147;--button-color:var(--color-primary);--button-hover-bg:#7d817114;--button-hover-border:var(--color-primary)}.app-button--delete{--button-bg:#fff;--button-border:#c0392b57;--button-color:#b83228;--button-hover-bg:#c0392b14;--button-hover-border:#b83228}.app-button--neutral{--button-bg:#fff;--button-border:var(--color-border);--button-color:var(--color-muted);--button-hover-bg:#faeef680;--button-hover-border:var(--color-border)}.app-button--compact{border-radius:9px;min-height:30px;padding:6px 11px;font-size:.8rem}.students-cards-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.students-card{min-height:258px;color:var(--color-text);font:inherit;text-align:center;cursor:pointer;background:linear-gradient(#fff 0% 62%,#faeef66b 100%);border:1px solid #e6d7e1e6;border-radius:22px;flex-direction:column;align-items:center;gap:14px;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #34372e12}.students-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 18% 20%,#c96ba933,#0000 34%),linear-gradient(135deg,#faeef6f2,#7d81711f);height:74px;position:absolute;inset:0 0 auto}.students-card:hover{border-color:var(--color-primary);transform:translateY(-3px);box-shadow:0 18px 40px #34372e1f}.students-card:focus-visible{outline-offset:3px;outline:3px solid #c96ba959}.students-card__media,.students-card__content,.students-card__flags{z-index:1;position:relative}.students-card__photo{background:#f7f0f4;border:5px solid #fff;border-radius:28px;width:112px;height:112px;overflow:hidden;box-shadow:0 12px 24px #34372e24}.students-card__photo-img{object-fit:cover;width:100%;height:100%;display:block}.students-card__photo-placeholder{color:#fff;background:linear-gradient(135deg, var(--color-primary), var(--color-button));place-items:center;width:100%;height:100%;display:grid}.students-card__photo-placeholder span{letter-spacing:.04em;font-size:1.65rem;font-weight:900}.students-card__content{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.students-card__name{letter-spacing:-.01em;font-size:1rem;font-weight:850;line-height:1.25}.students-card__age{min-height:26px;color:var(--color-muted);background:#ffffffd1;border:1px solid #7d81712e;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:.76rem;font-weight:850;display:inline-flex}.students-card__flags{flex-wrap:wrap;justify-content:center;gap:7px;min-height:28px;margin-top:auto;display:flex}.students-card__flag{object-fit:cover;border-radius:6px;flex:none;width:30px;height:21px;box-shadow:0 0 0 1px #34372e1a,0 4px 10px #34372e14}.students-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.students-toolbar p{color:var(--color-muted);margin:0;font-size:1.05rem;line-height:1.5}.students-toolbar__search{border:1px solid var(--color-border);width:min(100%,620px);min-width:360px;height:48px;color:var(--color-text);font:inherit;background:#fff;border-radius:14px;outline:none;padding:0 18px;font-size:1rem;transition:border-color .16s,box-shadow .16s}.students-toolbar__search::placeholder{color:var(--color-muted)}.students-toolbar__search:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #7d817126}.students-error{color:#c0392b;margin:12px 0;font-size:.92rem;font-weight:600}.students-empty{color:var(--color-muted);margin:16px 0;font-size:.96rem}.students-loading-more{color:var(--color-muted);text-align:center;margin:24px 0 16px;font-size:.92rem}.students-sentinel{height:1px}.settings-combobox__check{width:18px;color:var(--color-button);flex:none;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.settings-combobox__selected-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.students-pagination{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.students-pagination__status{color:var(--color-muted);font-size:.86rem;font-weight:700}.students-pagination__actions{gap:8px;display:flex}.student-detail{min-height:calc(100svh - 114px);padding:8px 0}.student-detail__back{margin-bottom:20px}.student-detail__empty,.student-detail__error{margin:16px 0;font-size:.96rem}.student-detail__empty{color:var(--color-muted)}.student-detail__error{color:#c0392b;font-weight:600}.student-detail__card{border:1px solid var(--color-border);background:#fff;border-radius:18px;padding:28px;box-shadow:0 8px 28px #34372e0f}.student-detail__name{color:var(--color-primary);letter-spacing:-.02em;margin:0 0 22px;font-size:clamp(1.6rem,3vw,2rem);font-weight:900;line-height:1.15}.student-detail__fields{gap:12px;margin:0;display:grid}.student-detail__fields dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.78rem;font-weight:800}.student-detail__fields dd{color:var(--color-text);margin:0;font-size:.96rem}.student-detail-hero{background:linear-gradient(135deg,#fff 0% 58%,#faeef67a 100%);border:1px solid #e6d7e1e6;border-radius:22px;align-items:center;gap:28px;margin-bottom:20px;padding:28px;display:flex;box-shadow:0 12px 36px #34372e12}.student-detail-hero__photo{background:#f7f0f4;border:5px solid #fff;border-radius:28px;flex:none;width:140px;height:140px;overflow:hidden;box-shadow:0 14px 28px #34372e26}.student-detail-hero__photo-img{object-fit:cover;width:100%;height:100%;display:block}.student-detail-hero__photo-placeholder{color:#fff;background:linear-gradient(135deg, var(--color-primary), var(--color-button));place-items:center;width:100%;height:100%;display:grid}.student-detail-hero__photo-placeholder span{letter-spacing:.04em;font-size:2.2rem;font-weight:900}.student-detail-hero__info{flex-direction:column;gap:10px;min-width:0;display:flex}.student-calendar-warning{color:#8f2119;max-width:310px;font:inherit;text-align:left;cursor:pointer;background:#fff7f5;border:2px solid #b83228;border-radius:16px;align-items:center;gap:12px;margin-left:auto;padding:16px 18px;font-size:1rem;font-weight:900;line-height:1.25;display:flex}.student-calendar-warning:hover{background:#ffede9}.student-calendar-warning:focus-visible{outline-offset:3px;outline:3px solid #b8322859}.student-calendar-warning__icon{color:#fff;background:#b83228;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:1.1rem;display:grid}.student-calendar-confirmation{width:min(100% - 32px,460px)}.student-detail-hero__name{color:var(--color-primary);letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:900;line-height:1.1}.student-detail-hero__age{color:var(--color-muted);background:#ffffffd1;border:1px solid #7d81712e;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:850;display:inline-flex}.student-detail-hero__tags{flex-direction:column;align-items:flex-start;gap:8px;margin-top:4px;display:flex}.student-detail-hero__tag-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-detail-tag{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.student-detail-tag--muted{color:var(--color-muted);background:#e6d7e161}.student-detail-tag--outline{color:var(--color-primary);background:0 0;border:1px solid #7d817138}.student-detail-tag--flag{color:var(--color-text);background:#fff;border:1px solid #e6d7e1b3}.student-detail-tag__flag-img{object-fit:cover;border-radius:4px;width:22px;height:15px;box-shadow:0 0 0 1px #34372e14}.student-detail-actions{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.student-detail-actions .app-button{border-radius:12px;min-height:40px;padding:10px 20px;font-size:.86rem}.student-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.student-detail-section{border:1px solid var(--color-border);background:linear-gradient(135deg,#faeef6b3,#fff0 42%),#fff;border-radius:18px;grid-column:1/-1;width:100%;padding:22px;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 12px 30px #34372e12}.student-detail-grid .student-detail-section:nth-child(2){grid-column:1}.student-detail-grid .student-detail-section:nth-child(3){grid-column:2}.student-detail-section:hover{border-color:#c96ba961;transform:translateY(-1px);box-shadow:0 16px 42px #34372e1c}.student-detail-section__title{color:var(--color-primary);letter-spacing:-.01em;align-items:center;gap:8px;margin:0 0 18px;font-size:.98rem;font-weight:900;display:flex}.student-detail-section__fields{grid-template-columns:minmax(132px,.45fr) minmax(0,1fr);gap:0 16px;margin:0;display:grid}.student-detail-section__fields dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.055em;border-top:1px solid #7d81711f;margin:0;padding:11px 0;font-size:.74rem;font-weight:800}.student-detail-section__fields dd{color:var(--color-text);overflow-wrap:anywhere;border-top:1px solid #7d81711f;margin:0;padding:10px 0;font-size:.96rem;font-weight:650;line-height:1.35}.student-detail-section__fields dt:first-child,.student-detail-section__fields dt:first-child+dd{border-top:0;padding-top:0}.student-detail-section__empty{color:var(--color-muted);margin:0;font-size:.88rem;font-style:italic}.student-detail-section__notes{color:var(--color-text);white-space:pre-wrap;margin:0;font-size:.92rem;line-height:1.55}.student-detail-section__action{color:var(--color-primary);cursor:pointer;background:0 0;border:1px solid #7d817138;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;margin-left:auto;padding:5px 14px;font-family:inherit;font-size:.74rem;font-weight:750;line-height:1.3;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.student-detail-section__action:hover{border-color:var(--color-primary);background:#7d817112;transform:translateY(-1px)}.student-detail-section__action:active{transform:translateY(0)}.student-detail-section__subsection{border-top:1px solid #7d817124;margin-top:18px;padding-top:18px}.student-detail-section__subsection-title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 14px;font-size:.78rem;font-weight:800}.student-detail-section__toggle{width:100%;color:var(--color-primary);cursor:pointer;text-align:center;background:0 0;border:none;border-top:1px solid #7d81711f;margin-top:16px;padding:12px 0 0;font-family:inherit;font-size:.82rem;font-weight:750;transition:color .15s,background .15s;display:block}.student-detail-section__toggle:hover{color:var(--color-button);background:#faeef647;border-radius:0 0 18px 18px;margin-bottom:-22px;padding-bottom:22px}.student-detail-panel-switch{flex-direction:column;flex-shrink:0;justify-content:center;align-self:stretch;gap:10px;margin-left:auto;display:flex}.student-detail-panel-switch__btn{min-height:44px;color:var(--color-muted);cursor:pointer;background:#ffffffb8;border:1px solid #7d81712e;border-radius:14px;justify-content:center;align-items:center;padding:10px 20px;font-family:inherit;font-size:.82rem;font-weight:800;line-height:1;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.student-detail-panel-switch__btn:hover{border-color:var(--color-primary);background:#faeef66b;transform:translateY(-1px)}.student-detail-panel-switch__btn--active{color:var(--color-text);border-color:var(--color-button);background:#c96ba91a;box-shadow:0 0 0 2px #c96ba92e}.student-detail-panel-switch__btn--active:hover{border-color:var(--color-button);background:#c96ba926;transform:translateY(-1px)}.student-detail-panel-container{min-height:200px;position:relative;overflow:hidden}.student-detail-panel{width:100%;transition:transform .32s cubic-bezier(.25,.46,.45,.94),opacity .28s}.student-detail-panel--visible{opacity:1;transform:translate(0)}.student-detail-panel--hidden-left{opacity:0;pointer-events:none;position:absolute;inset:0 0 auto;transform:translate(-40px)}.student-detail-panel--hidden-right{opacity:0;pointer-events:none;position:absolute;inset:0 0 auto;transform:translate(40px)}.student-detail-documents{width:100%}.student-detail-documents__empty{text-align:center;background:#faeef638;border:1px dashed #7d81713d;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;padding:36px 24px;display:flex}.student-detail-documents__empty p{color:var(--color-muted);margin:0;font-size:.96rem;font-style:italic;font-weight:500;line-height:1.5}.student-detail-section__header-row{justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:16px;display:flex}.student-detail-documents__upload-btn{background:var(--color-button);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;align-items:center;gap:4px;padding:6px 16px;font-size:.88rem;font-weight:600;transition:background .2s;display:inline-flex}.student-detail-documents__upload-btn:hover{background:var(--color-button-hover)}.student-detail-documents__upload-btn:disabled{opacity:.5;cursor:not-allowed}.student-detail-documents__filters{gap:8px;margin-bottom:16px;display:flex}.student-detail-documents__filter-pill{color:var(--color-text);cursor:pointer;background:#fff;border:1.5px solid #7d81714d;border-radius:20px;align-items:center;gap:4px;padding:6px 18px;font-size:.88rem;font-weight:500;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.student-detail-documents__filter-pill:hover{background:#faeef666}.student-detail-documents__filter-pill--active{background:var(--color-button);border-color:var(--color-button);color:#fff}.student-detail-documents__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.student-detail-documents__list--photos{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.student-detail-documents__item{background:#fff;border:1px solid #7d817129;border-radius:18px;flex-direction:column;min-height:100%;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #34372e14}.student-detail-documents__item--previewable{cursor:pointer}.student-detail-documents__item--previewable:focus-visible{outline-offset:3px;outline:3px solid #c96ba957}.student-detail-documents__item--static{cursor:default}@media (width<=1180px){.student-detail-documents__list{grid-template-columns:repeat(3,minmax(0,1fr))}.student-detail-documents__list--photos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (width<=860px){.student-detail-documents__list{grid-template-columns:repeat(2,minmax(0,1fr))}.student-detail-documents__list--photos{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (width<=560px){.student-detail-documents__list{grid-template-columns:1fr}}.student-detail-documents__item:hover{border-color:#7d817147;transform:translateY(-2px);box-shadow:0 10px 24px #7d81711f}.student-detail-documents__item--static:hover{transform:none}.student-detail-documents__item-visual{aspect-ratio:4/3;background:linear-gradient(#faeef699,#7d817114)}.student-detail-documents__item--photo{background:linear-gradient(#fff,#faeef63d);border-color:#7d81711f}.student-detail-documents__item--photo:hover{transform:translateY(-4px);box-shadow:0 18px 34px #34372e26}.student-detail-documents__item--photo .student-detail-documents__item-visual{aspect-ratio:1;background:linear-gradient(#1e293b0a,#0f172a2e);position:relative;overflow:hidden}.student-detail-documents__item--photo .student-detail-documents__preview-image{transition:transform .35s,filter .35s}.student-detail-documents__item--photo:hover .student-detail-documents__preview-image{filter:saturate(1.02);transform:scale(1.04)}.student-detail-documents__preview-image{object-fit:cover;width:100%;height:100%;display:block}.student-detail-documents__preview-image--interactive{cursor:zoom-in}.student-detail-documents__file-badge{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:20px;display:flex}.student-detail-documents__file-badge-icon{font-size:2.5rem}.student-detail-documents__file-badge-label{letter-spacing:.12em;font-size:.78rem;font-weight:800}.student-detail-documents__file-badge--pdf{color:#b42318;background:linear-gradient(#dc354524,#dc35450d)}.student-detail-documents__file-badge--word{color:#1d4ed8;background:linear-gradient(#275bff24,#275bff0d)}.student-detail-documents__file-badge--excel{color:#15803d;background:linear-gradient(#16a34a29,#16a34a0d)}.student-detail-documents__file-badge--generic,.student-detail-documents__file-badge--image{color:var(--color-text);background:linear-gradient(#7d817124,#7d81710d)}.student-detail-documents__photo-overlay{color:#fff;pointer-events:none;background:linear-gradient(#0f172a14 0%,#0f172a0a 30%,#0f172ab8 100%);flex-direction:column;justify-content:flex-end;padding:12px;display:flex;position:absolute;inset:0}.student-detail-documents__photo-overlay-content{flex-direction:column;gap:4px;display:flex}.student-detail-documents__photo-title{text-shadow:0 2px 10px #0f172a59;font-size:.92rem;font-weight:800;line-height:1.2}.student-detail-documents__photo-meta{color:#ffffffd1;font-size:.72rem;font-weight:600}.student-detail-documents__item-info{flex-direction:column;flex:1;gap:8px;min-width:0;padding:16px 16px 12px;display:flex}.student-detail-documents__item--photo .student-detail-documents__item-info{gap:6px;padding:12px 12px 14px}.student-detail-documents__item--photo .student-detail-documents__item-name,.student-detail-documents__item--photo .student-detail-documents__item-meta{display:none}.student-detail-documents__item--photo .student-detail-documents__item-notes{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.35em;font-size:.76rem;display:-webkit-box;overflow:hidden}.student-detail-documents__item--photo .student-detail-documents__item-preview-hint{font-size:.76rem}.student-detail-documents__item-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;font-weight:600;overflow:hidden}.student-detail-documents__item-meta{color:var(--color-muted);flex-wrap:wrap;gap:8px;font-size:.78rem;display:flex}.student-detail-documents__item-date{white-space:nowrap}.student-detail-documents__item-notes{color:var(--color-muted);font-size:.82rem;font-style:italic;line-height:1.45}.student-detail-documents__item-preview-hint{color:var(--color-primary);font-size:.78rem;font-weight:700}.student-detail-documents__item-preview-hint--muted{color:var(--color-muted)}.student-detail-documents__item-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:0 16px 16px;display:flex}.student-detail-documents__download-btn{border:1.5px solid var(--color-button);color:var(--color-button);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;align-items:center;gap:4px;padding:5px 12px;font-size:.82rem;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.student-detail-documents__download-btn:hover{background:var(--color-button);color:#fff}.student-detail-documents__delete-btn{cursor:pointer;background:0 0;border:1.5px solid #c850504d;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .2s;display:inline-flex}.student-detail-documents__delete-btn--labelled{color:#b83228;gap:6px;width:auto;min-width:120px;padding:5px 12px}.student-detail-documents__delete-btn--labelled:hover:not(:disabled){background:#c850501f}.student-detail-documents__delete-btn:hover:not(:disabled){background:#c850501a}.student-detail-documents__delete-btn:disabled{opacity:.4;cursor:not-allowed}.student-detail-documents__lightbox{z-index:1200;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.student-detail-documents__lightbox-overlay{background:#0f172ac7;border:none;position:absolute;inset:0}.student-detail-documents__lightbox-card{z-index:1;background:#fff;border-radius:20px;flex-direction:column;width:min(96vw,1380px);height:min(92vh,980px);max-height:92vh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #0f172a59}.student-detail-documents__lightbox-card--pdf{background:#202124;border-radius:16px;width:min(98vw,1600px);height:calc(100vh - 32px);max-height:calc(100vh - 32px)}.student-detail-documents__lightbox-header,.student-detail-documents__lightbox-footer{background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.student-detail-documents__lightbox-title{margin:0;font-size:1rem;font-weight:800}.student-detail-documents__lightbox-body{background:linear-gradient(#f8fafc,#eef2f7);flex:1;justify-content:center;align-items:stretch;min-height:0;padding:0 24px 24px;display:flex}.student-detail-documents__lightbox-card--pdf .student-detail-documents__lightbox-body{background:#202124;padding:0}.student-detail-documents__lightbox-card--pdf .student-detail-documents__lightbox-header,.student-detail-documents__lightbox-card--pdf .student-detail-documents__lightbox-footer{background:#fff;padding:12px 18px}.student-detail-documents__lightbox-image{object-fit:contain;background:#0f172a;border-radius:18px;max-width:100%;max-height:100%;display:block}.student-detail-documents__lightbox-frame-shell{background:#dfe7f1;border-radius:18px;width:100%;height:100%;min-height:0;padding:14px;box-shadow:inset 0 0 0 1px #0f172a0f}.student-detail-documents__lightbox-card--pdf .student-detail-documents__lightbox-frame-shell{box-shadow:none;background:#202124;border-radius:0;padding:0}.student-detail-documents__lightbox-frame,.student-detail-documents__lightbox-text{background:#fff;border:none;border-radius:14px;width:100%;height:100%;min-height:0}.student-detail-documents__lightbox-card--pdf .student-detail-documents__lightbox-frame{border-radius:0;display:block}.student-detail-documents__lightbox-text{white-space:pre-wrap;word-break:break-word;margin:0;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.55;overflow:auto}.student-detail-documents__lightbox-message{color:var(--color-muted);margin:auto;font-weight:600}.student-detail-documents__lightbox-close{color:#fff;cursor:pointer;background:#0f172ab8;border:none;border-radius:999px;width:40px;height:40px;font-size:1.5rem}@media (width<=640px){.student-detail-documents__item-actions{flex-direction:column;align-items:stretch}.student-detail-documents__download-btn,.student-detail-documents__delete-btn{justify-content:center;width:100%}.student-detail-documents__list--photos{grid-template-columns:repeat(2,minmax(0,1fr))}.student-detail-documents__lightbox{padding:12px}.student-detail-documents__lightbox-header,.student-detail-documents__lightbox-footer{padding:14px}.student-detail-documents__lightbox-body{padding:0 14px 14px}.student-detail-documents__lightbox-frame-shell{padding:8px}}@media (width<=460px){.student-detail-documents__list--photos{grid-template-columns:1fr}}.student-detail-documents__error{color:var(--color-danger);margin:0 0 12px;font-size:.88rem;font-weight:500}.student-detail-documents-upload-modal{gap:14px}.student-detail-documents-upload-modal__body{gap:12px;display:grid}.student-detail-documents-upload-modal__body .settings-error{margin:0}.student-detail-documents-upload-modal__field{gap:6px}.student-detail-documents-upload-modal__field--file input[type=file]{min-height:46px;margin:0;padding-block:10px}.student-detail-documents-upload-modal__field textarea{margin:0}.student-detail-section__dashed-action{--dash-color:#7d81713d;border:1.5px dashed var(--dash-color);width:100%;color:var(--color-muted);text-align:left;cursor:pointer;background:#faeef638;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:14px 18px;font-family:inherit;font-size:.85rem;font-weight:650;transition:border-color .18s,background .18s,transform .18s,color .18s;display:flex}.student-detail-section__dashed-action:hover{--dash-color:var(--color-primary);color:var(--color-primary);background:#faeef673;transform:translateY(-1px)}.student-detail-section__dashed-action:active{transform:translateY(0)}.student-detail-section__dashed-action-icon{background:#7d81711a;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:1.2rem;font-weight:400;line-height:1;display:grid}.student-detail-section__dashed-action-text{white-space:nowrap;font-weight:800}.student-detail-section__dashed-action-hint{width:100%;color:var(--color-muted);font-size:.74rem;font-style:italic;font-weight:400}.student-food-summary{gap:14px;display:grid}.student-food-summary__hero{background:linear-gradient(135deg,#faeef6c7,#fff0 52%),#fff;border:1px solid #c96ba938;border-radius:18px;gap:8px;padding:18px;display:grid;position:relative;box-shadow:0 10px 28px #34372e0f}.student-food-summary__hero strong{color:var(--color-text);font-size:1.18rem;font-weight:950;line-height:1.2}.student-food-summary__label{color:var(--color-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:900}.student-food-summary__badge{min-height:28px;color:var(--color-primary);background:#faeef6eb;border-radius:999px;justify-self:start;align-items:center;padding:0 12px;font-size:.78rem;font-weight:900;display:inline-flex}.student-food-summary__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-food-summary__card{background:#ffffffc2;border:1px solid #7d817124;border-radius:16px;gap:8px;min-width:0;padding:14px;display:grid}.student-food-summary__card--full{grid-column:1/-1}.student-food-summary__card strong{color:var(--color-text);font-size:.98rem;font-weight:900;line-height:1.25}.student-food-summary__meta,.student-food-summary__empty{color:var(--color-muted);font-size:.86rem;line-height:1.4}.student-food-summary__empty{font-style:italic}.student-food-summary__notes{color:var(--color-text);white-space:pre-wrap;margin:0;font-size:.92rem;font-weight:650;line-height:1.45}.student-food-restrictions{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.student-food-restrictions__item{background:#faeef652;border:1px solid #e6d7e1b8;border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.student-food-restrictions__name{color:var(--color-text);font-size:.88rem;font-weight:900}.student-food-restrictions__type,.student-food-restrictions__severity{min-height:22px;color:var(--color-muted);background:#fff;border-radius:999px;align-items:center;padding:0 8px;font-size:.74rem;font-weight:800;display:inline-flex}.student-food-restrictions__severity{color:#8a4b16;background:#e6b56638}.student-food-restrictions__item p{color:var(--color-muted);flex-basis:100%;margin:0;font-size:.8rem;line-height:1.35}.student-detail-achievements__list{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.student-detail-achievements__item{border:1px solid var(--color-border);text-align:center;background:#faeef647;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:116px;padding:14px 12px;transition:border-color .15s,background .15s,transform .15s;display:flex;position:relative}.student-detail-achievements__item:hover{background:#faeef675;border-color:#c96ba96b;transform:translateY(-1px)}.student-detail-achievements__icon,.student-detail-achievements__icon-placeholder{border-radius:16px;flex:none;width:56px;height:56px}.student-detail-achievements__icon{object-fit:contain;background:#fff;box-shadow:0 0 0 1px #34372e14}.student-detail-achievements__icon-placeholder{background:#fff;place-items:center;font-size:1.8rem;display:grid;box-shadow:0 0 0 1px #34372e14}.student-detail-achievements__name{color:var(--color-text);overflow-wrap:normal;word-break:normal;font-size:.86rem;font-weight:900;line-height:1.2}.student-detail-achievements__meta{color:var(--color-muted);font-size:.8rem}.student-detail-achievements__details{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.student-detail-achievements__notas{color:var(--color-text);white-space:pre-wrap;margin-top:4px;font-size:.82rem;font-style:italic;line-height:1.45}.achievement-assignment-grid{margin-top:14px}@media (width<=900px){.student-detail-grid{grid-template-columns:1fr}.student-detail-grid .student-detail-section:nth-child(2),.student-detail-grid .student-detail-section:nth-child(3){grid-column:1}.student-detail-hero{text-align:center;flex-direction:column;align-items:center}.student-detail-hero__info{align-items:center}.student-calendar-warning{max-width:none;margin-left:0}.student-detail-hero__age{align-self:center}.student-detail-hero__tags{align-items:center}.student-detail-hero__tag-row{justify-content:center}}@media (width<=640px){.student-detail-hero{gap:18px;padding:20px}.student-detail-hero__photo{border-radius:22px;width:110px;height:110px}.student-detail-hero__photo-placeholder span{font-size:1.7rem}.student-detail-actions{gap:8px}.student-detail-actions .app-button{min-height:36px;padding:8px 16px;font-size:.82rem}.student-detail-section{padding:16px}.student-detail-section__fields{grid-template-columns:1fr;gap:4px}.student-detail-section__fields dt{padding:12px 0 0}.student-detail-section__fields dd{border-top:0;padding:2px 0 10px}.student-detail-section__fields dt:first-child{padding-top:0}.student-food-summary__grid{grid-template-columns:1fr}}.achievement-cards-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px;margin-bottom:4px;display:grid}.achievement-card{border:1px solid var(--color-border);color:var(--color-text);font:inherit;text-align:center;cursor:pointer;background:#faeef647;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:.85rem;font-weight:800;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;display:flex}.achievement-card:hover{border-color:var(--color-primary);background:#faeef69e;transform:translateY(-1px)}.achievement-card--selected{border-color:var(--color-button);background:#c96ba91f;box-shadow:0 0 0 2px #c96ba938}.achievement-card--selected:hover{background:#c96ba92e}.achievement-card__icon{object-fit:contain;background:#ffffffb8;border-radius:12px;flex:none;width:60px;height:60px;box-shadow:0 0 0 1px #34372e14}.achievement-card__name{color:var(--color-text);font-size:.88rem;font-weight:850;line-height:1.25}.achievement-cards__more{color:var(--color-muted);margin:4px 0 0;font-size:.8rem;font-weight:700}.achievement-assignment-field{margin-top:14px}.achievement-assignment-field--first{margin-top:18px}@media (width<=640px){.achievement-cards-grid{grid-template-columns:1fr}}@media (width<=900px){.students-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.students-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.students-toolbar__search{width:100%;min-width:0}.students-cards-grid{grid-template-columns:1fr}.students-pagination{flex-direction:column;align-items:flex-start}.student-detail__card{padding:18px}}.classroom-cards-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:6px;margin-bottom:4px;display:grid}.classroom-card{border:1px solid var(--color-border);min-height:86px;color:var(--color-text);font:inherit;text-align:center;cursor:pointer;background:#faeef647;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:.85rem;font-weight:800;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;display:flex}.classroom-card:hover{border-color:var(--color-primary);background:#faeef69e;transform:translateY(-1px)}.classroom-card--selected{border-color:var(--color-button);background:#c96ba91f;box-shadow:0 0 0 2px #c96ba938}.classroom-card--selected:hover{background:#c96ba92e}.classroom-card__icon{object-fit:contain;width:28px;height:28px;display:block}.classroom-card__name{color:var(--color-text);font-size:.88rem;font-weight:850;line-height:1.25}.classroom-card__capacity{color:var(--color-muted);font-size:.76rem;font-weight:600}@media (width<=640px){.classroom-cards-grid{grid-template-columns:1fr}}.student-detail-classroom-head{align-items:center;gap:12px;margin-bottom:20px;display:flex}.student-detail-classroom-head__icon{object-fit:contain;background:#faeef66b;border-radius:12px;flex:none;width:48px;height:48px;box-shadow:0 0 0 1px #34372e14}.student-detail-classroom-head__icon--placeholder{background:#e6d7e147}.student-detail-classroom-head__name{color:var(--color-text);font-size:1.1rem;font-weight:900;line-height:1.25}.student-detail-classroom-responsables{border-top:1px solid #7d81711f;margin-top:4px;padding-top:16px}.student-detail-classroom-responsables__title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-size:.78rem;font-weight:800}.student-detail-responsables-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.student-detail-responsable-card{text-align:center;background:#ffffffb8;border:1px solid #e6d7e18c;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:132px;padding:14px 12px;transition:border-color .15s,background .15s;display:flex}.student-detail-responsable-card:hover{border-color:var(--color-primary);background:#faeef647}.student-detail-responsable-card__photo{object-fit:cover;border-radius:14px;flex:none;width:56px;height:56px;box-shadow:0 0 0 1px #34372e14}.student-detail-responsable-card__photo-placeholder{color:#fff;background:linear-gradient(135deg, var(--color-primary), var(--color-button));border-radius:14px;flex:none;place-items:center;width:56px;height:56px;display:grid}.student-detail-responsable-card__photo-placeholder span{letter-spacing:.03em;font-size:.78rem;font-weight:900}.student-detail-responsable-card__info{flex-direction:column;align-items:center;gap:3px;min-width:0;display:flex}.student-detail-responsable-card__name{color:var(--color-text);text-overflow:ellipsis;white-space:normal;font-size:.88rem;font-weight:800;line-height:1.25;overflow:hidden}.student-detail-responsable-card__cargo{color:var(--color-muted);font-size:.74rem;font-weight:600;line-height:1.2}.student-detail-responsables-list--student{grid-template-columns:1fr;gap:12px}.student-detail-responsables-list--student .student-detail-responsable-card{align-items:center;justify-content:initial;text-align:left;grid-template-columns:58px minmax(0,1fr);gap:14px;min-height:auto;padding:14px 16px;display:grid}.student-detail-responsables-list--student .student-detail-responsable-card__photo,.student-detail-responsables-list--student .student-detail-responsable-card__photo-placeholder{border-radius:16px;width:54px;height:54px}.student-detail-responsables-list--student .student-detail-responsable-card__info{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:6px 10px;width:100%;display:grid}.student-detail-responsables-list--student .student-detail-responsable-card__name{grid-column:1/-1;font-size:.95rem}.student-detail-responsables-list--student .student-detail-responsable-card__nif,.student-detail-responsables-list--student .student-detail-responsable-card__email,.student-detail-responsables-list--student .student-detail-responsable-card__phone{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;background:#faeef66b;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700;line-height:1.25;overflow:hidden}@media (width<=640px){.student-detail-responsables-list--student .student-detail-responsable-card__info{grid-template-columns:1fr}}.student-responsibles-modal{background:linear-gradient(135deg,#faeef6b8,#fff0 36%),#fff;width:min(980px,100vw - 32px);max-height:calc(100svh - 32px)}.student-responsibles-modal--confirm-only{width:min(560px,100vw - 32px);box-shadow:none;background:0 0;border:0;padding:0}.student-responsibles-modal__subtitle{color:var(--color-muted);margin:6px 0 0;font-size:.9rem;line-height:1.35}.student-responsibles-modal__layout{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:18px;display:grid}.student-responsibles-modal__layout--form{grid-template-columns:minmax(320px,560px);justify-content:start}.student-responsibles-modal__panel{background:#ffffffc7;border:1px solid #e6d7e1b8;border-radius:20px;gap:14px;min-width:0;padding:18px;display:grid;box-shadow:0 10px 30px #34372e0f}.student-responsibles-modal__panel--assigned{position:sticky;top:0}.student-responsibles-modal__panel-heading{align-items:center;gap:12px;display:flex}.student-responsibles-modal__panel-heading h3{color:var(--color-text);margin:0;font-size:1rem;font-weight:900}.student-responsibles-modal__panel-heading p{color:var(--color-muted);margin:3px 0 0;font-size:.84rem;line-height:1.3}.student-responsibles-modal__panel-icon{background:#faeef6db;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 0 0 1px #c96ba91f}.student-responsibles-modal .settings-field{gap:8px}.student-responsibles-modal input,.student-responsibles-modal textarea{background:#fff;border-radius:14px}.student-responsibles-modal__create-button{justify-self:start}.student-responsibles-modal .student-detail-responsables-list{grid-template-columns:1fr;gap:10px}.student-responsibles-modal .student-detail-responsable-card{text-align:left;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:auto;padding:12px;display:grid}.student-responsibles-modal .student-detail-responsable-card__photo,.student-responsibles-modal .student-detail-responsable-card__photo-placeholder{border-radius:14px;width:48px;height:48px}.student-responsibles-modal .student-detail-responsable-card__info{align-items:flex-start}.student-responsibles-modal .student-detail-responsable-card__info span:not(.student-detail-responsable-card__name){color:var(--color-muted);font-size:.78rem;line-height:1.25}.student-detail-responsable-card__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.student-detail-responsable-card__assigned-badge{min-height:34px;color:var(--color-primary);background:#faeef6db;border-radius:999px;align-items:center;padding:0 12px;font-size:.78rem;font-weight:900;display:inline-flex}.student-responsibles-modal__empty{min-height:170px;color:var(--color-muted);text-align:center;background:#faeef638;border:1px dashed #7d817142;border-radius:18px;place-items:center;gap:10px;padding:24px;display:grid}.student-responsibles-modal__empty span{background:#fff;border-radius:18px;place-items:center;width:54px;height:54px;font-size:1.6rem;display:grid;box-shadow:0 0 0 1px #34372e14}.student-responsibles-modal__empty p{margin:0;font-size:.92rem;font-style:italic}.student-responsibles-modal__notes{grid-column:1/-1}.student-responsibles-confirm{background:linear-gradient(135deg,#faeef6d1,#fff0 48%),#fff;border:1px solid #c96ba93d;border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;max-width:560px;margin:0;padding:22px;display:grid;box-shadow:0 14px 40px #34372e1a}.student-responsibles-confirm__icon{background:#ffecb3b8;border-radius:16px;place-items:center;width:48px;height:48px;font-size:1.35rem;display:grid}.student-responsibles-confirm__content h3{color:var(--color-text);margin:0 0 8px;font-size:1.08rem;font-weight:900}.student-responsibles-confirm__content p{color:var(--color-text);margin:0;line-height:1.45}.student-responsibles-confirm__hint{font-size:.9rem;color:var(--color-muted)!important;margin-top:8px!important}.student-responsibles-confirm__actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}@media (width<=820px){.student-responsibles-modal__layout{grid-template-columns:1fr}.student-responsibles-modal__panel--assigned{position:static}.student-responsibles-confirm{text-align:center;grid-template-columns:1fr}.student-responsibles-confirm__icon{margin:0 auto}.student-responsibles-confirm__actions{justify-content:center}}.food-modal{background:linear-gradient(135deg,#faeef6b8,#fff0 36%),#fff;width:min(780px,100vw - 32px);max-height:calc(100svh - 32px)}.food-modal__subtitle{color:var(--color-muted);margin:6px 0 0;font-size:.9rem;line-height:1.35}.food-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:4px 0 10px;display:grid}.food-nav__card{border:1px solid var(--color-border);color:var(--color-muted);font:inherit;text-align:center;cursor:pointer;background:#ffffffb8;border-radius:16px;flex-direction:column;align-items:center;gap:7px;padding:14px 10px;font-size:.82rem;font-weight:800;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:flex}.food-nav__card:hover{border-color:var(--color-primary);background:#faeef66b;transform:translateY(-1px)}.food-nav__card--active{color:var(--color-text);border-color:var(--color-button);background:#c96ba91a;box-shadow:0 0 0 2px #c96ba92e}.food-nav__card--active:hover{border-color:var(--color-button);background:#c96ba926}.food-nav__card-icon{font-size:1.45rem;line-height:1}.food-nav__card-label{font-size:.85rem;font-weight:900;line-height:1.15}.food-nav__card-desc{color:var(--color-muted);font-size:.74rem;font-weight:600;line-height:1.3}.food-nav__card--active .food-nav__card-desc{color:var(--color-text)}.food-content{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:16px;margin-top:4px;display:grid}.food-card{background:#ffffffc7;border:1px solid #e6d7e1b8;border-radius:18px;padding:18px;box-shadow:0 10px 28px #34372e0d}.food-card__title{color:var(--color-primary);letter-spacing:-.01em;align-items:center;gap:8px;margin:0 0 14px;font-size:.9rem;font-weight:900;display:flex}.food-current-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.food-current-item{background:#faeef647;border:1px solid #e6d7e173;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:.84rem;line-height:1.35;display:flex}.food-current-item__text{min-width:0;color:var(--color-text);font-weight:700}.food-current-item__text strong{font-weight:900}.food-current-item__meta{color:var(--color-muted);margin-top:2px;font-size:.76rem;font-weight:600;display:block}.food-current-item .app-button{flex:none;min-height:30px;padding:5px 12px;font-size:.78rem}.food-empty{min-height:80px;color:var(--color-muted);text-align:center;background:#faeef62e;border:1px dashed #7d817138;border-radius:14px;place-items:center;gap:8px;padding:18px;display:grid}.food-empty__icon{font-size:1.5rem;line-height:1}.food-empty p{margin:0;font-size:.84rem;font-style:italic}.food-form{gap:14px;display:grid}.food-form .settings-field span{font-size:.82rem}.food-form .settings-field input,.food-form .settings-field select,.food-form .settings-field textarea{border-radius:12px;padding:10px 12px;font-size:.86rem}.food-form .settings-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2374786A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.food-form .settings-field select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237D8171' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.food-form .settings-field-grid{gap:12px}.food-form__actions{justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.food-error{color:#a8322a;background:#e74c3c1a;border-radius:12px;margin:0;padding:10px 12px;font-size:.84rem;font-weight:800}@media (width<=760px){.food-nav{grid-template-columns:1fr;gap:8px}.food-nav__card{text-align:left;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 14px}.food-nav__card-icon{font-size:1.3rem}.food-content{grid-template-columns:1fr}}@media (width<=480px){.food-nav__card-desc{display:none}}
