/* SchoolOS AI — calm, action-first copilot UI for desktop and PWA. */
.ai-modal{height:min(820px,calc(100dvh - 40px));background:#f3f5f7;overflow:hidden}
.ai-header{display:flex;align-items:center;gap:12px;padding:15px 18px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);flex-shrink:0}
.ai-brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(145deg,var(--navy),#123f68);color:#8ae8c4;font-size:20px;box-shadow:0 8px 18px -10px rgba(11,45,79,.8)}
.ai-brand-copy{min-width:0;flex:1}.ai-brand-copy h3{font-size:17px;line-height:1.2;letter-spacing:-.25px}
.ai-access{display:flex;align-items:center;gap:6px;min-width:0;margin-top:4px;color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden}.ai-access span:last-child{overflow:hidden;text-overflow:ellipsis}
#aiState{display:inline-flex;align-items:center;gap:6px;color:#087a54;font-weight:650;flex-shrink:0}#aiState::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
#aiState.offline{color:var(--amber)}#aiState.offline::before{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}
.ai-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ai-new-chat{height:34px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted2);display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:650;cursor:pointer;transition:.15s}
.ai-new-chat:hover{border-color:var(--line2);background:var(--bg2);color:var(--txt)}.ai-new-chat>span:first-child{font-size:17px;line-height:1}
.ai-shortcuts{display:flex;gap:7px;padding:10px 18px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;flex-shrink:0}.ai-shortcuts::-webkit-scrollbar{display:none}
.ai-shortcut{height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);white-space:nowrap;cursor:pointer;color:var(--muted2);font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:7px;transition:.15s}.ai-shortcut:hover{border-color:rgba(14,159,110,.28);background:var(--accent-soft);color:#087a54}.ai-shortcut>span:first-child{font-size:13px;color:var(--accent)}
.ai-messages{display:flex;flex-direction:column;gap:17px;min-height:0;padding:22px 24px;background:linear-gradient(180deg,#f4f6f8,#f7f8fa);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ai-welcome{position:relative;overflow:hidden;padding:25px;border-radius:18px;background:linear-gradient(145deg,#0b2d4f,#123f68);box-shadow:0 15px 35px -22px rgba(11,45,79,.75);color:rgba(255,255,255,.78)}.ai-welcome::after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-90px;top:-115px;background:rgba(84,222,171,.12);pointer-events:none}
.ai-welcome-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;margin-bottom:18px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);color:#8ae8c4;font-size:18px}.ai-welcome h4{position:relative;color:#fff;font-size:23px;letter-spacing:-.5px}.ai-welcome>p{position:relative;max-width:560px;margin:7px 0 20px;font-size:13px;line-height:1.55}
.ai-welcome-actions{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-welcome-action{min-width:0;padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.09);color:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;cursor:pointer;transition:.15s}.ai-welcome-action:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.23)}
.ai-welcome-action-icon{width:27px;height:27px;border-radius:8px;background:rgba(138,232,196,.13);display:grid;place-items:center;color:#8ae8c4;font-size:13px}.ai-welcome-action strong,.ai-welcome-action small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-welcome-action strong{font-size:11.5px}.ai-welcome-action small{margin-top:1px;color:rgba(255,255,255,.58);font-size:9.5px}.ai-welcome-action .ai-source-arrow{color:rgba(255,255,255,.45)}
.ai-turn{display:flex;align-items:flex-start;gap:9px;width:100%}.ai-turn.user{justify-content:flex-end}.ai-turn-avatar{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;flex:0 0 29px;margin-top:2px;background:var(--navy);color:#79dfb8;font-size:12px;box-shadow:var(--sh-1)}
.ai-turn-body{width:min(100%,600px);min-width:0}.ai-turn.user .ai-turn-body{width:auto;max-width:82%}.ai-bubble{background:var(--card);border:1px solid var(--line);border-radius:5px 16px 16px 16px;padding:13px 15px;box-shadow:var(--sh-1);font-size:13.5px;line-height:1.58;overflow-wrap:anywhere}.ai-bubble p{margin:0}.ai-bubble p+p{margin-top:8px}.ai-turn.user .ai-bubble{border:0;border-radius:16px 16px 5px 16px;background:var(--navy);color:#fff;box-shadow:0 8px 20px -14px rgba(11,45,79,.9);white-space:pre-wrap}.ai-turn.error .ai-bubble{background:var(--red-soft);border-color:rgba(220,38,38,.18);color:#a51d1d}
.ai-answer-list{margin:7px 0 0;padding-left:18px;display:grid;gap:5px}.ai-thinking{display:inline-flex;align-items:center;gap:3px;margin-right:9px}.ai-thinking i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:aiPulse 1.15s infinite ease-in-out}.ai-thinking i:nth-child(2){animation-delay:.14s}.ai-thinking i:nth-child(3){animation-delay:.28s}.ai-thinking-label{color:var(--muted);font-size:12px}@keyframes aiPulse{0%,70%,100%{opacity:.28;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.ai-results{margin-top:8px;border:1px solid var(--line);border-radius:15px;background:var(--card);overflow:hidden;box-shadow:var(--sh-1)}.ai-results-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--card-2);border-bottom:1px solid var(--line)}.ai-results-heading strong{font-size:11px;color:var(--muted2);letter-spacing:.02em}.ai-results-heading>span{min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--bg2);display:grid;place-items:center;color:var(--muted);font-size:10px;font-weight:700}
.ai-source-card{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:11px;align-items:start;padding:12px;border:0;border-bottom:1px solid var(--line);background:var(--card);color:var(--txt);font:inherit;text-align:left;cursor:pointer;transition:.14s}.ai-source-card:last-child{border-bottom:0}.ai-source-card:hover{background:#f9fbfa}.ai-source-card:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.ai-source-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:#087a54;display:grid;place-items:center;font-size:15px;font-weight:700}.ai-source-content{min-width:0;display:block}.ai-source-top{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}.ai-source-eyebrow{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9.5px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}
.ai-source-status{flex-shrink:0;padding:2px 7px;border-radius:999px;background:var(--bg2);color:var(--muted2);font-size:9px;font-weight:700}.ai-source-status.status-published,.ai-source-status.status-approved,.ai-source-status.status-completed{background:var(--accent-soft);color:#087a54}.ai-source-status.status-pending,.ai-source-status.status-review,.ai-source-status.status-in_progress{background:var(--amber-soft);color:var(--amber)}.ai-source-status.status-rejected,.ai-source-status.status-cancelled{background:var(--red-soft);color:var(--red)}
.ai-source-title{display:block;color:var(--txt-hi);font-size:12.5px;line-height:1.35}.ai-source-meta,.ai-source-summary{display:block;margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.35}.ai-source-summary{color:var(--muted2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-source-arrow{align-self:center;color:#a1a8b2;font-size:20px;font-weight:400}
.ai-results-more>summary{list-style:none;padding:10px 12px;color:var(--accent);font-size:11px;font-weight:650;cursor:pointer;text-align:center}.ai-results-more>summary::-webkit-details-marker{display:none}.ai-results-more[open]>summary{border-bottom:1px solid var(--line)}
.ai-followups{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}.ai-followups>span{width:100%;color:var(--muted);font-size:10.5px}.ai-followup{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.78);color:var(--muted2);font:inherit;font-size:10.5px;font-weight:600;cursor:pointer;text-align:left}.ai-followup:hover{border-color:rgba(14,159,110,.25);color:#087a54;background:var(--accent-soft)}
.ai-proposal{margin-top:9px;padding:14px;border:1px solid rgba(14,159,110,.24);background:#f3fbf8;border-radius:15px}.ai-proposal-head{display:flex;align-items:center;gap:9px;margin-bottom:12px}.ai-proposal-head h4{font-size:13px}.ai-proposal-icon{width:30px;height:30px;border-radius:9px;background:var(--accent);color:#fff;display:grid;place-items:center}.ai-proposal>.btn{margin:9px 8px 0 0}
.ai-fields{display:grid;grid-template-columns:125px minmax(0,1fr);gap:7px 11px;font-size:11.5px}.ai-fields dt{font-weight:650;color:var(--muted)}.ai-fields dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--txt)}
.ai-compose{display:flex;align-items:flex-end;gap:9px;padding:11px 18px 7px;border-top:1px solid var(--line);background:var(--card);flex-shrink:0}.ai-compose textarea{flex:1;min-width:0;min-height:44px;max-height:120px;resize:none;overflow-y:auto;border:1px solid var(--line2);border-radius:13px;background:#fafbfc;color:var(--txt);padding:11px 13px;font:inherit;font-size:16px;line-height:1.35;transition:.14s}.ai-compose textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}.ai-compose textarea::placeholder{color:#a0a6af}
.ai-send{height:44px;padding:0 15px;border:0;border-radius:13px;background:var(--accent);color:#fff;display:flex;align-items:center;gap:8px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px -11px rgba(14,159,110,.9)}.ai-send>span:last-child{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:14px}.ai-send:hover{background:var(--accent-hi)}.ai-send:disabled{opacity:.55;cursor:not-allowed}
.ai-footnote{display:flex;align-items:center;gap:6px;margin:0;padding:1px 18px 10px;background:var(--card);color:var(--muted);font-size:9.5px;flex-shrink:0}.ai-footnote>span{color:var(--accent)}
.push-settings{border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px;background:var(--bg2)}.push-settings p{color:var(--muted2);font-size:13px}.push-actions{display:flex;gap:8px;flex-wrap:wrap}.notification-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:14px;border:0;border-bottom:1px solid var(--line);background:#fff;cursor:pointer;gap:4px;font:inherit}.notification-item:hover{background:var(--accent-soft)}.notification-item span{font-size:13px;color:var(--muted2)}.notification-item small{font-size:11px;color:var(--muted)}
.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:560px){
  .ai-modal{height:94dvh;max-height:94dvh!important;border-radius:22px 22px 0 0!important}.ai-header{padding:13px 14px;gap:10px}.ai-brand-mark{width:39px;height:39px;border-radius:12px}.ai-brand-copy h3{font-size:16px}.ai-access{font-size:10.5px;gap:5px}.ai-new-chat{width:34px;padding:0;justify-content:center}.ai-new-chat>span:last-child{display:none}.ai-header-actions{gap:6px}
  .ai-shortcuts{padding:9px 12px}.ai-shortcut{height:32px;padding:0 11px;font-size:10.5px}.ai-messages{padding:15px 12px;gap:15px}.ai-welcome{padding:20px 17px;border-radius:17px}.ai-welcome-mark{margin-bottom:14px}.ai-welcome h4{font-size:21px}.ai-welcome>p{margin:6px 0 17px;font-size:12px}.ai-welcome-actions{grid-template-columns:1fr;gap:7px}.ai-welcome-action{padding:9px 10px}.ai-welcome-action strong{font-size:11.5px}.ai-welcome-action small{font-size:9.5px}
  .ai-turn{gap:7px}.ai-turn-avatar{width:27px;height:27px;flex-basis:27px;border-radius:8px}.ai-turn-body{width:calc(100% - 34px)}.ai-turn.user .ai-turn-body{width:auto;max-width:88%}.ai-bubble{padding:12px 13px;font-size:13px;line-height:1.55}.ai-results{border-radius:14px}.ai-source-card{grid-template-columns:33px minmax(0,1fr) auto;padding:11px 10px;gap:9px}.ai-source-icon{width:33px;height:33px}.ai-source-summary{-webkit-line-clamp:1}.ai-source-title{font-size:12px}.ai-source-meta,.ai-source-summary{font-size:10px}.ai-fields{grid-template-columns:1fr;gap:2px}.ai-fields dd{margin-bottom:7px}
  .ai-compose{padding:9px 11px 5px;gap:7px}.ai-compose textarea{min-height:43px;padding:10px 12px}.ai-send{width:43px;height:43px;padding:0;justify-content:center}.ai-send>span:first-child{display:none}.ai-send>span:last-child{background:transparent;font-size:18px}.ai-footnote{padding:2px 12px max(8px,env(safe-area-inset-bottom));font-size:9px}
}
