.fee-chat-root{position:fixed;bottom:90px;left:20px;z-index:95;align-items:flex-start;gap:14px;font-family:var(--font-body)}.fee-chat-panel,.fee-chat-root{display:flex;flex-direction:column}.fee-chat-panel{width:min(92vw,400px);height:min(72vh,540px);overflow:hidden;border-radius:var(--radius-card);background:var(--color-white);box-shadow:var(--shadow-high),0 0 0 1px rgba(0,55,113,.08);transform-origin:bottom left;animation:feeChatSlideIn .35s cubic-bezier(.34,1.56,.64,1)}@keyframes feeChatSlideIn{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.fee-chat-header{position:relative;padding:18px 18px 16px;background:linear-gradient(135deg,var(--color-secondary) 0,var(--color-secondary-light) 100%);color:var(--color-white);overflow:hidden}.fee-chat-header:before{top:-30px;right:-20px;width:100px;height:100px;background:rgba(255,255,255,.08)}.fee-chat-header:after,.fee-chat-header:before{content:"";position:absolute;z-index:0;border-radius:50%;pointer-events:none}.fee-chat-header:after{bottom:-40px;left:30%;width:80px;height:80px;background:rgba(255,242,0,.12)}.fee-chat-header-top{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fee-chat-header-info{display:flex;align-items:center;gap:12px}.fee-chat-avatar{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;animation:feeChatAvatarPop .5s ease .15s both}@keyframes feeChatAvatarPop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.fee-chat-header-text{min-width:0;flex:1;color:#ffffff}.fee-chat-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;letter-spacing:.5px;line-height:1.2;color:#ffffff!important;margin:0}.fee-chat-subtitle{font-size:.78rem;margin-top:2px;color:rgba(255,255,255,.92)!important}.fee-chat-header-actions{display:flex;gap:4px;position:relative;z-index:1}.fee-chat-icon-btn{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.15);color:#ffffff!important;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:background var(--transition-fast),transform var(--transition-fast)}.fee-chat-icon-btn:hover{background:rgba(255,255,255,.28);transform:scale(1.08)}.fee-chat-messages{flex:1;overflow-y:auto;padding:16px;background:linear-gradient(180deg,var(--color-bg-section) 0,var(--color-bg-muted) 100%);display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.fee-chat-messages::-webkit-scrollbar{width:5px}.fee-chat-messages::-webkit-scrollbar-thumb{background:rgba(0,55,113,.2);border-radius:10px}.fee-chat-row{display:flex;animation:feeMsgIn .35s ease both}.fee-chat-row.user{justify-content:flex-end}@keyframes feeMsgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fee-chat-bubble{max-width:88%;padding:11px 14px;font-size:.9rem;line-height:1.55;white-space:pre-wrap;border-radius:18px}.fee-chat-bubble.bot{background:var(--color-white);color:var(--color-text);border:1px solid rgba(0,55,113,.1);border-bottom-left-radius:6px;box-shadow:var(--shadow-card)}.fee-chat-bubble.user{background:linear-gradient(135deg,var(--color-secondary) 0,var(--color-secondary-light) 100%);color:var(--color-white);border-bottom-right-radius:6px;box-shadow:0 4px 14px rgba(0,55,113,.25)}.fee-chat-options{display:flex;flex-direction:column;gap:10px;padding-top:4px;animation:feeMsgIn .4s ease .1s both}.fee-chat-option{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:var(--radius-button);background:var(--color-white);border:2px solid rgba(0,55,113,.12);text-align:left;transition:transform var(--transition-medium),border-color var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-card)}.fee-chat-option:hover{transform:translateX(6px);border-color:var(--color-secondary);box-shadow:0 8px 24px rgba(0,55,113,.18)}.fee-chat-option:active{transform:translateX(3px) scale(.98)}.fee-chat-option-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.fee-chat-option.academic .fee-chat-option-icon{background:linear-gradient(135deg,#e8f1fa,#d4e6f7)}.fee-chat-option.transport .fee-chat-option-icon{background:linear-gradient(135deg,#fff8e6,#ffe9b8)}.fee-chat-option-text strong{display:block;font-family:var(--font-heading);font-size:.95rem;color:var(--color-secondary);font-weight:600}.fee-chat-option-text span{font-size:.78rem;color:var(--color-text-secondary)}.fee-chat-typing{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--color-white);border-radius:18px;border-bottom-left-radius:6px;border:1px solid rgba(0,55,113,.1);box-shadow:var(--shadow-card);width:fit-content}.fee-chat-typing span{font-size:.82rem;color:var(--color-text-secondary)}.fee-chat-dots{display:flex;gap:4px}.fee-chat-dots i{width:7px;height:7px;border-radius:50%;background:var(--color-secondary);animation:feeDotBounce 1.2s ease-in-out infinite}.fee-chat-dots i:nth-child(2){animation-delay:.15s}.fee-chat-dots i:nth-child(3){animation-delay:.3s}@keyframes feeDotBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.fee-chat-form{padding:14px 16px 16px;background:var(--color-white);border-top:1px solid rgba(0,55,113,.08)}.fee-chat-input-row{display:flex;gap:10px;align-items:center}.fee-chat-input{flex:1;padding:12px 16px;border-radius:var(--radius-pill);border:2px solid rgba(0,55,113,.15);font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:var(--color-bg-muted)}.fee-chat-input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(0,55,113,.12);background:var(--color-white)}.fee-chat-input:disabled{opacity:.65;cursor:not-allowed}.fee-chat-send{width:46px;height:46px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--color-secondary) 0,var(--color-secondary-light) 100%);color:var(--color-white);display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);box-shadow:0 4px 14px rgba(0,55,113,.3)}.fee-chat-send:hover:not(:disabled){transform:scale(1.08);box-shadow:0 6px 20px rgba(0,55,113,.35)}.fee-chat-send:active:not(:disabled){transform:scale(.95)}.fee-chat-send:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.fee-chat-launcher-wrap{position:relative;display:flex;align-items:center;gap:10px}.fee-chat-launcher-label{padding:8px 14px;border-radius:var(--radius-pill);background:var(--color-white);color:var(--color-secondary);font-family:var(--font-heading);font-size:.85rem;font-weight:600;box-shadow:var(--shadow-card);white-space:nowrap;animation:feeLabelPulse 3s ease-in-out infinite;pointer-events:none}.fee-chat-root.is-open .fee-chat-launcher-label{display:none}@keyframes feeLabelPulse{0%,to{transform:translateX(0)}50%{transform:translateX(4px)}}.fee-chat-launcher{position:relative;width:60px;height:60px;border-radius:50%;background:linear-gradient(145deg,var(--color-secondary) 0,var(--color-secondary-light) 55%,#0066b8 100%);color:var(--color-white);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(0,55,113,.4);transition:transform var(--transition-medium),box-shadow var(--transition-medium);z-index:1}.fee-chat-launcher:hover{transform:scale(1.08) rotate(-3deg);box-shadow:0 10px 28px rgba(0,55,113,.45)}.fee-chat-launcher:active{transform:scale(.96)}.fee-chat-launcher-ring{position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--color-secondary);opacity:0;animation:feeRingPulse 2.2s ease-out infinite;pointer-events:none}.fee-chat-root.is-open .fee-chat-launcher-ring{animation:none;opacity:0}@keyframes feeRingPulse{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.35);opacity:0}}.fee-chat-launcher-icon{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.fee-chat-root.is-open .fee-chat-launcher-icon{transform:rotate(90deg) scale(.9)}@media (max-width:768px){.fee-chat-root{bottom:80px;left:16px}.fee-chat-launcher-label{display:none}.fee-chat-panel{width:min(94vw,400px);height:min(68vh,500px)}}@media (max-width:480px){.fee-chat-root{bottom:72px;left:12px;right:12px;align-items:stretch}.fee-chat-panel{width:100%;max-width:none;height:min(72vh,520px);transform-origin:bottom center}}.fee-chat-bubble.has-details{max-width:100%;width:100%;padding:0;overflow:hidden;background:transparent;border:none;box-shadow:none}.fee-details{width:100%;background:var(--color-white);border:1px solid rgba(0,55,113,.12);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card)}.fee-details-header{padding:14px 14px 10px;background:linear-gradient(135deg,#f0f6fc,#e8f1fa);border-bottom:1px solid rgba(0,55,113,.08)}.fee-details-name{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--color-secondary)}.fee-details-meta{font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.fee-details-type{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-secondary);color:var(--color-white);font-size:.72rem;font-family:var(--font-heading);font-weight:600}.fee-details-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px;border-bottom:1px solid rgba(0,55,113,.08)}.fee-summary-card{background:var(--color-bg-muted);border-radius:10px;padding:8px 10px;text-align:center}.fee-summary-card span{display:block;font-size:.68rem;color:var(--color-text-secondary);margin-bottom:2px}.fee-summary-card strong{font-family:var(--font-heading);font-size:.85rem;color:var(--color-secondary)}.fee-summary-card.paid strong{color:#0d7a3e}.fee-summary-card.due strong{color:#c0392b}.fee-details-table-title{padding:10px 14px 6px;font-family:var(--font-heading);font-size:.82rem;font-weight:600;color:var(--color-secondary)}.fee-details-table-wrap{max-height:220px;overflow:auto;padding:0 10px 10px}.fee-details-table{width:100%;border-collapse:collapse;font-size:.72rem}.fee-details-table th{position:sticky;top:0;background:var(--color-white);text-align:left;padding:8px 6px;font-family:var(--font-heading);font-weight:600;color:var(--color-secondary);border-bottom:2px solid rgba(0,55,113,.12);white-space:nowrap}.fee-details-table td{padding:8px 6px;border-bottom:1px solid rgba(0,55,113,.06);vertical-align:middle}.fee-details-table tbody tr:hover{background:rgba(0,55,113,.03)}.fee-purpose{font-weight:600;color:var(--color-text);min-width:90px}.fee-bill{font-family:ui-monospace,monospace;font-size:.68rem;color:var(--color-text-secondary)}.fee-status{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:.65rem;font-weight:600;white-space:nowrap}.fee-status-paid{background:#d4edda;color:#155724}.fee-status-partial{background:#fff3cd;color:#856404}.fee-status-unpaid{background:#f8d7da;color:#721c24}.fee-status-free{background:#e2e8f0;color:#475569}.fee-details-empty{text-align:center;color:var(--color-text-secondary);padding:16px!important}.fee-details-footnote{padding:8px 14px 12px;font-size:.68rem;color:var(--color-text-secondary);border-top:1px solid rgba(0,55,113,.06)}.fee-chat-panel:has(.fee-details){width:min(96vw,460px)}@media (max-width:768px){.fee-details-summary{grid-template-columns:1fr}.fee-details-table-wrap{max-height:200px}}@media (prefers-reduced-motion:reduce){.fee-chat-avatar,.fee-chat-dots i,.fee-chat-launcher-label,.fee-chat-launcher-ring,.fee-chat-options,.fee-chat-panel,.fee-chat-row{animation:none!important}.fee-chat-launcher:hover,.fee-chat-option:hover,.fee-chat-send:hover:not(:disabled){transform:none}}.otd-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,55,113,.5);backdrop-filter:blur(3px)}.otd-modal{flex-direction:column;width:100%;max-width:440px;overflow:hidden;border-radius:30px;background:#fff;box-shadow:0 8px 30px 0 rgba(0,55,113,.15),0 0 20px 0 rgba(0,0,0,.2)}.otd-header,.otd-modal{position:relative;display:flex}.otd-header{align-items:center;gap:12px;padding:16px 48px 16px 16px;background:linear-gradient(135deg,#003771,#00529e);color:#fff;flex-shrink:0}.otd-header-logo{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:2px solid #fff200;background:#fff;padding:3px;object-fit:contain}.otd-header-text{flex:1;min-width:0}.otd-date{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85)!important;margin:0}.otd-title{margin-top:2px;font-family:var(--font-heading,"Fredoka",sans-serif);font-size:1.25rem;font-weight:700;line-height:1.2;color:#ffffff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.otd-subtitle{margin-top:2px;font-size:.75rem;color:rgba(255,255,255,.9)!important;line-height:1.3}.otd-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:2}.otd-close:hover{background:rgba(255,255,255,.28)}.otd-body{padding:16px;flex-shrink:0}.otd-carousel{display:flex;align-items:stretch;gap:6px}.otd-nav{flex-shrink:0;align-self:center;width:36px;height:36px;border-radius:50%;background:#003771;color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px 0 rgba(0,55,113,.15);transition:background .2s ease}.otd-nav:hover{background:#00529e}.otd-slide{flex:1;min-width:0}.otd-image-wrap{width:min(100%,220px);aspect-ratio:1/1;margin:0 auto 12px;border-radius:20px;overflow:hidden;background:#e8f1fa;border:3px solid #003771;box-shadow:0 6px 20px 0 rgba(0,55,113,.12)}.otd-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.otd-image-placeholder{width:100%;height:100%;align-items:center;background:linear-gradient(160deg,#003771,#00529e 70%,#e8f1fa);font-size:3rem}.otd-badges,.otd-image-placeholder{display:flex;justify-content:center}.otd-badges{flex-wrap:wrap;gap:6px;margin-bottom:8px}.otd-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:50rem;font-family:var(--font-heading,"Fredoka",sans-serif);font-size:.7rem;font-weight:600}.otd-badge-category{background:#e8f1fa;color:#003771}.otd-badge-holiday{background:#fff200;color:#003771}.otd-event-name{font-family:var(--font-heading,"Fredoka",sans-serif);font-size:1.05rem;font-weight:700;color:#003771!important;text-align:center;line-height:1.35;margin:0}.otd-event-year{font-size:.85rem;font-weight:500;color:#666}.otd-event-desc{margin-top:8px;font-size:.88rem;line-height:1.55;color:#555;text-align:center;max-height:4.65em;overflow:hidden}.otd-controls{align-items:center;gap:12px;margin-top:12px}.otd-controls,.otd-dots{display:flex;justify-content:center}.otd-dots{gap:6px;flex-wrap:wrap;max-width:200px}.otd-dot{width:8px;height:8px;border-radius:50%;padding:0;background:rgba(0,55,113,.25);transition:transform .2s ease,background .2s ease}.otd-dot.active{background:#003771;transform:scale(1.3)}.otd-counter{font-size:.75rem;color:#888;white-space:nowrap}.otd-footer{display:flex;flex-direction:column;gap:10px;padding:12px 16px 16px;border-top:1px solid #e8f1fa;background:#fafcff;flex-shrink:0}.otd-footer-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.otd-btn{flex:1;min-width:140px;border-radius:50rem;padding:10px 18px;font-family:var(--font-heading,"Fredoka",sans-serif);font-size:.88rem;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease}.otd-btn-close{background:#003771;color:#fff}.otd-btn-close:hover{background:#002655}.otd-btn-dismiss{background:#fff;color:#003771;border:2px solid #003771}.otd-btn-dismiss:hover{background:#e8f1fa}@media (max-width:419px){.otd-nav{display:none}}