/* Resource library */
.resource-toolbar{display:grid;gap:14px;margin-bottom:15px}
.resource-search{height:46px;display:flex;align-items:center;gap:10px;padding:0 14px;background:#fff;border:1px solid #e5eae3;border-radius:13px;box-shadow:0 4px 16px rgba(39,66,54,.025)}
.resource-search>span{font-size:22px;color:#819287;transform:rotate(-20deg)}
.resource-search input{flex:1;min-width:0;border:0;outline:0!important;background:transparent;color:var(--ink);font-size:12px}
.resource-search input::placeholder{color:#a1aaa3}
.resource-search:focus-within{outline:3px solid #6cae8d;outline-offset:2px}
.resource-search kbd{font-size:10px;color:#9ba49d;border:1px solid #e8ece7;border-radius:5px;padding:2px 6px}
.resource-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.resource-filters select{height:34px;max-width:210px;padding:0 27px 0 10px;border:1px solid #e4e9e2;border-radius:9px;background:#fff;color:#607067;font-size:10px}
.saved-filter{height:34px;padding:0 12px;border:1px solid #e4e9e2;border-radius:9px;background:#fff;color:#78867d;font-size:10px;font-weight:700}
.saved-filter.active{background:#f8edeb;border-color:#f0ddd8;color:#a76762}
.saved-filter span{margin-left:4px;color:#9aa49c}
.resource-summary{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9ede7;padding:0 1px 11px;color:#89948d;font-size:10px}
.resource-summary span:last-child{font-size:9px}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:16px 0}
.resource-card{min-width:0;min-height:235px;background:#fff;border:1px solid #e8ece6;border-radius:16px;padding:16px 16px 12px;display:flex;flex-direction:column;box-shadow:0 6px 20px rgba(39,66,54,.025);transition:transform .16s,border-color .16s}
.resource-card:hover{transform:translateY(-2px);border-color:#d4e3d5}
.resource-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.resource-kind{display:inline-flex;align-items:center;min-height:21px;padding:4px 8px;border-radius:7px;background:#f1f4ee;color:#758477;font-size:8px;font-weight:700;letter-spacing:.25px}
.save-resource{width:30px;height:30px;border:1px solid #edf0ec;border-radius:9px;background:white;color:#97a198;font-size:17px;line-height:1}
.save-resource:hover,.save-resource.saved{background:#fbefec;border-color:#f2e3de;color:#b16e69}
.resource-category{font-size:9px;color:#688a70;font-weight:700;margin-top:12px}
.resource-card h2{font:700 15px/1.28 Manrope,sans-serif;letter-spacing:-.25px;margin:6px 0 7px}
.resource-description{font-size:10px;line-height:1.55;color:#7d8981;margin:0 0 12px}
.resource-meta{margin-top:auto;display:flex;flex-direction:column;gap:5px;border-top:1px solid #f0f2ee;padding-top:10px;color:#969f98;font-size:8px;line-height:1.35}
.resource-open{margin-top:10px;padding:8px 0 2px;border:0;background:transparent;text-align:left;color:#4f7e62;font-size:10px;font-weight:700}
.resource-open span{margin-left:3px;font-size:14px}
.resource-dialog{max-width:540px}
.resource-dialog form{position:relative;padding-top:3px}
.resource-dialog>.resource-kind,.resource-dialog .resource-kind{margin:0 0 11px}
.resource-detail-category{margin:14px 0 7px;color:#688a70;font-size:9px}
.resource-dialog h2{font:700 24px/1.25 Manrope,sans-serif;letter-spacing:-.65px;margin:0 30px 9px 0}
.resource-detail-description{font-size:12px;line-height:1.55;color:#758178;margin:0 0 20px}
.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:15px 0;border-top:1px solid #edf0eb;border-bottom:1px solid #edf0eb}
.detail-meta>div{display:flex;flex-direction:column;gap:5px}
.detail-meta small{font-size:8px;letter-spacing:.9px;color:#9aa49c;font-weight:700}
.detail-meta b{font-size:10px;color:#58685e;line-height:1.4}
.resource-purpose{padding:16px 0 5px}
.resource-purpose b{font:700 12px Manrope,sans-serif}
.resource-purpose p,.resource-disclaimer{font-size:10px;line-height:1.6;color:#7f8a82;margin:6px 0}
.resource-disclaimer{border-left:2px solid #e8d9b7;padding:2px 0 2px 10px;color:#8e8878}
.resource-detail-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.resource-detail-actions .button-primary{height:40px;text-decoration:none;font-size:10px}

/* Study coach preview */
.coach-heading{align-items:center}
.clear-chat{border:1px solid #e6ebe5;padding:9px 12px;background:#fff;height:auto}
.coach-disclosure{max-width:790px;margin:-8px 0 15px;padding:11px 14px;border:1px solid #e9ede7;border-radius:12px;background:#f2f5ef;display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;color:#78867d}
.coach-disclosure-icon{font-size:15px;color:#7d9b7e;line-height:1.3}
.coach-disclosure p{font-size:9px;line-height:1.5;margin:0}
.coach-disclosure b{color:#5f7164}
.coach-disclosure p{flex:1}
.coach-disclosure .small-action{flex:0 0 auto}
.coach-panel{max-width:790px;min-height:530px;background:#fff;border:1px solid #e8ece6;border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.coach-intro{padding:28px 27px 20px;display:grid;grid-template-columns:37px minmax(0,1fr);gap:10px 12px}
.coach-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#eaf3e8;color:#67926f;font-size:21px;flex:0 0 36px}
.coach-label{font-size:8px;letter-spacing:1px;font-weight:700;color:#829484}
.coach-intro p{font:600 15px/1.5 Manrope,sans-serif;color:#39473d;margin:7px 0 0;max-width:480px}
.quick-prompts{grid-column:2;display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.quick-prompts button,.coach-choices button{min-height:34px;padding:7px 11px;border:1px solid #e5ebe3;border-radius:10px;background:#fff;color:#69786f;font-size:9px;font-weight:600;text-align:left}
.quick-prompts button:hover,.coach-choices button:hover{background:#eff5ed;border-color:#dbe8d9;color:#467255}
.coach-messages{flex:1;max-height:470px;min-height:310px;overflow:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}
.chat-row{display:flex;gap:9px;align-items:flex-start}
.user-row{justify-content:flex-end}
.chat-bubble{max-width:min(85%,560px);padding:11px 13px;border-radius:13px;font-size:11px;line-height:1.55;white-space:pre-wrap}
.assistant-bubble{background:#f2f5ef;color:#516157;border-top-left-radius:5px}
.user-bubble{background:#e7f1e7;color:#41614a;border-top-right-radius:5px}
.small-avatar{width:27px;height:27px;flex-basis:27px;border-radius:9px;font-size:16px}
.assistant-stack{max-width:calc(100% - 38px);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.assistant-stack .chat-bubble{max-width:100%}
.coach-choices{display:flex;gap:7px;flex-wrap:wrap;margin-top:1px}
.coach-choices button{min-height:30px;font-size:9px}
.coach-proposal{width:min(100%,520px);padding:13px 14px;background:#fff;border:1px solid #e3eadf;border-radius:13px}
.coach-proposal .tiny-label{font-size:8px;color:#8b9c8e}
.coach-proposal>p{font:700 12px/1.45 Manrope,sans-serif;color:#3f5646;margin:6px 0 11px}
.proposal-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.proposal-actions .button-primary{height:33px;padding:0 10px;font-size:9px;box-shadow:none}
.proposal-actions .small-action{min-height:32px;padding:0 9px;background:#f5f7f3;font-size:8px}
.coach-resource-link{margin-top:10px;border:0;background:transparent;padding:3px 0;color:#68846e;font-size:9px;text-align:left}
.coach-more{margin:0 0 0 1px;color:#718078;font-size:9px}
.coach-more summary{cursor:pointer;color:#819085;font-weight:600}
.coach-more p{max-width:480px;margin:6px 0;color:#89948d;line-height:1.55}
.typing{color:#89968c;font-style:italic}
.coach-error{margin:0 24px 12px;padding:10px 12px;border-radius:10px;background:#fff1ed;color:#985d56;font-size:10px;display:flex;align-items:center;justify-content:space-between}
.coach-composer{display:flex;align-items:flex-end;gap:9px;padding:13px 16px;border-top:1px solid #edf0eb;background:#fff}
.coach-composer textarea{flex:1;min-height:42px;max-height:110px;resize:vertical;border:1px solid #e3e9e1;border-radius:11px;padding:12px;color:#39473e;font:11px/1.4 "DM Sans",sans-serif;outline:0}
.coach-composer textarea:focus{border-color:#9dbda0}
.coach-composer textarea::placeholder{color:#a5aea7}
.coach-composer .button-primary{height:40px;min-width:78px;font-size:10px}
.coach-composer .button-primary:disabled{opacity:.55;cursor:wait}
.coach-footnote{display:flex;justify-content:space-between;align-items:center;padding:0 18px 12px;color:#a0a9a2;font-size:8px}
.coach-footnote .text-button{font-size:9px}
@media(max-width:1000px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr));padding-left:5px;padding-right:5px}.mobile-nav-item{font-size:8px;white-space:nowrap}.mobile-nav-item span{font-size:18px}.resource-grid{gap:10px}.coach-panel{min-height:calc(100dvh - 300px)}}
@media(max-width:520px){.resource-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.resource-filters label,.resource-filters select{width:100%;max-width:none}.resource-summary{align-items:flex-start;gap:12px}.resource-summary span:last-child{text-align:right;max-width:55%}.resource-grid{grid-template-columns:1fr;gap:9px}.resource-card{min-height:210px;padding:14px}.resource-meta{gap:4px}.coach-heading{align-items:flex-start}.coach-heading .subhead{max-width:260px}.clear-chat{font-size:9px;padding:8px 9px;white-space:nowrap}.coach-disclosure{margin-top:-5px;padding:10px}.coach-panel{min-height:calc(100dvh - 260px);border-radius:15px}.coach-intro{padding:20px 15px 15px;grid-template-columns:31px minmax(0,1fr);gap:9px}.coach-avatar{width:31px;height:31px;flex-basis:31px;border-radius:10px;font-size:18px}.coach-intro p{font-size:13px}.quick-prompts{gap:6px}.quick-prompts button{font-size:8px;padding:7px 8px}.coach-messages{padding:15px 12px;min-height:270px;gap:13px}.chat-bubble{font-size:10px;padding:10px 11px}.assistant-stack{max-width:calc(100% - 34px)}.coach-proposal{padding:11px}.proposal-actions{gap:5px}.proposal-actions .button-primary{height:32px}.coach-composer{padding:10px;gap:6px}.coach-composer textarea{padding:10px;font-size:10px}.coach-composer .button-primary{min-width:63px;padding:0 9px}.coach-footnote{padding:0 11px 10px;font-size:7px}.coach-footnote .text-button{font-size:8px}.resource-dialog h2{font-size:21px}.resource-detail-actions .button-primary{padding:0 11px}}
