.nc-wrapper{margin-bottom:32px;font-family:var(--font-body)}.nc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:8px}.nc-title{font-family:var(--font-head);font-size:1.25rem;color:var(--accent-dark);display:flex;align-items:center;gap:10px;margin:0}.nc-title i{color:var(--accent);font-size:1.05rem}.nc-date{font-size:12px;color:var(--text-light);font-weight:600;background:rgba(214,195,163,.35);padding:5px 14px;border-radius:20px;border:1px solid rgba(139,111,71,.15);white-space:nowrap}.nc-bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto;grid-template-areas:"banner  banner  banner  banner" "attend  attend  exam    fee";gap:16px;align-items:start}.nc-card{background:rgba(255,250,244,.58);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(214,195,163,.5);border-radius:20px;padding:22px;box-shadow:0 4px 20px rgba(139,111,71,.09);transition:transform .22s,box-shadow .22s;overflow:hidden;position:relative}.nc-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(139,111,71,.17)}.nc-notice-banner{grid-area:banner}.nc-attendance{grid-area:attend}.nc-exam{grid-area:exam}.nc-fee{grid-area:fee}.nc-card-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent);margin-bottom:12px}.nc-card-label i{font-size:12px}.nc-notice-banner{background:rgba(255,249,225,.68);border-color:rgba(234,179,8,.3);display:flex;align-items:flex-start;gap:16px;padding:18px 22px;min-height:auto}.nc-notice-banner.nc-urgent{background:rgba(255,246,210,.78);border-color:rgba(245,158,11,.5);box-shadow:0 0 0 2px rgba(245,158,11,.1),0 4px 20px rgba(139,111,71,.1)}.nc-notice-icon{width:44px;height:44px;border-radius:13px;background:rgba(245,158,11,.14);border:1.5px solid rgba(245,158,11,.28);display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:#d97706;flex-shrink:0}.nc-notice-banner.nc-urgent .nc-notice-icon{animation:2.2s ease-in-out infinite nc-pulse}@keyframes nc-pulse{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.4)}50%{box-shadow:0 0 0 8px rgba(245,158,11,0)}}.nc-notice-content{flex:1;min-width:0}.nc-notice-tag{display:inline-flex;align-items:center;gap:5px;background:rgba(245,158,11,.16);color:#92400e;font-size:10px;font-weight:700;padding:2px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.nc-notice-tag.nc-tag-urgent{background:rgba(239,68,68,.12);color:#991b1b}.nc-notice-message{font-size:14px;font-weight:600;color:var(--text);line-height:1.55;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-notice-date{font-size:12px;color:var(--text-light)}.nc-notice-more{font-size:12px;color:var(--text-light);white-space:nowrap;padding-top:2px;flex-shrink:0}.nc-attendance.nc-status-present{border-color:rgba(34,197,94,.38);background:rgba(240,253,244,.62);box-shadow:0 0 0 1.5px rgba(34,197,94,.1),0 4px 20px rgba(34,197,94,.07)}.nc-attendance.nc-status-absent{border-color:rgba(239,68,68,.38);background:rgba(254,242,242,.62);box-shadow:0 0 0 1.5px rgba(239,68,68,.1),0 4px 20px rgba(239,68,68,.07)}.nc-attendance.nc-status-late{border-color:rgba(245,158,11,.38);background:rgba(255,251,235,.62)}.nc-att-body{display:flex;align-items:flex-start;gap:18px}.nc-att-status-badge{width:58px;height:58px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:10px;letter-spacing:.3px;text-transform:uppercase;flex-shrink:0;gap:5px}.nc-att-status-badge.present{background:rgba(34,197,94,.14);color:#15803d;border:1.5px solid rgba(34,197,94,.24)}.nc-att-status-badge.absent{background:rgba(239,68,68,.12);color:#b91c1c;border:1.5px solid rgba(239,68,68,.22)}.nc-att-status-badge.late{background:rgba(245,158,11,.12);color:#92400e;border:1.5px solid rgba(245,158,11,.24)}.nc-att-status-badge i{font-size:1.3rem}.nc-att-info{flex:1;min-width:0}.nc-att-title{font-family:var(--font-head);font-size:1rem;color:var(--accent-dark);margin-bottom:3px}.nc-att-subtitle{font-size:12px;color:var(--text-light);margin-bottom:14px}.nc-att-stats{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:16px}.nc-att-stat{text-align:center}.nc-att-stat-val{font-family:var(--font-head);font-size:1.3rem;font-weight:700;line-height:1}.nc-att-stat-val.green{color:#16a34a}.nc-att-stat-val.red{color:#dc2626}.nc-att-stat-val.brown{color:var(--accent)}.nc-att-stat-lbl{font-size:11px;color:var(--text-light);margin-top:2px}.nc-att-bar-label{display:flex;justify-content:space-between;font-size:11px;color:var(--text-light);margin-bottom:6px}.nc-att-bar-track{height:7px;background:rgba(214,195,163,.4);border-radius:4px;overflow:hidden}.nc-att-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .6s}.nc-att-bar-fill.danger{background:linear-gradient(90deg,#dc2626,#ef4444)}.nc-att-bar-fill.warning{background:linear-gradient(90deg,#d97706,#f59e0b)}.nc-exam{border-color:rgba(139,111,71,.28)}.nc-exam-list{display:flex;flex-direction:column;gap:9px}.nc-exam-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.48);border:1px solid rgba(214,195,163,.32);transition:background .2s}.nc-exam-item:hover{background:rgba(255,255,255,.75)}.nc-exam-item.nc-exam-urgent{background:rgba(254,242,242,.52);border-color:rgba(239,68,68,.28)}.nc-exam-date-box{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;border-radius:10px;padding:6px 10px;text-align:center;min-width:42px;flex-shrink:0}.nc-exam-date-box.urgent{background:linear-gradient(135deg,#ef4444,#b91c1c)}.nc-exam-day{font-family:var(--font-head);font-size:1.1rem;font-weight:700;line-height:1}.nc-exam-month{font-size:10px;letter-spacing:.3px;opacity:.9}.nc-exam-info{flex:1;min-width:0}.nc-exam-subject{font-weight:700;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nc-exam-type{font-size:11px;color:var(--text-light)}.nc-exam-countdown{font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px;white-space:nowrap;flex-shrink:0}.nc-exam-countdown.urgent{background:rgba(239,68,68,.12);color:#b91c1c}.nc-exam-countdown.warning{background:rgba(245,158,11,.14);color:#92400e}.nc-exam-countdown.normal{background:rgba(139,111,71,.1);color:var(--accent-dark)}.nc-exam-empty{font-size:13px;color:var(--text-light);text-align:center;padding:16px 0}.nc-fee.nc-fee-unpaid{border-color:rgba(239,68,68,.42);animation:3s ease-in-out infinite nc-fee-glow}.nc-fee.nc-fee-paid{border-color:rgba(34,197,94,.35);background:rgba(240,253,244,.55)}@keyframes nc-fee-glow{0%,100%{box-shadow:0 0 0 2px rgba(239,68,68,.08),0 4px 20px rgba(239,68,68,.07)}50%{box-shadow:0 0 0 5px rgba(239,68,68,.15),0 6px 28px rgba(239,68,68,.12)}}.nc-fee-status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;margin-bottom:12px}.nc-fee-status-pill.paid{background:rgba(34,197,94,.12);color:#15803d;border:1px solid rgba(34,197,94,.24)}.nc-fee-status-pill.unpaid{background:rgba(239,68,68,.1);color:#b91c1c;border:1px solid rgba(239,68,68,.22)}.nc-fee-amount{font-family:var(--font-head);font-size:1.75rem;font-weight:700;color:var(--accent-dark);line-height:1;margin-bottom:4px}.nc-fee-amount-label{font-size:12px;color:var(--text-light);margin-bottom:14px}.nc-fee-detail{display:flex;justify-content:space-between;font-size:12px;color:var(--text-light);padding:5px 0;border-bottom:1px solid rgba(214,195,163,.28)}.nc-fee-detail:last-of-type{border-bottom:none;margin-bottom:12px}.nc-fee-detail .nc-fee-val{font-weight:700;color:var(--text)}.nc-upi-btn{width:100%;padding:10px 14px;border-radius:12px;border:none;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s,transform .2s;margin-top:2px}.nc-upi-btn:hover{opacity:.88;transform:translateY(-1px)}@media (max-width:900px){.nc-bento-grid{grid-template-columns:repeat(2,1fr);grid-template-areas:"banner  banner" "attend  attend" "exam    fee"}}@media (max-width:640px){.nc-bento-grid{grid-template-columns:1fr;grid-template-areas:"banner" "attend" "exam" "fee";gap:12px}.nc-card{border-radius:16px;padding:18px}.nc-notice-message{white-space:normal}.nc-att-stats{gap:14px}.nc-fee-amount{font-size:1.5rem}}