:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172727;background:#f4f3ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{border:0;border-radius:12px;padding:.9rem 1.2rem;color:#fff;background:#d8754f;font-weight:700;cursor:pointer}button:hover{background:#c96540}button:disabled{opacity:.65;cursor:wait}a{color:#b95636;font-weight:600}h1,h2,.wordmark{font-family:ui-rounded,Inter,ui-sans-serif,system-ui,sans-serif}.center{min-height:100vh;display:grid;place-items:center}.loader{width:34px;height:34px;border:3px solid #d5ddd8;border-top-color:#267064;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.brand-panel{background:radial-gradient(circle at 20% 20%,#24574f,#102d2b 72%);color:#fff;padding:3rem 4rem;display:flex;flex-direction:column;justify-content:space-between}.wordmark{font-weight:700;font-size:1.35rem;letter-spacing:-.04em}.brand-panel blockquote{max-width:520px;margin:0 0 8vh;font:600 2.5rem/1.25 ui-rounded,Inter,sans-serif;letter-spacing:-.04em}.auth-panel{display:grid;place-items:center;padding:2rem}.auth-card{width:min(430px,100%)}.eyebrow{color:#337469;font-size:.72rem;letter-spacing:.16em;font-weight:700}.auth-card h1,.dashboard h1{margin:.6rem 0 .45rem;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.055em}.subtitle{color:#667472;margin:0 0 2.3rem}.auth-form{display:grid;gap:1.1rem}.auth-form label{display:grid;gap:.45rem;font-weight:600;font-size:.9rem}.auth-form input{width:100%;padding:.9rem 1rem;border:1px solid #d6dbd6;border-radius:11px;background:#fff;outline:none}.auth-form input:focus{border-color:#36796d;box-shadow:0 0 0 3px #36796d1c}.auth-form small{color:#7a8482;font-weight:400}.auth-form .consent{grid-template-columns:auto 1fr;align-items:start;font-weight:400;line-height:1.45}.auth-form .consent input{width:18px;height:18px;margin-top:.15rem}.auth-switch{margin-top:1.5rem;color:#667472;text-align:center}.error,.success{border-radius:10px;padding:.8rem 1rem}.error{color:#8b2f25;background:#fae8e3}.success{color:#175f51;background:#e3f2ed;line-height:1.5}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.app-shell aside{background:#102d2b;color:#fff;padding:2rem 1.5rem;display:flex;flex-direction:column}.app-shell nav{display:grid;gap:.55rem;margin-top:3rem}.app-shell nav a,.app-shell nav span{color:#aac1bc;text-decoration:none;padding:.75rem 1rem;border-radius:9px;font-weight:500}.app-shell nav .active{background:#ffffff12;color:#fff}.link-button{margin-top:auto;background:transparent;color:#aac1bc;text-align:left}.credit-balance{margin-top:auto;margin-bottom:.7rem;padding:.9rem 1rem;display:grid;gap:.15rem;color:#d8e8e4;background:#ffffff0d;border:1px solid #ffffff12;border-radius:10px}.credit-balance strong{font-size:1.2rem}.credit-balance span{color:#93ada7;font-size:.72rem}.dashboard{padding:clamp(2rem,5vw,4.5rem);max-width:1280px;width:100%}.dashboard header{display:flex;justify-content:space-between;align-items:center}.avatar{width:46px;height:46px;border-radius:50%;background:#d8754f;color:#fff;display:grid;place-items:center;font-weight:700}.hero-card{margin-top:2.3rem;padding:2.3rem;border-radius:20px;color:#fff;background:linear-gradient(130deg,#245d55,#173b38);box-shadow:0 20px 60px #163d3524}.hero-card h2{font-size:2rem;margin:.7rem 0}.hero-card p{color:#c9dad6;max-width:620px}.light{color:#9fd2c8}.progress-line{height:5px;margin-top:2rem;background:#fff2;border-radius:3px}.progress-line span{display:block;width:22%;height:100%;border-radius:inherit;background:#e58a65}.empty-card{text-align:center;background:#fff;border:1px solid #e4e3db;border-radius:18px;padding:3.5rem 2rem;margin-top:1.5rem}.empty-card p{color:#697573}.empty-icon{margin:auto;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#e6f1ed;color:#276b60;font-size:1.4rem}.state-card{min-height:320px;display:grid;place-items:center;align-content:center;gap:1rem;color:#697573}.error-state{text-align:center}.error-state h2{color:#172727;margin-bottom:0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:2.5rem 0 1rem}.section-heading h2{margin:.35rem 0 0;font-size:1.8rem}.secondary-button{background:#fff;color:#245d55;border:1px solid #d9dfda}.secondary-button:hover{background:#edf3f0}.program-grid,.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.program-card,.catalog-card,.detail-panel{background:#fff;border:1px solid #e4e3db;border-radius:18px;padding:1.5rem}.program-card h3{font:700 1.25rem/1.3 ui-rounded,sans-serif;margin:1rem 0 .4rem}.program-card p,.catalog-card p,.muted{color:#697573}.card-top,.card-footer,.card-actions{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.card-top{font-size:.78rem;color:#84908d}.status{padding:.3rem .6rem;border-radius:99px;background:#edf3f0;color:#286b60;font-weight:700}.status-completed{background:#e8eee9;color:#55705d}.status-blocked{background:#fae8e3;color:#8b2f25}.meter{height:6px;background:#e9ece8;border-radius:4px;margin:1.4rem 0 .65rem;overflow:hidden}.meter span{display:block;height:100%;background:#d8754f;border-radius:inherit}.card-footer{font-size:.8rem;color:#7b8784}.card-footer strong{color:#245d55;font-size:1rem}.card-actions{margin-top:1.25rem}.card-actions button{flex:1;padding:.7rem}.load-more{display:block;margin:2rem auto}.page-intro{max-width:600px;color:#697573;font-size:1.05rem;margin:.8rem 0 2rem}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card{display:flex;flex-direction:column;min-height:340px}.catalog-card h2{font-size:1.65rem;margin:.65rem 0 .2rem}.catalog-card ul{color:#52615e;padding-left:1.2rem;line-height:1.8}.catalog-card button{margin-top:auto;align-self:flex-start}.detail-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin:2rem 0 1.2rem;padding:2rem;border-radius:20px;color:#fff;background:linear-gradient(130deg,#245d55,#173b38)}.detail-hero .eyebrow{color:#9fd2c8}.detail-hero h2{font-size:2rem;margin:.6rem 0 .3rem}.detail-hero p{color:#c9dad6;margin:0}.detail-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:1.2rem}.detail-panel h3{margin-top:0}.detail-panel h3:not(:first-child){margin-top:2rem}.block-list{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}.block-list li{display:flex;gap:1rem;align-items:center;padding:.9rem;border-radius:12px;background:#f5f5f0}.block-list li>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#337469;font-weight:700}.block-list div{display:grid;gap:.15rem}.block-list small{color:#7c8784}.block-completed{opacity:.65}.detail-panel dl>div{padding:.7rem 0;border-bottom:1px solid #ecece7}.detail-panel dt{color:#75817f;font-size:.78rem}.detail-panel dd{margin:.2rem 0 0;font-weight:600;overflow-wrap:anywhere}.conversation-layout{height:calc(100vh - 8rem);min-height:620px;display:grid;grid-template-rows:auto 1fr auto auto;background:#fff;border:1px solid #e4e3db;border-radius:20px;overflow:hidden}.conversation-header{padding:1.2rem 1.5rem;border-bottom:1px solid #e7e8e2;display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center}.conversation-header h2{margin:.2rem 0 0;font-size:1.25rem}.conversation-header button{padding:.65rem .8rem}.message-stream{overflow-y:auto;padding:2rem max(1.2rem,8%);display:flex;flex-direction:column;gap:1.1rem;background:#f8f7f2}.message{width:fit-content;max-width:min(720px,84%);padding:1rem 1.15rem;border-radius:16px;box-shadow:0 5px 18px #193f3710}.message span{display:block;margin-bottom:.35rem;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.68}.message p{margin:0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.message-user{align-self:flex-end;color:#fff;background:#286b60;border-bottom-right-radius:5px}.message-assistant{align-self:flex-start;background:#fff;border:1px solid #e1e5df;border-bottom-left-radius:5px}.thinking{color:#60706d}.conversation-welcome{margin:auto;max-width:560px;text-align:center;padding:3rem 1rem}.conversation-welcome h3{font-size:1.8rem;margin:.7rem 0}.conversation-welcome p{color:#687875;line-height:1.6}.conversation-error{display:flex;gap:.8rem;align-items:center;padding:.7rem 1.4rem 0}.conversation-error .error{flex:1;margin:0}.conversation-composer{padding:1rem 1.4rem 1.2rem;display:grid;grid-template-columns:1fr auto;gap:.7rem;border-top:1px solid #e7e8e2}.conversation-composer textarea{resize:none;padding:.9rem 1rem;border:1px solid #d4dbd6;border-radius:12px;font:inherit;outline:none}.conversation-composer textarea:focus{border-color:#36796d;box-shadow:0 0 0 3px #36796d1c}.conversation-composer button{align-self:stretch}.conversation-composer small{grid-column:1 / -1;color:#7c8784}.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}.review-page{display:grid;gap:1rem;margin-top:2rem}.review-hero{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.7rem;color:#fff;background:linear-gradient(130deg,#245d55,#173b38);border-radius:18px}.review-hero .eyebrow{color:#9fd2c8}.review-hero h2{margin:.45rem 0 .2rem;font-size:1.8rem}.review-hero p{margin:0;color:#c9dad6}.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.review-card,.review-empty{padding:1.4rem;background:#fff;border:1px solid #e1e3dc;border-radius:16px}.review-card{display:flex;flex-direction:column;gap:.8rem}.review-card h3,.review-card p{margin:0}.review-card p{color:#586663;line-height:1.55}.review-type{width:fit-content;padding:.3rem .6rem;border-radius:99px;color:#286b60;background:#e7f1ed;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.review-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:auto;padding-top:.7rem}.review-actions button{padding:.65rem .8rem}.danger-button{color:#8b2f25;background:#fae8e3}.danger-button:hover{background:#f4d8d1}.review-editor{display:grid;gap:.8rem}.review-editor label{display:grid;gap:.35rem;font-size:.8rem;font-weight:700}.review-editor input,.review-editor textarea{width:100%;padding:.8rem;border:1px solid #d4dbd6;border-radius:10px;font:inherit}.review-empty{text-align:center;padding:2.5rem}.review-empty p{color:#687875}.legal-page{width:min(820px,calc(100% - 2rem));margin:2rem auto;padding:clamp(1.5rem,5vw,4rem);background:#fff;border:1px solid #e2e3dc;border-radius:20px}.legal-page>button{margin-bottom:2rem}.legal-page h1{margin:.6rem 0;font-size:clamp(2rem,5vw,3.3rem)}.legal-page h2{margin-top:2rem}.legal-page section{color:#425350;line-height:1.7}.legal-version{color:#9a5b3e;font-size:.85rem}.legal-page footer{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid #e5e6df}.feedback-page{max-width:720px;margin-top:2rem;padding:2rem;background:#fff;border:1px solid #e2e3dc;border-radius:18px}.feedback-page h2{font-size:2rem;margin:.5rem 0}.feedback-page>p{color:#63716f}.feedback-form{display:grid;gap:1rem;margin-top:1.5rem}.feedback-form label{display:grid;gap:.4rem;font-weight:700}.feedback-form select,.feedback-form textarea{width:100%;padding:.8rem;border:1px solid #d4dbd6;border-radius:10px;font:inherit}@media(max-width:1000px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.auth-page{grid-template-columns:1fr}.brand-panel{display:none}.app-shell{grid-template-columns:1fr}.app-shell aside{padding:1rem 1.3rem;flex-direction:row;align-items:center;position:sticky;top:0;z-index:5}.app-shell nav{display:flex;margin:0 0 0 1rem}.app-shell nav span{display:none}.app-shell nav a{padding:.5rem;font-size:.82rem}.credit-balance{display:none}.link-button{margin:0 0 0 auto;padding:.5rem}.dashboard{padding:2rem 1.2rem}.dashboard header h1{font-size:2rem}.program-grid,.catalog-grid,.detail-columns{grid-template-columns:1fr}.section-heading,.detail-hero{align-items:flex-start;flex-direction:column}.detail-hero button{width:100%}.avatar{display:none}}@media(max-width:760px){.conversation-layout{height:calc(100vh - 8.5rem);min-height:520px;border-radius:14px}.conversation-header{grid-template-columns:auto 1fr;padding:.9rem}.conversation-header>.status{display:none}.message-stream{padding:1.2rem .8rem}.message{max-width:92%}.conversation-composer{padding:.8rem;grid-template-columns:1fr}.conversation-composer button{width:100%}.conversation-error{align-items:stretch;flex-direction:column;padding:.6rem .8rem 0}}@media(max-width:760px){.review-hero{align-items:flex-start;flex-direction:column}.review-list{grid-template-columns:1fr}.review-actions button{flex:1}.review-hero button{width:100%}}
