.notif-hub-shell{background:#fff;border:1px solid #e8ecf4;border-radius:1.5rem;padding:1.25rem 1.5rem 1.5rem;box-shadow:0 4px 24px #0f172a0a}.notif-hub-shell--premium{background:linear-gradient(165deg,#f8f9ff,#fff 28%,#fafbff);border-color:#e4e8f4;box-shadow:0 1px #ffffffe6 inset,0 8px 32px #6366f112,0 2px 8px #0f172a0a}.notif-hub-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem;padding-bottom:1.15rem;margin-bottom:1rem;border-bottom:1px solid rgba(148,163,184,.22)}.notif-hub-hero-text{display:flex;align-items:flex-start;gap:.85rem;min-width:0;flex:1 1 16rem}.notif-hub-hero-badge{width:2.75rem;height:2.75rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6 48%,#0d9488);box-shadow:0 6px 18px #6366f159}.notif-hub-hero h2{font-size:1.05rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;color:#0f172a;margin:0;line-height:1.25}.notif-hub-hero p{font-size:.72rem;color:#64748b;margin:.3rem 0 0;max-width:38rem;line-height:1.5}.notif-hub-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9;margin-bottom:1rem}.notif-hub-head h2{font-size:1rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#0f172a;display:flex;align-items:center;gap:.5rem}.notif-hub-head h2 i{color:#0d9488}.notif-hub-head p{font-size:.7rem;color:#64748b;margin-top:.25rem;max-width:36rem;line-height:1.45}.notif-hub-head-actions{display:flex;flex-wrap:wrap;gap:.5rem}.notif-hub-btn{font-size:.65rem;font-weight:800;padding:.52rem .9rem;border-radius:.8rem;border:1px solid #e2e8f0;background:#fff;color:#475569;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s;display:inline-flex;align-items:center;gap:.35rem}.notif-hub-btn:hover{background:#f8fafc;transform:translateY(-1px)}.notif-hub-btn.is-ghost{border-color:#c7d2fe;color:#4338ca;background:#f5f3ff}.notif-hub-btn.is-ghost:hover{background:#ede9fe}.notif-hub-btn.is-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:transparent;color:#fff;box-shadow:0 4px 14px #6366f159}.notif-hub-btn.is-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 6px 18px #6366f166}.notif-hub-btn.is-ai{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border-color:#d8b4fe;color:#7c3aed}.notif-hub-btn.is-ai:hover{background:#ede9fe}.notif-hub-shell--full{padding:1.15rem 1.25rem 1.35rem;overflow:visible;max-width:100%;box-sizing:border-box}#notifications-view.notif-hub-view{padding-bottom:1rem;box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-x:clip;font-size:.72rem}.notif-hub-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}.notif-hub-kpis .notif-kpi{position:relative;text-align:left;padding:.75rem .85rem .75rem 2.65rem;border-radius:1rem;background:#fff;border:1px solid #e8ecf4;box-shadow:0 2px 8px #0f172a08;overflow:hidden}.notif-hub-kpis .notif-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:1rem 0 0 1rem}.notif-hub-kpis .notif-kpi-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.85rem;opacity:.9}.notif-hub-kpis .notif-kpi--filtered:before{background:linear-gradient(180deg,#6366f1,#818cf8)}.notif-hub-kpis .notif-kpi--filtered .notif-kpi-icon{color:#6366f1}.notif-hub-kpis .notif-kpi--filtered span{color:#4338ca}.notif-hub-kpis .notif-kpi--unread:before{background:linear-gradient(180deg,#f43f5e,#fb7185)}.notif-hub-kpis .notif-kpi--unread .notif-kpi-icon{color:#e11d48}.notif-hub-kpis .notif-kpi--unread span{color:#be123c}.notif-hub-kpis .notif-kpi--archive:before{background:linear-gradient(180deg,#64748b,#94a3b8)}.notif-hub-kpis .notif-kpi--archive .notif-kpi-icon{color:#64748b}.notif-hub-kpis .notif-kpi span{display:block;font-size:1.35rem;font-weight:900;color:#0f172a;line-height:1.1}.notif-hub-kpis .notif-kpi em{font-style:normal;font-size:.62rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.notif-hub-kpis .notif-kpi.is-hot{background:linear-gradient(135deg,#fff1f2,#fff);border-color:#fecdd3}.notif-hub-chart-wrap{margin-bottom:1.1rem;padding:.9rem 1rem;border-radius:1.1rem;background:linear-gradient(135deg,#fafbff,#f8fafc);border:1px solid #e4e8f4;box-shadow:inset 0 1px #fffc}.notif-hub-chart-head strong i{color:#6366f1;margin-right:.25rem}.notif-hub-chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem;font-size:.68rem;font-weight:800;color:#475569}.notif-hub-chart-canvas{height:9.5rem;position:relative}.notif-hub-body-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(16rem,24vw,24rem);gap:1.15rem;align-items:start;min-width:0;--notif-compose-h: 26rem;--notif-list-extra: 1.35rem}.notif-hub-compose{border:none;border-radius:0;padding:0;background:transparent;position:sticky;top:.75rem;min-width:0;max-width:100%}.notif-hub-list-head{font-size:.72rem;font-weight:800;color:#334155;margin-bottom:.55rem;display:flex;align-items:center;gap:.4rem}.notif-hub-list-head i{color:#6366f1}.notif-hub-list-section{min-width:0;max-width:100%;display:flex;flex-direction:column;min-height:0}.notif-hub-list{overflow-x:hidden;padding:.45rem .35rem .45rem .45rem;display:flex;flex-direction:column;gap:.45rem;width:100%;box-sizing:border-box;border:1px solid #e4e8f4;border-radius:1rem;background:linear-gradient(180deg,#fafbff,#f8fafc);box-shadow:inset 0 1px #ffffffd9;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7d2fe transparent}.notif-hub-list::-webkit-scrollbar{width:5px}.notif-hub-list::-webkit-scrollbar-thumb{background:#c7d2fe;border-radius:999px}@media (min-width: 1025px){.notif-hub-list{max-height:calc(var(--notif-compose-h) + var(--notif-list-extra));min-height:12rem}.notif-hub-compose-inner{min-height:var(--notif-compose-h);box-sizing:border-box}}.notif-hub-list .notif-panel-item{margin-bottom:0;flex-shrink:0;border-left-width:4px;border-left-style:solid;transition:box-shadow .15s,transform .12s;width:100%;max-width:100%;box-sizing:border-box;overflow:visible}.notif-hub-list .notif-panel-item-head{flex-wrap:wrap;gap:.35rem .5rem;min-width:0}.notif-hub-list .notif-panel-item-cat{min-width:0;overflow:hidden;text-overflow:ellipsis}.notif-hub-list .notif-panel-item-text{word-break:break-word;overflow-wrap:anywhere;white-space:normal;max-width:100%}.notif-hub-list .notif-panel-item-foot{flex-wrap:wrap;gap:.4rem;align-items:center;width:100%}.notif-hub-list .notif-panel-item-btns{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.notif-hub-list .notif-panel-item:hover{box-shadow:0 4px 16px #0f172a0f;transform:translateY(-1px)}.notif-hub-list .notif-cat-student{border-left-color:#6366f1}.notif-hub-list .notif-cat-homework{border-left-color:#f59e0b}.notif-hub-list .notif-cat-attendance{border-left-color:#14b8a6}.notif-hub-list .notif-cat-exam{border-left-color:#f43f5e}.notif-hub-list .notif-cat-communication{border-left-color:#8b5cf6}.notif-hub-list .notif-cat-system{border-left-color:#64748b}.notif-hub-list .notif-panel-item.is-unread{border-color:#e2e8f0;background:linear-gradient(90deg,#6366f10f,#fff 40%);box-shadow:0 0 0 1px #6366f11a}.notif-hub-list .notif-panel-item-cat{color:#4338ca}.notif-hub-list .notif-cat-homework .notif-panel-item-cat{color:#b45309}.notif-hub-list .notif-cat-attendance .notif-panel-item-cat{color:#0f766e}.notif-hub-list .notif-cat-exam .notif-panel-item-cat{color:#be123c}.notif-hub-list .notif-cat-communication .notif-panel-item-cat{color:#6d28d9}.notif-hub-list .notif-cat-system .notif-panel-item-cat{color:#475569}.notif-hub-compose-inner{padding:1.1rem 1.15rem 1.15rem;border-radius:1.15rem;background:linear-gradient(145deg,#fff,#faf5ff 55%,#f0fdfa);border:1px solid #e9d5ff;box-shadow:0 1px #fffffff2 inset,0 8px 28px #8b5cf61a,0 2px 8px #0f172a0a;max-width:100%;box-sizing:border-box}.notif-hub-compose-head{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.85rem}.notif-hub-compose-icon{width:2.25rem;height:2.25rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem;color:#fff;background:linear-gradient(135deg,#8b5cf6,#6366f1);box-shadow:0 4px 12px #8b5cf659}.notif-hub-compose-head strong{display:block;font-size:.78rem;font-weight:900;color:#1e1b4b;margin-bottom:.15rem}.notif-hub-compose-head p{margin:0;font-size:.62rem;font-weight:600;color:#64748b;line-height:1.45}.notif-hub-compose-text{width:100%;border:1px solid #e2e8f0;border-radius:.85rem;padding:.7rem .8rem;font-size:.78rem;font-weight:600;resize:vertical;min-height:6.5rem;box-sizing:border-box;margin-bottom:.75rem;background:#fff;line-height:1.5;transition:border-color .15s,box-shadow .15s}.notif-hub-compose-text:focus{outline:none;border-color:#a78bfa;box-shadow:0 0 0 3px #8b5cf626}.notif-hub-compose-fields{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.85rem}.notif-hub-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.notif-hub-field-label{font-size:.62rem;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:.35rem}.notif-hub-field-label i{color:#8b5cf6;font-size:.58rem}.notif-hub-select--compose{font-size:.72rem;padding:.55rem 1.75rem .55rem .65rem;background-color:#fff;border-color:#e2e8f0;text-overflow:ellipsis}.notif-hub-send-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1rem;border:none;border-radius:.85rem;background:linear-gradient(135deg,#6366f1,#7c3aed,#0d9488);color:#fff;font-size:.75rem;font-weight:800;cursor:pointer;box-shadow:0 6px 20px #6366f159;transition:transform .12s,box-shadow .15s}.notif-hub-send-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #6366f16b}@media (max-width: 1024px){.notif-hub-body-grid{grid-template-columns:1fr;--notif-compose-h: auto}.notif-hub-compose{position:static}.notif-hub-compose-inner{padding:1rem 1.05rem 1.05rem;min-height:0}.notif-hub-compose-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.notif-hub-list{max-height:min(22rem,48vh);min-height:10rem}}@media (max-width: 767px){#notifications-view.notif-hub-view{font-size:.62rem;padding-bottom:.75rem}.notif-hub-shell--full{padding:.7rem .65rem .9rem;border-radius:1.1rem}.notif-hub-hero{gap:.75rem;padding-bottom:.85rem;margin-bottom:.75rem}.notif-hub-hero-badge{width:2.25rem;height:2.25rem;font-size:.9rem;border-radius:.75rem}.notif-hub-hero h2{font-size:.78rem;letter-spacing:.02em}.notif-hub-hero p{font-size:.58rem;line-height:1.4}.notif-hub-head-actions{width:100%;gap:.35rem}.notif-hub-btn{font-size:.55rem;padding:.42rem .55rem;border-radius:.65rem;flex:1 1 calc(50% - .2rem);justify-content:center;min-width:0}.notif-hub-btn.is-ai{flex:1 1 100%}.notif-hub-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.notif-hub-kpis .notif-kpi{padding:.5rem .4rem .5rem 1.85rem;border-radius:.75rem}.notif-hub-kpis .notif-kpi-icon{left:.5rem;font-size:.68rem}.notif-hub-kpis .notif-kpi span{font-size:.95rem}.notif-hub-kpis .notif-kpi em{font-size:.5rem;letter-spacing:.02em}.notif-hub-toolbar{padding:.55rem .6rem;gap:.5rem;margin-bottom:.75rem}.notif-cat-chip{font-size:.52rem;padding:.32rem .55rem}.notif-cat-chip .count{font-size:.48rem;padding:.02rem .28rem}.notif-hub-filters{grid-template-columns:1fr 1fr;gap:.35rem}.notif-hub-select{font-size:.58rem;padding:.38rem .45rem}.notif-hub-archive-toggle{font-size:.55rem;width:100%;justify-content:flex-start}.notif-hub-chart-wrap{padding:.65rem .7rem;margin-bottom:.75rem}.notif-hub-chart-head{font-size:.58rem;flex-wrap:wrap;gap:.25rem}.notif-hub-chart-canvas{height:7rem}.notif-hub-list-head{font-size:.62rem;margin-bottom:.4rem}.notif-hub-list{max-height:min(18rem,42vh);min-height:8.5rem;padding:.35rem .3rem .35rem .4rem}.notif-hub-list .notif-panel-item{padding:.55rem .6rem;border-radius:.7rem}.notif-hub-list .notif-panel-item-cat{font-size:.5rem}.notif-hub-list .notif-panel-item-grade{font-size:.48rem}.notif-hub-list .notif-panel-item-text{font-size:.62rem;line-height:1.4}.notif-hub-list .notif-panel-item-student{font-size:.55rem}.notif-hub-list .notif-panel-item-foot{font-size:.5rem}.notif-hub-list .notif-panel-item-btns button{font-size:.48rem;padding:.15rem .32rem}.notif-hub-compose-inner{padding:.85rem .8rem .9rem}.notif-hub-compose-icon{width:1.85rem;height:1.85rem;font-size:.72rem}.notif-hub-compose-head strong{font-size:.68rem}.notif-hub-compose-head p{font-size:.55rem}.notif-hub-compose-text{font-size:.65rem;min-height:5rem;padding:.55rem .6rem;margin-bottom:.6rem}.notif-hub-compose-fields{grid-template-columns:1fr;gap:.5rem}.notif-hub-field-label{font-size:.52rem}.notif-hub-select--compose{font-size:.62rem;padding:.45rem .5rem}.notif-hub-send-btn{font-size:.65rem;padding:.55rem .75rem}}@media (max-width: 400px){.notif-hub-kpis,.notif-hub-filters{grid-template-columns:1fr}.notif-hub-head-actions .notif-hub-btn{flex:1 1 100%}}@media (min-width: 1200px){.notif-hub-body-grid{grid-template-columns:minmax(0,1.35fr) minmax(18rem,22rem);gap:1.35rem;--notif-compose-h: 27rem}.notif-hub-list .notif-panel-item-text{font-size:.74rem;line-height:1.45}}@media (min-width: 1600px){#notifications-view.notif-hub-view{font-size:.75rem}.notif-hub-body-grid{grid-template-columns:minmax(0,1.5fr) 24rem;--notif-compose-h: 28rem}}@media (max-width: 640px){.notif-hub-hero{flex-direction:column}}.notif-hub-toolbar{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem;padding:.75rem .85rem;border-radius:1rem;background:#ffffffb8;border:1px solid #e8ecf4}.notif-hub-toolbar-row{display:flex;align-items:center;gap:.55rem;min-width:0}.notif-hub-toolbar-row--cats{overflow:hidden}.notif-hub-toolbar-row--filters{flex-wrap:wrap;justify-content:space-between}.notif-hub-cats{display:flex;flex-wrap:nowrap;gap:.35rem;min-width:0;width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:.15rem;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.notif-hub-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.45rem;flex:1;min-width:0}.notif-cat-chip{font-size:.62rem;font-weight:800;padding:.42rem .75rem;border-radius:999px;border:2px solid #e8ecf4;background:#fff;color:#64748b;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0}.notif-cat-chip.cat-all.is-active{border-color:#6366f1;background:#eef2ff;color:#4338ca}.notif-cat-chip.cat-new.is-active,.notif-cat-chip.cat-new.is-hot.is-active{border-color:#f43f5e;background:#fff1f2;color:#be123c}.notif-cat-chip.cat-student.is-active{border-color:#818cf8;background:#eef2ff;color:#4338ca}.notif-cat-chip.cat-homework.is-active{border-color:#fbbf24;background:#fffbeb;color:#b45309}.notif-cat-chip.cat-attendance.is-active{border-color:#2dd4bf;background:#f0fdfa;color:#0f766e}.notif-cat-chip.cat-exam.is-active{border-color:#fb7185;background:#fff1f2;color:#be123c}.notif-cat-chip.cat-communication.is-active{border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9}.notif-cat-chip.cat-system.is-active{border-color:#94a3b8;background:#f8fafc;color:#475569}.notif-cat-chip.is-hot{border-color:#f43f5e;background:#fff1f2;color:#be123c}.notif-cat-chip.is-hot.is-active{border-color:#e11d48;background:#ffe4e6;color:#9f1239}.notif-cat-chip .count{opacity:.85;margin-left:.25rem;min-width:1rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;padding:.05rem .35rem;border-radius:999px;background:#0f172a0f;font-size:.58rem}.notif-hub-select{width:100%;font-size:.65rem;font-weight:700;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.45rem .55rem;box-sizing:border-box;min-width:0}.notif-hub-groups{display:flex;flex-direction:column;gap:1.25rem}.notif-group{border:1px solid #e2e8f0;border-radius:1.25rem;overflow:hidden;background:#fafafa}.notif-group.is-new-zone{border-color:#5eead4;box-shadow:0 8px 24px #0d948814}.notif-group.is-new-zone .notif-group-head{background:linear-gradient(90deg,#f0fdfa,#fff);border-bottom-color:#99f6e4}.notif-group.is-new-zone .notif-group-head h3{color:#0f766e}.notif-group.is-system-zone{border-color:#cbd5e1;background:#f8fafc}.notif-group.is-system-zone .notif-group-head{background:#f1f5f9}.notif-group-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0}.notif-group-head h3{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.45rem}.notif-group-head .badge{font-size:.6rem;font-weight:800;padding:.15rem .45rem;border-radius:999px;background:#e2e8f0;color:#475569}.notif-group-list{display:flex;flex-direction:column;gap:0}.notif-group-list.is-scrollable{max-height:18rem;overflow-y:auto;overscroll-behavior:contain}.notif-group-list.is-compact-list{max-height:14rem}.notif-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:.85rem;padding:1rem;align-items:stretch}.notif-tile-grid.is-scrollable{max-height:24rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.notif-tile-grid.is-compact-grid{max-height:17rem}.notif-tile{display:flex;flex-direction:column;gap:.55rem;padding:.9rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 1px 3px #0f172a0d;min-width:0;min-height:7.5rem;transition:border-color .15s,box-shadow .15s,transform .12s}.notif-tile:hover{border-color:#cbd5e1;box-shadow:0 6px 16px #0f172a12;transform:translateY(-1px)}.notif-tile.is-unread{border-color:#5eead4;background:linear-gradient(180deg,#f0fdfa,#fff 45%);box-shadow:0 0 0 1px #14b8a61f,0 4px 12px #0d948814}.notif-tile-head{display:flex;align-items:center;gap:.5rem;min-width:0}.notif-tile-icon{width:1.85rem;height:1.85rem;border-radius:.6rem;display:flex;align-items:center;justify-content:center;font-size:.72rem;flex-shrink:0}.notif-tile-cat{font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-tile-text{margin:0;font-size:.74rem;font-weight:600;line-height:1.55;color:#1e293b;word-break:break-word;overflow-wrap:anywhere;flex:1}.notif-tile-student{font-size:.62rem;font-weight:800;color:#0d9488;align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-tile-student:hover{text-decoration:underline}.notif-tile-foot{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.5rem;border-top:1px dashed #e2e8f0}.notif-tile-time{font-size:.56rem;font-weight:700;color:#94a3b8}.notif-tile-btns{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.notif-tile-btns .notif-go-btn,.notif-tile-btns .notif-mark-read{flex:0 1 auto;max-width:100%}.notif-cat-student .notif-tile-icon{background:#e0e7ff;color:#4338ca}.notif-cat-homework .notif-tile-icon{background:#fef3c7;color:#b45309}.notif-cat-attendance .notif-tile-icon{background:#ccfbf1;color:#0f766e}.notif-cat-exam .notif-tile-icon{background:#ffe4e6;color:#be123c}.notif-cat-communication .notif-tile-icon{background:#ede9fe;color:#6d28d9}.notif-cat-system .notif-tile-icon{background:#f1f5f9;color:#475569}.notif-card{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem .75rem;padding:.85rem 1rem;background:#fff;border-bottom:1px solid #f1f5f9;transition:background .12s;min-width:0;box-sizing:border-box}.notif-card:last-child{border-bottom:none}.notif-card.is-unread{background:#f0fdfa;border-left:3px solid #14b8a6}.notif-card.is-clickable{cursor:pointer}.notif-card.is-clickable:hover{background:#f8fafc}.notif-card.is-clickable.is-unread:hover{background:#ecfdf5}.notif-go-btn{font-size:.58rem;font-weight:800;padding:.28rem .5rem;border-radius:.45rem;border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.notif-go-btn.is-compact{font-size:.52rem;padding:.2rem .4rem}.notif-go-btn:hover{background:#ccfbf1;border-color:#5eead4}.notif-card-icon{width:2.25rem;height:2.25rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.notif-card-body{flex:1;min-width:0}.notif-card-text{font-size:.78rem;font-weight:600;color:#1e293b;line-height:1.45;word-break:break-word;overflow-wrap:anywhere}.notif-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;margin-top:.35rem;font-size:.62rem;font-weight:700;color:#64748b}.notif-card-meta button{color:#0d9488;font-weight:800}.notif-card-meta button:hover{text-decoration:underline}.notif-card-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem;flex:1 1 8rem;min-width:0;margin-left:auto}.notif-card:not(.notif-card-compact) .notif-card-body{flex:1 1 12rem;min-width:0}.notif-card:not(.notif-card-compact) .notif-card-icon{flex:0 0 auto}.notif-card-time{font-size:.58rem;font-weight:700;color:#94a3b8;white-space:nowrap}.notif-mark-read{font-size:.58rem;font-weight:800;padding:.25rem .45rem;border-radius:.45rem;border:1px solid #cbd5e1;color:#475569;background:#fff}.notif-mark-read:hover{border-color:#14b8a6;color:#0f766e}.notif-empty{text-align:center;padding:2.5rem 1rem;font-size:.8rem;font-weight:600;color:#94a3b8;font-style:italic}.notif-cat-student .notif-card-icon{background:#e0e7ff;color:#4338ca}.notif-cat-homework .notif-card-icon{background:#fef3c7;color:#b45309}.notif-cat-attendance .notif-card-icon{background:#ccfbf1;color:#0f766e}.notif-cat-exam .notif-card-icon{background:#ffe4e6;color:#be123c}.notif-cat-communication .notif-card-icon{background:#ede9fe;color:#6d28d9}.notif-cat-system .notif-card-icon{background:#f1f5f9;color:#475569}#nav-notif-hub-badge{margin-left:auto;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;background:#f43f5e;color:#fff;font-size:.55rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center}#nav-notif-hub-badge.is-hidden{display:none}.notif-group.is-student-zone{border-color:#c7d2fe;background:#fafaff}.notif-group.is-student-zone .notif-group-head{background:linear-gradient(90deg,#eef2ff,#fff);border-bottom-color:#c7d2fe}.notif-student-strip{display:flex;gap:.5rem;padding:.75rem 1rem;overflow-x:auto;border-bottom:1px solid #e2e8f0;background:#fff;scrollbar-width:thin}.notif-student-chip{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:5.25rem;min-width:5.25rem;max-width:5.25rem;padding:.5rem .35rem;border-radius:1rem;border:2px solid #e2e8f0;background:#f8fafc;transition:border-color .15s,background .15s,transform .12s;flex-shrink:0;overflow:hidden}.notif-student-chip:hover{border-color:#818cf8;background:#eef2ff;transform:translateY(-1px)}.notif-student-chip.has-new{border-color:#14b8a6;background:#f0fdfa}.notif-student-chip-avatar,.notif-student-avatar{width:2.5rem;height:2.5rem;border-radius:999px;flex-shrink:0;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px #0f172a14}.notif-student-chip-avatar.has-photo,.notif-student-avatar.has-photo{display:block}.notif-student-chip-avatar.is-initials,.notif-student-avatar.is-initials{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;font-size:.72rem;font-weight:900}.notif-student-chip-name{font-size:.58rem;font-weight:800;color:#1e293b;text-align:center;line-height:1.25;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.notif-student-chip-count{font-size:.5rem;font-weight:700;color:#64748b;text-align:center;line-height:1.2;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-student-grid{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:.75rem;padding:.75rem 1rem 1rem;overflow-x:auto;overflow-y:hidden;max-height:19rem;scroll-snap-type:x proximity;scrollbar-width:thin}.notif-student-col{border:1px solid #e2e8f0;border-radius:1rem;background:#fff;overflow:hidden;flex:0 0 18rem;width:18rem;max-width:18rem;min-width:18rem;max-height:17.5rem;display:flex;flex-direction:column;scroll-snap-align:start;box-shadow:0 1px 2px #0f172a0a;isolation:isolate}.notif-student-profile{display:grid;grid-template-columns:2.5rem minmax(0,1fr);grid-template-areas:"avatar text" "meta meta";gap:.35rem .55rem;padding:.65rem .75rem;background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:1px solid #f1f5f9;align-items:start;flex-shrink:0}.notif-student-profile .notif-student-avatar,.notif-student-profile .notif-student-avatar.is-initials,.notif-student-profile .notif-student-avatar.has-photo{grid-area:avatar}.notif-student-profile-text{grid-area:text;min-width:0;display:flex;flex-direction:column;gap:.08rem}.notif-student-profile-meta{grid-area:meta;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.35rem;width:100%;padding-top:.15rem;border-top:1px dashed #e2e8f0}.notif-student-profile-text strong{font-size:.72rem;font-weight:900;color:#0f172a;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-student-profile-text span{font-size:.58rem;font-weight:700;color:#64748b}.notif-student-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.notif-student-col-badge{font-size:.55rem;font-weight:800;padding:.15rem .4rem;border-radius:999px;background:#e0e7ff;color:#4338ca;white-space:nowrap}.notif-student-profile-open{font-size:.52rem;font-weight:800;color:#0d9488;padding:.1rem 0}.notif-student-profile-open:hover{text-decoration:underline}.notif-student-col-list{display:flex;flex-direction:column;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;gap:.55rem;padding:.55rem}.notif-mini-card{display:block;width:100%;box-sizing:border-box;padding:.65rem .75rem;border:1px solid #e8edf3;border-radius:.75rem;background:#fff;box-shadow:0 1px 2px #0f172a08}.notif-mini-card:last-child{margin-bottom:0}.notif-mini-card.is-unread{background:#f0fdfa;border-color:#99f6e4;border-left:3px solid #14b8a6;padding-left:calc(.75rem - 2px)}.notif-mini-text{display:block;margin:0;font-size:.7rem;font-weight:600;line-height:1.5;color:#1e293b;word-break:break-word;overflow-wrap:anywhere;white-space:normal}.notif-mini-foot{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;margin-top:.5rem;padding-top:.45rem;border-top:1px dashed #f1f5f9}.notif-mini-time{display:block;font-size:.55rem;font-weight:700;color:#94a3b8;font-style:normal}.notif-mini-btns{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;width:100%}.notif-mini-btns .notif-go-btn,.notif-mini-btns .notif-mark-read{flex:0 1 auto;max-width:100%}.notif-card-compact{flex-direction:column;align-items:stretch;padding:.55rem .65rem;gap:.35rem}.notif-card-compact .notif-card-body{width:100%;min-width:0}.notif-card-compact .notif-card-text{font-size:.68rem;line-height:1.35}.notif-card-compact .notif-card-actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;width:100%;gap:.25rem .35rem}.notif-unknown-drawer{border-top:1px dashed #cbd5e1;background:#fff}.notif-unknown-drawer-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.65rem;font-weight:800;color:#475569;text-align:left;background:#f8fafc;transition:background .15s}.notif-unknown-drawer-toggle:hover{background:#f1f5f9}.notif-drawer-chevron{font-size:.55rem;color:#94a3b8;transition:transform .15s;flex-shrink:0}.notif-unknown-drawer-toggle[aria-expanded=true] .notif-drawer-chevron{transform:rotate(90deg)}.notif-unknown-drawer-label{flex:1;min-width:0}.notif-unknown-drawer-badge{font-size:.55rem;font-weight:800;padding:.15rem .45rem;border-radius:999px;background:#e2e8f0;color:#475569;white-space:nowrap}.notif-unknown-drawer-panel{display:none;border-top:1px solid #e2e8f0}.notif-unknown-drawer-panel.is-open{display:block}@media (max-width: 640px){.notif-tile-grid{grid-template-columns:1fr;gap:.65rem;padding:.75rem}.notif-student-col{flex-basis:16rem;width:16rem;min-width:16rem;max-width:16rem}}body.notif-panel-open{overflow:hidden}.notif-panel-overlay{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(4px);z-index:12040;opacity:0;pointer-events:none;transition:opacity .22s ease}.notif-panel-overlay.is-open{opacity:1;pointer-events:auto}.notif-side-panel{position:fixed;top:0;right:0;bottom:0;width:min(100vw,28rem);max-width:100%;z-index:12050;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#f8fafc);border-left:1px solid #e2e8f0;box-shadow:-12px 0 40px #0f172a1f;transform:translate(105%);transition:transform .28s cubic-bezier(.22,1,.36,1)}.notif-side-panel.is-open{transform:translate(0)}.notif-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid #f1f5f9;flex-shrink:0}.notif-panel-kicker{margin:0;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0d9488}.notif-panel-title{margin:.15rem 0 0;font-size:1.05rem;font-weight:900;color:#0f172a}.notif-panel-close{width:2rem;height:2rem;border-radius:.65rem;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer}.notif-panel-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;padding:.65rem 1rem;flex-shrink:0}.notif-kpi{text-align:center;padding:.45rem .35rem;border-radius:.75rem;background:#f8fafc;border:1px solid #e2e8f0}.notif-kpi span{display:block;font-size:1rem;font-weight:900;color:#0f172a}.notif-kpi em{font-style:normal;font-size:.58rem;font-weight:700;color:#64748b}.notif-kpi.is-hot span{color:#be123c}.notif-panel-filters{padding:0 1rem .65rem;border-bottom:1px solid #f1f5f9;flex-shrink:0}.notif-panel-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.4rem}.notif-panel-select{width:100%;border:1px solid #e2e8f0;border-radius:.65rem;padding:.42rem .5rem;font-size:.68rem;font-weight:700;color:#334155;background:#fff;box-sizing:border-box}.notif-panel-cats{display:flex;flex-wrap:wrap;gap:.3rem;margin:.35rem 0}.notif-panel-archive-toggle{display:flex;align-items:center;gap:.35rem;font-size:.65rem;font-weight:700;color:#64748b;margin-top:.25rem}.notif-hub-archive-toggle{display:inline-flex;align-items:center;gap:.3rem;font-size:.62rem;font-weight:700;color:#64748b;white-space:nowrap;flex-shrink:0;padding:.35rem 0}.notif-panel-chart-wrap{margin:.65rem 1rem;padding:.65rem;border-radius:.85rem;background:#f8fafc;border:1px solid #e2e8f0;flex-shrink:0}.notif-panel-chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.65rem;font-weight:800;color:#475569}.notif-panel-chart-canvas{height:7rem;position:relative}.notif-panel-list-head{display:flex;align-items:center;justify-content:space-between;padding:.55rem 1rem .35rem;font-size:.68rem;font-weight:800;color:#334155;flex-shrink:0}.notif-panel-mini-btn{width:1.75rem;height:1.75rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer}.notif-panel-list{flex:1 1 auto;overflow-y:auto;padding:0 1rem .75rem;min-height:0}.notif-panel-item{padding:.65rem .7rem;border-radius:.8rem;border:1px solid #e2e8f0;background:#fff;margin-bottom:.45rem}.notif-panel-item.is-unread{border-color:#99f6e4;background:#f0fdfa;box-shadow:0 0 0 1px #0d948814}.notif-panel-item.is-archived{opacity:.72}.notif-panel-item-head{display:flex;justify-content:space-between;gap:.35rem;margin-bottom:.25rem}.notif-panel-item-cat{font-size:.58rem;font-weight:800;color:#0f766e}.notif-panel-item-grade{font-size:.55rem;font-weight:800;color:#64748b}.notif-panel-item-text{margin:0;font-size:.72rem;font-weight:600;color:#0f172a;line-height:1.35}.notif-panel-item-student{margin:.2rem 0 0;font-size:.62rem;font-weight:700;color:#64748b}.notif-panel-item-foot{display:flex;justify-content:space-between;align-items:center;gap:.35rem;margin-top:.35rem;font-size:.58rem;color:#94a3b8}.notif-panel-item-btns{display:flex;flex-wrap:wrap;gap:.25rem}.notif-panel-item-btns button{font-size:.55rem;font-weight:800;padding:.18rem .38rem;border-radius:.45rem;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer}.notif-panel-item-btns button.is-go{color:#0f766e;border-color:#99f6e4;background:#ecfdf5}.notif-panel-compose{flex-shrink:0;padding:.75rem 1rem 1rem;border-top:1px solid #e2e8f0;background:#fff}.notif-panel-compose-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.68rem;font-weight:800;color:#334155}.notif-panel-ai-btn{font-size:.6rem;font-weight:800;padding:.28rem .5rem;border-radius:999px;border:1px solid #c4b5fd;background:#f5f3ff;color:#6d28d9;cursor:pointer}.notif-panel-compose-text{width:100%;border:1px solid #e2e8f0;border-radius:.7rem;padding:.5rem .6rem;font-size:.72rem;font-weight:600;resize:vertical;min-height:2.5rem;box-sizing:border-box;margin-bottom:.4rem}.notif-panel-compose-row{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:.45rem}.notif-panel-send-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem;border:none;border-radius:.75rem;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;font-size:.72rem;font-weight:800;cursor:pointer}.tdash-nav-badge{margin-left:auto;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;background:#f43f5e;color:#fff;font-size:.55rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.tdash-nav-badge.is-hidden{display:none}.notif-sutlac-insight{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.75rem .9rem;border-radius:1rem;border:1px solid #bbf7d0;background:#ecfdf5}.notif-sutlac-insight img{width:2.4rem;height:2.4rem;object-fit:contain}.notif-sutlac-kicker{margin:0;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#047857}.notif-sutlac-insight p{margin:.12rem 0 0;font-size:.76rem;color:#334155;line-height:1.4}@media (max-width: 640px){.notif-side-panel{width:100vw}.notif-panel-filter-row,.notif-panel-compose-row{grid-template-columns:1fr}}
