:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1f2933;background:#f5f7fa}*{box-sizing:border-box}body{margin:0}.app-loading,.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-card{display:flex;flex-direction:column;gap:.75rem;width:min(360px,90vw);padding:2rem;background:#fff;border-radius:12px;box-shadow:0 8px 24px #1f293314}.auth-card h1{margin:0;font-size:1.4rem}.auth-subtitle{margin:0 0 .5rem;color:#52606d}.auth-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#52606d}.auth-card input{padding:.5rem .625rem;border:1px solid #cbd2d9;border-radius:6px;font-size:1rem}.auth-card button[type=submit]{margin-top:.5rem;padding:.625rem;border:none;border-radius:6px;background:#3e64ff;color:#fff;font-size:1rem;cursor:pointer}.auth-card button[type=submit]:disabled{opacity:.6;cursor:default}.auth-link{background:none;border:none;color:#3e64ff;cursor:pointer;font-size:.875rem}.auth-error{margin:0;color:#cf1124;font-size:.875rem}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e4e7eb}.app-header h1{font-size:1.2rem;margin:0}.app-header-user{display:flex;align-items:center;gap:.75rem}.app-content{padding:1.5rem}.app-title-link{text-decoration:none;color:inherit}.screen{max-width:960px;margin:0 auto}.screen-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.screen-header h2{margin:0;font-size:1.4rem}.screen-header button,.screen button{padding:.5rem .875rem;border:none;border-radius:6px;background:#3e64ff;color:#fff;font-size:.9375rem;cursor:pointer}.empty-state{padding:2.5rem 1.5rem;text-align:center;color:#52606d;background:#fff;border:1px dashed #cbd2d9;border-radius:12px}.empty-state p{margin:.25rem 0}.project-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.project-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;background:#fff;border:1px solid #e4e7eb;border-radius:10px}.project-card-name{font-size:1.0625rem;font-weight:600;color:#1f2933;text-decoration:none}.project-card-name:hover{color:#3e64ff}.project-card-description{margin:0;color:#52606d;font-size:.9375rem}.project-card-description-empty{font-style:italic;color:#9aa5b1}.project-card-role{align-self:flex-start;padding:.125rem .5rem;border-radius:999px;background:#eef1ff;color:#3e64ff;font-size:.75rem;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a66;padding:1rem}.modal-card{display:flex;flex-direction:column;gap:.625rem;width:min(420px,92vw);padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 12px 32px #1f29332e}.modal-card h3{margin:0 0 .25rem;font-size:1.2rem}.modal-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#52606d}.modal-card input,.modal-card textarea{padding:.5rem .625rem;border:1px solid #cbd2d9;border-radius:6px;font-size:1rem;font-family:inherit}.field-hint{margin:0;font-size:.8125rem;color:#9aa5b1}.form-error{margin:0;color:#cf1124;font-size:.875rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.modal-actions button{padding:.5rem .875rem;border:none;border-radius:6px;background:#3e64ff;color:#fff;font-size:.9375rem;cursor:pointer}.modal-actions .btn-secondary{background:#e4e7eb;color:#1f2933}.modal-actions button:disabled{opacity:.6;cursor:default}.tab-nav{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid #e4e7eb;margin:1rem 0 1.25rem}.tab-link{padding:.5rem .875rem;border:none;border-bottom:2px solid transparent;background:none;color:#616e7c;font-size:.9375rem;text-decoration:none;cursor:pointer}.tab-link:hover{color:#1f2933}.tab-link-active{color:#3e64ff;border-bottom-color:#3e64ff;font-weight:600}.tab-panel{display:flex;flex-direction:column;gap:1rem}.tab-panel-header{display:flex;align-items:center;justify-content:space-between}.tab-panel h3{margin:0}.tab-placeholder{color:#9aa5b1}.invite-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:1rem;background:#fff;border:1px solid #e4e7eb;border-radius:8px}.invite-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.invite-form-email{flex:1 1 16rem}.invite-form input,.invite-form select{padding:.5rem;border:1px solid #cbd2d9;border-radius:6px;font-size:.9375rem}.invite-form button{padding:.5rem .875rem;border:none;border-radius:6px;background:#3e64ff;color:#fff;font-size:.9375rem;cursor:pointer}.invite-form button:disabled{opacity:.6;cursor:default}.invite-form-error{flex-basis:100%}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.member-row{padding:.75rem 1rem;background:#fff;border:1px solid #e4e7eb;border-radius:8px}.member-row-main{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.member-row-email{flex:1 1 12rem;font-weight:500;word-break:break-word}.member-row-role{color:#616e7c;font-size:.875rem}.member-row-role-control select{padding:.375rem .5rem;border:1px solid #cbd2d9;border-radius:6px;font-size:.875rem}.member-row-role-control select:disabled{opacity:.6}.btn-danger{padding:.375rem .75rem;border:1px solid #cf1124;border-radius:6px;background:#fff;color:#cf1124;font-size:.875rem;cursor:pointer}.btn-danger:disabled{opacity:.5;cursor:default}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.generation-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.generation-row{padding:.75rem 1rem;background:#fff;border:1px solid #e4e7eb;border-radius:8px}.generation-row-main{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.generation-row-kind{flex:1 1 12rem;font-weight:500;word-break:break-word}.generation-row-episode{color:#616e7c;font-weight:400}.generation-status{padding:.125rem .625rem;border-radius:999px;font-size:.8125rem;font-weight:600;white-space:nowrap}.generation-status-pending{background:#f0f4f8;color:#486581}.generation-status-running{background:#e3f2fd;color:#1c6ea4}.generation-status-ready{background:#e3f9e5;color:#207a3c}.generation-status-failed{background:#ffe3e3;color:#cf1124}.generation-row-error{margin:.5rem 0 0;color:#cf1124;font-size:.875rem;word-break:break-word}.profile-count{padding:.125rem .5rem;border-radius:999px;background:#eef1ff;color:#3e64ff;font-size:.8125rem;font-weight:600}.profile-form{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#fff;border:1px solid #e4e7eb;border-radius:8px}.profile-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.profile-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#52606d}.profile-form input[type=text],.profile-form input[type=email],.profile-form textarea{padding:.5rem;border:1px solid #cbd2d9;border-radius:6px;font-size:.9375rem;font-family:inherit}.profile-form-default{flex-direction:row;align-items:center;gap:.5rem;color:#1f2933}.profile-form-default input{width:auto}.profile-form-actions{display:flex;justify-content:flex-end}.profile-form-actions button{padding:.5rem .875rem;border:none;border-radius:6px;background:#3e64ff;color:#fff;font-size:.9375rem;cursor:pointer}.profile-form-actions button:disabled{opacity:.6;cursor:default}.profile-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.75rem}.profile-card{display:flex;flex-direction:column;gap:.5rem;padding:.875rem 1rem;background:#fff;border:1px solid #e4e7eb;border-radius:8px}.profile-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.profile-card-name{font-weight:600;color:#1f2933;word-break:break-word}.profile-default-badge{padding:.125rem .5rem;border-radius:999px;background:#e3f9e5;color:#207227;font-size:.75rem;font-weight:600;white-space:nowrap}.profile-card-fields{margin:0;display:flex;flex-direction:column;gap:.375rem}.profile-card-fields>div{display:flex;gap:.5rem;font-size:.875rem}.profile-card-fields dt{margin:0;color:#9aa5b1;min-width:8rem}.profile-card-fields dd{margin:0;color:#52606d;word-break:break-word}.profile-palette{display:inline-flex;gap:.25rem;flex-wrap:wrap}.profile-swatch{display:inline-block;width:1rem;height:1rem;border-radius:3px;border:1px solid #cbd2d9}.course-form{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#fff;border:1px solid #e4e7eb;border-radius:8px}.course-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#52606d}.course-form input[type=text],.course-form textarea{padding:.5rem;border:1px solid #cbd2d9;border-radius:6px;font-size:.9375rem;font-family:inherit}.course-form-actions{display:flex;justify-content:flex-end}.course-form-actions button:disabled{opacity:.6;cursor:default}.agent-generate-slot:empty{display:none}.course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.course-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e4e7eb;border-radius:8px}.course-row-title{flex:1 1 auto;font-weight:600;color:#1f2933;text-decoration:none;word-break:break-word}.course-row-title:hover{color:#3e64ff}.course-status{padding:.125rem .625rem;border-radius:999px;font-size:.8125rem;font-weight:600;white-space:nowrap;background:#f0f4f8;color:#486581}.course-status-draft{background:#f0f4f8;color:#486581}.course-status-proposed{background:#fff3e0;color:#a35200}.course-status-approved{background:#eef1ff;color:#3e64ff}.course-status-generating{background:#e3f2fd;color:#1c6ea4}.course-status-ready{background:#e3f9e5;color:#207a3c}.course-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.course-detail-header h2{margin:0 0 .25rem;font-size:1.4rem}.course-detail-topic{margin:0;color:#52606d;word-break:break-word}.course-detail-meta{margin:0 0 1rem;color:#9aa5b1;font-size:.875rem}.episode-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.episode-card{display:flex;flex-direction:column;gap:.625rem;padding:.875rem 1rem;background:#fff;border:1px solid #e4e7eb;border-radius:8px}.episode-card-header{display:flex;align-items:baseline;gap:.625rem;flex-wrap:wrap}.episode-card-index{font-size:.8125rem;font-weight:600;color:#3e64ff;white-space:nowrap}.episode-card-title{font-weight:600;color:#1f2933;word-break:break-word}.episode-card-fields{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.375rem 1rem}.episode-card-fields>div{display:flex;flex-direction:column;gap:.125rem;font-size:.875rem}.episode-card-fields dt{margin:0;color:#9aa5b1;font-size:.75rem}.episode-card-fields dd{margin:0;color:#52606d;word-break:break-word}.episode-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.episode-card-actions button{padding:.375rem .75rem;border:none;border-radius:6px;background:#3e64ff;color:#fff;font-size:.875rem;cursor:pointer}.episode-card-actions button:disabled{opacity:.6;cursor:default}.episode-card-media{display:flex;flex-direction:column;gap:.5rem}.media-player{display:flex;flex-direction:column;gap:.375rem}.media-player button{align-self:flex-start;padding:.375rem .75rem;border:1px solid #cbd2d9;border-radius:6px;background:#fff;color:#1f2933;font-size:.875rem;cursor:pointer}.media-player button:disabled{opacity:.6;cursor:default}.media-player-audio{width:100%}.media-player-video{width:100%;max-width:480px;border-radius:6px;background:#000}.agent-generate{margin:1rem 0;padding:1rem;border:1px solid #cbd2d9;border-radius:10px;background:#f8fafc}.agent-generate-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.agent-generate-title{margin:0;font-size:1rem}.agent-generate-toggle{padding:.375rem .75rem;border:none;border-radius:6px;background:#3e64ff;color:#fff;font-size:.875rem;cursor:pointer}.agent-generate-toggle:disabled{opacity:.6;cursor:default}.agent-generate-body{margin-top:1rem}.agent-form{display:flex;flex-direction:column;gap:.5rem}.agent-form-lead{margin:0 0 .5rem;color:#52606d;font-size:.9rem}.agent-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:600}.agent-form input,.agent-form textarea,.agent-form select{padding:.5rem;border:1px solid #cbd2d9;border-radius:6px;font:inherit;font-weight:400}.agent-form-row{display:flex;gap:.75rem;flex-wrap:wrap}.agent-form-row label{flex:1 1 8rem}.agent-form-actions{margin-top:.5rem}.agent-form-actions button{padding:.5rem 1rem;border:none;border-radius:6px;background:#3e64ff;color:#fff;font-size:.9rem;cursor:pointer}.agent-form-actions button:disabled{opacity:.6;cursor:default}.agent-generating{display:flex;flex-direction:column;gap:.5rem}.agent-generating button{align-self:flex-start;padding:.375rem .75rem;border:1px solid #cbd2d9;border-radius:6px;background:#fff;color:#1f2933;font-size:.875rem;cursor:pointer}.agent-review h5{margin:0 0 .25rem;font-size:.95rem}.agent-episode-list{list-style:none;margin:.75rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.agent-episode-row{display:flex;align-items:center;gap:.5rem}.agent-episode-index{flex:0 0 1.5rem;text-align:center;font-weight:600;color:#52606d}.agent-episode-title{flex:1 1 auto;padding:.375rem .5rem;border:1px solid #cbd2d9;border-radius:6px;font:inherit}.agent-episode-duration{flex:0 0 5rem;padding:.375rem .5rem;border:1px solid #cbd2d9;border-radius:6px;font:inherit}.agent-episode-unit{color:#52606d;font-size:.875rem}.agent-episode-remove{padding:.375rem .625rem;border:1px solid #cbd2d9;border-radius:6px;background:#fff;color:#b91c1c;font-size:.8rem;cursor:pointer}.agent-episode-remove:disabled{opacity:.5;cursor:default}.agent-review-tools{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.agent-review-tools button{padding:.375rem .75rem;border:1px solid #cbd2d9;border-radius:6px;background:#fff;color:#1f2933;font-size:.875rem;cursor:pointer}.agent-review-tools button:disabled{opacity:.5;cursor:default}.agent-episode-count{color:#52606d;font-size:.85rem}.agent-review-actions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.agent-review-actions button{padding:.5rem .875rem;border:none;border-radius:6px;font-size:.875rem;cursor:pointer}.agent-review-actions button:disabled{opacity:.6;cursor:default}.agent-approve{background:#2f855a;color:#fff}.agent-reject{background:#dd6b20;color:#fff}.agent-review-actions button:not(.agent-approve):not(.agent-reject){background:#fff;border:1px solid #cbd2d9;color:#1f2933}.agent-approved{display:flex;flex-direction:column;gap:.5rem}.agent-approved button{align-self:flex-start;padding:.375rem .75rem;border:1px solid #cbd2d9;border-radius:6px;background:#fff;color:#1f2933;font-size:.875rem;cursor:pointer}
