/**
 * Developed by: George Rexy Vincent Z. Bacani
 * College: College of Information Technology
 * Role: System Developer / Front-End Developer
 * Development Year: 2026–2027
 * Institution: Don Mariano Marcos Memorial State University
 * Version: v1.0
 * Email: rexygeorge11@gmail.com
 * Copyright: © 2026–2027. All rights reserved.
 */
.handbook-ai{--hai-green:#0c6b48;--hai-green-dark:#064832;--hai-green-soft:#edf7f2;--hai-border:#d7e6de;--hai-text:#16382b;--hai-muted:#6d7e75;position:fixed;right:22px;bottom:22px;z-index:1200;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--hai-text)}
.handbook-ai *{box-sizing:border-box}
.handbook-ai__launcher{display:flex;align-items:center;gap:10px;min-height:58px;padding:7px 14px 7px 8px;border:1px solid rgba(255,255,255,.32);border-radius:18px;background:linear-gradient(135deg,#08704b,#0d5d42);color:#fff;box-shadow:0 16px 34px rgba(5,56,38,.24);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.handbook-ai__launcher:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(5,56,38,.3)}
.handbook-ai__launcher-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#fff;color:var(--hai-green);font-size:22px;box-shadow:inset 0 0 0 1px rgba(8,112,75,.12)}
.handbook-ai__launcher-copy{display:grid;text-align:left;line-height:1.08}.handbook-ai__launcher-copy strong{font-size:12px;font-weight:800}.handbook-ai__launcher-copy small{margin-top:4px;color:rgba(255,255,255,.76);font-size:9px;font-weight:600}
.handbook-ai__panel{position:absolute;right:0;bottom:72px;width:min(405px,calc(100vw - 30px));height:min(640px,calc(100vh - 112px));display:grid;grid-template-rows:auto 1fr auto;border:1px solid var(--hai-border);border-radius:22px;background:#fff;box-shadow:0 28px 70px rgba(8,49,35,.24);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(12px) scale(.985);transform-origin:bottom right;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.handbook-ai.is-open .handbook-ai__panel{opacity:1;visibility:visible;transform:none}
.handbook-ai.is-open .handbook-ai__launcher{box-shadow:0 10px 25px rgba(5,56,38,.2)}
.handbook-ai__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #e5eee9;background:linear-gradient(180deg,#fff,#fbfdfc)}
.handbook-ai__identity{display:flex;align-items:center;gap:11px;min-width:0}.handbook-ai__avatar{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:13px;background:var(--hai-green-soft);color:var(--hai-green);font-size:20px}.handbook-ai__identity-copy{display:grid;min-width:0}.handbook-ai__identity-copy strong{font-size:12.5px;font-weight:800;letter-spacing:-.01em}.handbook-ai__identity-copy small{margin-top:3px;color:var(--hai-muted);font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.handbook-ai__close{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dce8e1;border-radius:10px;background:#fff;color:#53685d;font-size:19px;cursor:pointer}.handbook-ai__close:hover{background:#f2f7f4}
.handbook-ai__body{min-height:0;overflow:auto;padding:16px;background:#f8fbf9;scroll-behavior:smooth}.handbook-ai__body::-webkit-scrollbar{width:7px}.handbook-ai__body::-webkit-scrollbar-thumb{border-radius:99px;background:#d5e3db}
.handbook-ai__welcome{padding:13px;border:1px solid #dce9e2;border-radius:15px;background:#fff}.handbook-ai__welcome-label{display:inline-flex;align-items:center;gap:5px;margin-bottom:7px;color:var(--hai-green);font-size:7.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.handbook-ai__welcome h3{margin:0;color:#123b2b;font-size:14px;line-height:1.25}.handbook-ai__welcome p{margin:7px 0 0;color:#62766b;font-size:9.5px;line-height:1.5}
.handbook-ai__suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.handbook-ai__suggestion{padding:7px 9px;border:1px solid #d6e5dd;border-radius:999px;background:#fff;color:#315749;font-size:8.5px;font-weight:700;cursor:pointer;text-align:left}.handbook-ai__suggestion:hover{border-color:#a9cdbb;background:#f0f8f4;color:#155c3e}
.handbook-ai__messages{display:grid;gap:12px;margin-top:12px}.handbook-ai__message{display:grid;gap:5px;max-width:92%}.handbook-ai__message--user{justify-self:end}.handbook-ai__message--assistant{justify-self:start;width:100%;max-width:100%}.handbook-ai__bubble{padding:10px 12px;border-radius:14px;font-size:10px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.handbook-ai__message--user .handbook-ai__bubble{border-bottom-right-radius:5px;background:var(--hai-green);color:#fff}.handbook-ai__message--assistant .handbook-ai__bubble{border:1px solid #dce8e2;border-bottom-left-radius:5px;background:#fff;color:#24483a}
.handbook-ai__source{display:grid;gap:5px;margin-top:2px;padding:9px 10px;border:1px solid #dbe7e1;border-radius:11px;background:#fff}.handbook-ai__source-label{color:#6f8177;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.handbook-ai__source-links{display:flex;flex-wrap:wrap;gap:5px}.handbook-ai__source-link{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:7px;background:#edf7f2;color:#176342;font-size:7.8px;font-weight:800;text-decoration:none}.handbook-ai__source-link:hover{background:#dff0e7}.handbook-ai__source-doc{color:#6c7e74;font-size:7.6px}
.handbook-ai__followup{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px}.handbook-ai__feedback{display:flex;align-items:center;gap:4px;color:#7b8b83;font-size:7.5px}.handbook-ai__feedback button{display:grid;place-items:center;width:25px;height:25px;border:1px solid #dbe6e0;border-radius:7px;background:#fff;color:#4e685b;cursor:pointer}.handbook-ai__esumbong{color:#176342;font-size:7.8px;font-weight:800;text-decoration:none}.handbook-ai__esumbong:hover{text-decoration:underline}
.handbook-ai__typing{display:flex;gap:4px;align-items:center;padding:10px 12px;width:max-content;border:1px solid #dce8e2;border-radius:14px 14px 14px 5px;background:#fff}.handbook-ai__typing i{width:5px;height:5px;border-radius:50%;background:#7c9488;animation:haiPulse 1s infinite ease-in-out}.handbook-ai__typing i:nth-child(2){animation-delay:.12s}.handbook-ai__typing i:nth-child(3){animation-delay:.24s}@keyframes haiPulse{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
.handbook-ai__foot{padding:11px 12px 10px;border-top:1px solid #e3ece7;background:#fff}.handbook-ai__form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.handbook-ai__input{width:100%;min-height:42px;max-height:94px;padding:11px 12px;border:1px solid #cedfd6;border-radius:12px;background:#fbfdfc;color:#173b2d;font:500 10px/1.45 Inter,system-ui,sans-serif;resize:none;outline:none}.handbook-ai__input:focus{border-color:#7eb69b;box-shadow:0 0 0 3px rgba(23,107,72,.08)}.handbook-ai__send{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:12px;background:var(--hai-green);color:#fff;font-size:17px;font-weight:900;cursor:pointer}.handbook-ai__send:disabled{opacity:.45;cursor:not-allowed}.handbook-ai__disclaimer{margin:7px 3px 0;color:#85938c;font-size:6.9px;line-height:1.4;text-align:center}
.handbook-ai__status{margin-top:10px;padding:9px 10px;border-radius:10px;background:#fff5df;color:#7b5814;font-size:8.5px;line-height:1.45}.handbook-ai__error{color:#9b4035}.handbook-ai__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){.handbook-ai{right:12px;bottom:12px}.handbook-ai__launcher{min-height:54px;border-radius:16px}.handbook-ai__launcher-copy{display:none}.handbook-ai__panel{position:fixed;left:10px;right:10px;bottom:78px;width:auto;height:min(670px,calc(100dvh - 96px));border-radius:20px;transform-origin:bottom center}.handbook-ai__body{padding:13px}.handbook-ai__message{max-width:94%}.handbook-ai__message--assistant{max-width:100%}}
@media(prefers-reduced-motion:reduce){.handbook-ai__panel,.handbook-ai__launcher,.handbook-ai__typing i{transition:none;animation:none}}

/* Handbook Assistant custom icon */
.handbook-ai__launcher-icon,.handbook-ai__avatar{overflow:hidden!important;padding:5px!important;background:#fff!important}
.handbook-ai__launcher-icon img,.handbook-ai__avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
.handbook-ai__launcher-icon img{max-width:34px!important;max-height:34px!important}
.handbook-ai__avatar img{max-width:31px!important;max-height:31px!important}
