@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-brand-blue: #2563EB;--color-brand-green: #22C55E;--color-background: #FFFFFF;--color-surface: #F8FAFC;--color-border: #E2E8F0;--color-text-muted: #64748B;--color-text-primary: #0F172A;--color-success: #16A34A;--color-warning: #F59E0B;--color-alert: #DC2626;--color-info: #0EA5E9;--font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-size-h1: 32px;--font-size-h2: 24px;--font-size-h3: 20px;--font-size-body: 16px;--font-size-muted: 14px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--color-primary: var(--color-brand-blue);--color-secondary: var(--color-brand-green);--color-text: var(--color-text-primary);--color-danger: var(--color-alert)}.text-h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2;margin:0}.text-h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2;margin:0}.text-h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2;margin:0}.text-body{font-size:var(--font-size-body);font-weight:var(--font-weight-normal);color:var(--color-text-primary);line-height:1.5;margin:0}.text-muted{font-size:var(--font-size-muted);font-weight:var(--font-weight-normal);color:var(--color-text-muted);line-height:1.5;margin:0}.text-label{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:.5rem;font-family:var(--font-family-base);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease;border:none;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-brand-blue);color:#fff;font-weight:var(--font-weight-semibold)}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-primary:active:not(:disabled){background-color:#1e40af}.btn-secondary{background-color:transparent;border:1px solid var(--color-border);color:var(--color-brand-blue);font-weight:var(--font-weight-semibold)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface)}.btn-ghost{background-color:transparent;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface)}.btn-destructive{background-color:var(--color-alert);color:#fff;font-weight:var(--font-weight-semibold)}.btn-destructive:hover:not(:disabled){background-color:#b91c1c}.btn-full{width:100%}a{color:var(--color-brand-blue);text-decoration:none;font-weight:var(--font-weight-medium)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-family:var(--font-family-base);margin:0}h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold)}h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold)}:root{--color-brand-blue: #2563EB;--color-brand-green: #22C55E;--color-background: #FFFFFF;--color-surface: #F8FAFC;--color-border: #E2E8F0;--color-text-muted: #64748B;--color-text-primary: #0F172A;--color-success: #16A34A;--color-warning: #F59E0B;--color-alert: #DC2626;--color-info: #0EA5E9;--color-primary: var(--color-brand-blue);--color-secondary: var(--color-brand-green);--color-text: var(--color-text-primary);--color-danger: var(--color-alert);--color-background-muted: var(--color-surface);--color-surface-elevated: var(--color-surface);--color-border-strong: var(--color-border);--color-overlay: rgba(15, 23, 42, .08);--color-sidebar: #0f172b;--color-sidebar-active: #ffffff;--color-sidebar-text: rgba(255, 255, 255, .72);--color-sidebar-muted: rgba(255, 255, 255, .4);--color-sidebar-border: rgba(255, 255, 255, .08);--font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-heading: var(--font-family-base);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-soft: 0 8px 20px rgba(15, 23, 42, .08)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-family-base);font-size:16px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-brand-blue);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}p{margin:0;font-size:16px;font-weight:400;color:var(--color-text-primary);line-height:1.5}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-family-base);color:var(--color-text-primary)}h1{font-size:32px;font-weight:700;line-height:1.2}h2{font-size:24px;font-weight:600;line-height:1.2}h3{font-size:20px;font-weight:600;line-height:1.2}button{font-family:inherit}.institution-card{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-surface);border-radius:1.25rem;padding:var(--space-5);box-shadow:0 18px 48px #0f172a1a;border:1px solid rgba(208,214,243,.4)}.institution-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.institution-card__header h2,.institution-card__header h3{font-size:1.25rem}.institution-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.institution-list__item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid rgba(208,214,243,.4)}.institution-list__item:last-child{border-bottom:none}.institution-list__subtitle{color:var(--color-text-muted);font-size:.9rem;margin-top:var(--space-1)}.institution-class-assignments{display:flex;gap:var(--space-5)}.institution-classes{display:flex;flex-direction:column;gap:var(--space-5)}.institution-classes__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.institution-classes__filters{display:inline-flex;background:var(--color-surface);padding:.35rem;border-radius:999px;box-shadow:0 10px 24px #0f172a14;border:1px solid rgba(208,214,243,.4)}.institution-tab{border:none;background:transparent;color:var(--color-text-muted);font-weight:600;border-radius:999px;padding:.45rem 1.25rem;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.institution-tab--small{font-size:.9rem}.institution-tab--active{background:linear-gradient(135deg,#4c6ef526,#4c6ef559);color:var(--color-secondary);transform:translateY(-1px)}.class-overview-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}@media(max-width:1024px){.class-overview-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.class-overview-metrics{grid-template-columns:1fr}}.institution-classes__list{display:flex;flex-direction:column;gap:var(--space-4)}.institution-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 40px #0f172a14;border:1px solid rgba(208,214,243,.35)}.institution-table thead{background:#ecf0ffbf}.institution-table th,.institution-table td{text-align:left;padding:var(--space-3) var(--space-4);font-size:.95rem}.institution-class-row{cursor:default;transition:background .2s ease}.institution-class-row--clickable{cursor:pointer}.institution-class-row--clickable:hover,.institution-class-row--clickable:focus{background:#4c6ef514;outline:none}.institution-table td:last-child{width:60px;text-align:right}.institution-table th{text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;color:var(--color-text-muted)}.institution-table tbody tr+tr{border-top:1px solid rgba(208,214,243,.35)}.institution-class-empty{color:var(--color-text-muted);font-style:italic}.institution-class-form{display:flex;flex-direction:column;gap:var(--space-5)}.institution-class-form__footer{display:flex;justify-content:flex-end;gap:var(--space-3)}.institution-class-form__helper{margin:0;color:var(--color-text-muted);font-size:.9rem}.institution-class-form__section{display:flex;flex-direction:column;gap:var(--space-3)}.institution-class-form__section h3{margin:0;font-size:1.05rem}.class-view{display:grid;grid-template-columns:260px 1fr;gap:var(--space-6)}.class-view__sidebar{position:sticky;top:var(--space-6);align-self:start;background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:0 18px 40px #0f172a14;border:1px solid rgba(208,214,243,.35)}.class-view__nav{display:flex;flex-direction:column;gap:var(--space-3)}.class-view__nav-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.75rem 1rem;border-radius:var(--radius-lg);font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:background .2s ease,color .2s ease}.class-view__nav-item:hover,.class-view__nav-item:focus{background:#4c6ef51f;color:var(--color-secondary)}.class-view__nav-item--back{background:linear-gradient(135deg,#4c6ef526,#4c6ef54d);color:var(--color-secondary);margin-bottom:var(--space-2)}.class-view__content{display:flex;flex-direction:column;gap:var(--space-5)}.class-view__header h1{margin:0;font-size:2rem}.class-view__subtitle{margin:.35rem 0 0;color:var(--color-text-muted)}.class-view__section{scroll-margin-top:100px}.institution-class-form__option input[type=checkbox]{width:1.1rem;height:1.1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);accent-color:var(--color-secondary)}.institution-class-form__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:220px;overflow-y:auto}.institution-class-form__option{border:1px solid rgba(208,214,243,.45);border-radius:var(--radius-md);padding:var(--space-3);background:#f8f9ffa6;display:flex;align-items:center}.institution-class-form__option label{display:flex;gap:var(--space-3);align-items:center;width:100%}.institution-class-form__option-name{font-weight:600}.institution-class-form__option-email{display:block;color:var(--color-text-muted);font-size:.85rem}.institution-class-form__empty{padding:var(--space-3);border:1px dashed rgba(208,214,243,.6);border-radius:var(--radius-md);color:var(--color-text-muted)}.institution-badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;background:#4c6ef51f;color:var(--color-secondary);font-weight:600;font-size:.8rem}.institution-class-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.institution-class-caret{display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1}.institution-link{border:none;background:transparent;color:var(--color-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:background .15s ease}.institution-link:hover{background:#4c6ef51f}.institution-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.institution-header__left h1{font-size:1.75rem}.institution-header__left p{margin-top:var(--space-2);color:var(--color-text-muted);font-size:.95rem}.institution-role-badge{display:inline-flex;align-items:center;padding:.4rem .9rem;border-radius:999px;background:#4c6ef51f;color:var(--color-secondary);font-weight:600}.institution-dashboard__content{display:flex;flex-direction:column;gap:var(--space-4)}.form-navigation{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.button{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:var(--radius-md);border:none;background-color:var(--color-brand-blue);color:#fff;font-weight:600;font-size:16px;font-family:var(--font-family-base);cursor:pointer;transition:background-color .2s ease}.button:hover:not(:disabled){background-color:#1d4ed8}.button:active:not(:disabled){background-color:#1e40af}.button--secondary{background-color:transparent;border:1px solid var(--color-border);color:var(--color-brand-blue)}.button--secondary:hover:not(:disabled){background-color:var(--color-surface)}.button--ghost{background-color:transparent;color:var(--color-text-primary);border:none;font-weight:500}.button--ghost:hover:not(:disabled){background-color:var(--color-surface)}.button--destructive{background-color:var(--color-alert);color:#fff}.button--destructive:hover:not(:disabled){background-color:#b91c1c}.button--full{width:100%}.button--loading{opacity:.7;cursor:wait}.button:disabled{opacity:.6;cursor:not-allowed}.input-wrapper{display:flex;align-items:center;position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);transition:border-color .2s ease,box-shadow .2s ease}.input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px #3a6ff826}.input-addon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.input-addon--start{padding-left:var(--space-3);padding-right:var(--space-2)}.input-addon--end{padding-right:var(--space-3);padding-left:var(--space-2)}.input{width:100%;padding:calc(var(--space-2) + 2px) var(--space-3);border:none;background-color:transparent;color:var(--color-text);font-size:1rem;outline:none}.input:focus{outline:none}.textarea{width:100%;min-height:8rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:1rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #3a6ff826}.select{width:100%;padding:calc(var(--space-2) + 2px) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;appearance:none}.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #3a6ff826}.form-helper-text{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.9rem}.form-helper-text a{color:var(--color-primary)}.card{background:var(--color-surface);border-radius:1.5rem;padding:var(--space-5);box-shadow:0 24px 60px #0f172a14;border:1px solid rgba(208,214,243,.4)}.dashboard-card{text-align:center;min-width:320px}.dashboard-memberships{margin:var(--space-4) 0;text-align:left}.dashboard-memberships h2{font-size:1.1rem;margin-bottom:var(--space-2)}.dashboard-memberships ul{padding-left:var(--space-4);margin:0}.dashboard-memberships li{margin-bottom:var(--space-2)}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:#0f172a80;z-index:10000;padding:var(--space-4)}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:min(960px,90vw);max-height:90vh;box-shadow:var(--shadow-soft);padding:0;display:flex;flex-direction:column;overflow:hidden}.modal-content.create-class-modal{width:min(650px,100%);max-width:650px}.modal-content.class-roster-invite-modal,.modal-content.adjust-seats-modal{width:700px;max-width:700px}.modal-content.remove-from-class-modal{width:500px;max-width:500px}.modal-content.add-member-modal,.modal-content.upload-rubric-modal{width:600px;max-width:600px}.modal-content.delete-rubric-modal{width:500px;max-width:500px}.modal-content.revoke-invite-modal,.modal-content.resend-invite-modal{width:min(480px,45vw);max-width:480px}.modal-content.create-task-modal{width:768px;max-width:768px}.modal-content:has(.start-session-form){width:min(800px,75vw);position:relative}.modal-content:has(.client-generation-prompt-modal){width:min(700px,90vw);max-width:700px}.modal-content:has(.client-generation-prompt-modal) .client-generation-prompt-modal__footer{width:100%;margin:0;padding:0}.modal-content:has(.client-generation-prompt-modal) .client-generation-prompt-modal__footer .button{border-radius:var(--radius-md)}.modal-content:has(.client-story-prompt){width:min(700px,90vw);max-width:700px}.modal-content:has(.client-wizard){padding:0;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-5);border-bottom:1px solid rgba(208,214,243,.35);flex-shrink:0}.modal-content:has(.start-session-modal__header) .modal-header{align-items:flex-start;padding-bottom:0}.modal-title{display:flex;align-items:center;gap:var(--space-3);flex:1}.modal-title:has(.modal-subtitle){flex-direction:column;align-items:flex-start;gap:0}.modal-header:has(.modal-subtitle){padding-bottom:12px}.modal-title:has(.modal-subtitle) h2{margin:0;font-weight:400}.modal-title h2,.modal-header h2{margin:0;font-size:1.5rem;font-weight:400}.modal-content.join-class-modal{width:min(480px,45vw);max-width:480px}.modal-content.cancel-subscription-modal{width:min(550px,90vw);max-width:550px}.modal-content.join-class-modal .modal-title h2,.modal-content.student-task-detail-modal .modal-title h2{font-weight:400;font-size:20px}.modal-subtitle{margin:.25rem 0 0;font-size:.9rem;color:var(--color-text-muted);font-weight:400}.modal-close{background:transparent;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--color-text);align-self:flex-start}.modal-body{display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-5);position:relative}.modal-body:has(.task-wizard){padding-top:0}.modal-content:has(.client-wizard) .modal-body{padding:0;overflow:hidden}.modal-content:has(.client-wizard__footer--single-step) .modal-body{padding:0;display:flex;flex-direction:column}.modal-content:has(.client-wizard__footer--single-step) .client-wizard{display:flex;flex-direction:column;min-height:0;flex:1}.modal-content:has(.client-wizard__footer--single-step) .client-wizard__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);flex-shrink:0;padding:var(--space-5);border-top:1px solid rgba(208,214,243,.35)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.modal-form{display:flex;flex-direction:column;gap:var(--space-4)}.modal-footer-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.member-selection-group{display:flex;flex-direction:column;gap:var(--space-2)}.member-selection-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:200px;overflow-y:auto}.member-selection-item{display:flex;align-items:center;gap:var(--space-3)}.member-selection-email{display:block;color:var(--color-text-muted);font-size:.85rem}.system-admin-section{display:flex;flex-direction:column;gap:var(--space-5)}.system-admin-section__header{display:flex;align-items:center;justify-content:space-between}.system-admin-section__header h2{margin:0 0 var(--space-1) 0}.system-admin-section__header p{margin:0;color:var(--color-text-muted)}.system-admin-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.system-admin-card{display:flex;flex-direction:column;gap:var(--space-4)}.system-admin-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.system-admin-card__header h3{margin:0;font-size:1.25rem}.system-admin-card__metrics{display:flex;flex-direction:column;gap:var(--space-2);font-size:.95rem;color:var(--color-text-muted)}.system-admin-card__metrics--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.system-admin-card__metrics span{display:flex;align-items:center;gap:var(--space-2)}.system-admin-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.system-admin-list__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.system-admin-list__subtitle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.9rem}.system-admin-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background-color:#3a6ff81a;color:var(--color-primary);font-weight:600;font-size:.85rem}.institution-team{display:flex;flex-direction:column;gap:var(--space-6)}.institution-team__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.institution-team__header-actions{display:flex;align-items:center;gap:var(--space-3)}.institution-team__filter{min-width:220px}.institution-team__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.institution-team__item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid rgba(208,214,243,.35);box-shadow:0 12px 32px #0f172a14}.institution-team__item--invite{border-style:dashed;border-color:#f4992466;background:#f4992414}.institution-team__item-primary{display:flex;align-items:center;gap:var(--space-4)}.institution-team__avatar{width:3rem;height:3rem;border-radius:50%;background:var(--color-brand-blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;box-shadow:0 6px 18px #2563eb40}.institution-team__name{font-weight:400;font-size:1.05rem}.institution-team__meta{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:.9rem}.institution-team__divider{color:#94a3b8cc}.institution-team__email{color:var(--color-text)}.institution-team__actions{display:flex;align-items:center;gap:var(--space-3)}.institution-team__section-title{font-size:1.1rem;font-weight:400;margin:0}.institution-team__modal-form{display:flex;flex-direction:column;gap:0;padding-top:0}.institution-team__modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.class-roster__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.class-roster__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.class-roster__summary{margin-top:var(--space-2);color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:var(--space-3)}.class-roster__summary span{display:inline-flex;align-items:center;gap:var(--space-1)}.class-roster__join-section{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-start}.class-roster__join-value{font-family:var(--font-family-heading);font-size:1.25rem;letter-spacing:.08em}.class-roster__join-value--muted{color:var(--color-text-muted);letter-spacing:normal;font-size:.95rem}.class-roster__table{width:100%;border-collapse:collapse}.class-roster__table th,.class-roster__table td{padding:var(--space-3) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.class-roster__table th{font-weight:600;font-size:.9rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.class-roster__table tbody tr:last-of-type td{border-bottom:none}.class-roster__table-email{color:var(--color-secondary);text-decoration:none}.class-roster__table-empty{padding:var(--space-4);text-align:center;color:var(--color-text-muted)}.class-roster__role-list{display:grid;gap:var(--space-2);padding-left:1.25rem}.class-roster__invite-options{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.class-roster__invite-option{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;font-size:.95rem}.class-roster__invite-option:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.class-roster__invite-option--active{border-color:var(--color-secondary);background:var(--color-secondary-muted);color:var(--color-secondary);font-weight:600}.class-roster__invite-option:focus-visible{outline:none;box-shadow:0 0 0 2px #4c6ef54d}.class-roster__qr-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.class-roster__qr{width:240px;max-width:100%;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-2)}.class-roster__notice{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-background-muted);color:var(--color-text);font-size:.95rem}.class-roster__notice--success{border-color:#64c28866;background:#64c2881f}.class-roster__notice--error{border-color:#f76a6a66;background:#f76a6a1f}.class-roster__modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.class-roster__meta-grid{display:grid;gap:var(--space-2)}.class-roster__meta-grid strong{display:block;font-size:1rem}@media(max-width:768px){.class-roster__header{flex-direction:column;align-items:stretch;gap:var(--space-3)}.class-roster__actions{justify-content:flex-start}.class-roster__join-section{flex-direction:column;align-items:flex-start}}.debug-user-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}.debug-user-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.debug-user-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid rgba(208,214,243,.4);background:var(--color-surface);box-shadow:0 12px 32px #0f172a14}.debug-user-name{font-weight:600}.debug-user-email{color:var(--color-text-muted)}.debug-user-context{margin-top:var(--space-1);font-size:.85rem;color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.debug-user-role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.client-list-search-sort{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.client-list-search-sort__controls{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.client-list-search-sort__search{position:relative;flex:1;min-width:200px;display:flex;align-items:center}.client-list-search-sort__search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;z-index:1}.client-list-search-sort__search-input{width:100%;padding:calc(var(--space-2) + 2px) var(--space-3);padding-left:calc(var(--space-3) + 18px + var(--space-2));border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:#fff;color:var(--color-text);font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.client-list-search-sort__search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #3a6ff826}.client-list-search-sort__search-input::placeholder{color:var(--color-text-muted)}.client-list-search-sort__dropdown-wrapper{position:relative;min-width:180px}.client-list-search-sort__dropdown{width:100%;padding:calc(var(--space-2) + 2px) var(--space-3);padding-right:calc(var(--space-3) + 16px + var(--space-2));border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:#fff;color:var(--color-text);font-size:1rem;appearance:none;outline:none;transition:border-color .2s ease,box-shadow .2s ease;cursor:pointer}.client-list-search-sort__dropdown:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #3a6ff826}.client-list-search-sort__dropdown-icon{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.client-list-search-sort__results{color:var(--color-text-muted);font-size:.9rem}.toast-viewport{position:fixed;top:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);z-index:9999}.toast{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);min-width:280px;max-width:360px;background:#0f172aeb;color:#fff;box-shadow:0 16px 48px #0f172a4d;border:1px solid rgba(255,255,255,.08);animation:toast-in .2s ease-out}.toast--success{border-color:#4cdc8266}.toast--warning{border-color:#ffcc5c66}.toast--error{border-color:#ff638466}.toast__icon{font-size:1.25rem}.toast__content{display:flex;flex-direction:column;gap:var(--space-1)}.toast__title{font-size:1rem}.toast__description{margin:0;font-size:.9rem;color:#ffffffbf}.toast__dismiss{background:transparent;border:none;color:#ffffffb3;font-size:1.1rem;cursor:pointer}.toast__dismiss:hover{color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.institution-team__header{flex-direction:column;align-items:stretch}.institution-team__header-actions{width:100%;justify-content:space-between}.institution-team__item{flex-direction:column;align-items:flex-start}.institution-team__actions{width:100%;justify-content:flex-end}.institution-team__filter{width:100%}}@media(max-width:600px){.modal-content{padding:var(--space-4)}.modal-footer,.modal-actions{flex-direction:column;align-items:stretch}.system-admin-section__header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.system-admin-list__item{flex-direction:column;align-items:flex-start}}@media(max-width:880px){.billing-plan-payment-row{flex-direction:column}}.student-class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--space-5)}.student-class-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:0 18px 48px #0f172a1a;border:1px solid rgba(208,214,243,.4);display:flex;flex-direction:column;position:relative;min-height:200px}.student-class-card__title{margin:0 0 var(--space-4) 0;font-size:18px;font-weight:400;color:var(--color-text)}.student-class-card__content{display:flex;flex-direction:column;gap:var(--space-4);flex:1}.student-class-card__section{display:flex;flex-direction:column;gap:var(--space-2)}.student-class-card__section-label{font-size:.875rem;font-weight:400;color:var(--color-text)}.student-class-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.student-class-card__tag{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:.875rem;font-weight:400}.student-class-card__tag--instructor{background:#dbeafe;color:#1e40af}.student-class-card__tag--ta{background:#f3e8ff;color:#7c3aed}.student-class-card__empty{font-size:.875rem;color:var(--color-text-muted);font-style:italic}.student-class-card__enter-link{position:absolute;top:50%;right:var(--space-5);transform:translateY(-50%);color:#1e40af;text-decoration:none;font-size:1rem;font-weight:500;display:inline-flex;align-items:center;gap:var(--space-1);transition:color .2s ease}.student-class-card__enter-link:hover{color:#1e3a8a;text-decoration:none}.student-welcome-card{margin-bottom:var(--space-5)}.student-welcome-card__title{margin:0 0 var(--space-2) 0;font-size:24px;font-weight:400;color:var(--color-text)}.student-welcome-card__subtitle{margin:0;font-size:1rem;font-weight:400;color:var(--color-text-muted)}.student-stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);margin-bottom:var(--space-5)}.student-stat-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:0 18px 48px #0f172a1a;border:1px solid rgba(208,214,243,.4);display:flex;flex-direction:column}.student-stat-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.student-stat-card__icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.student-stat-card__icon--blue{background:#dbeafe;color:#1e40af}.student-stat-card__icon--purple{background:#f3e8ff;color:#7c3aed}.student-stat-card__icon--green{background:#d1fae5;color:#059669}.student-stat-card__view-all{color:#3b82f6;text-decoration:none;font-size:.875rem;font-weight:400}.student-stat-card__view-all:hover{text-decoration:underline}.student-stat-card__content{margin-bottom:var(--space-4)}.student-stat-card__number{font-size:2.5rem;font-weight:400;color:var(--color-text);line-height:1;margin-bottom:var(--space-1)}.student-stat-card__label{font-size:.875rem;font-weight:400;color:var(--color-text)}.student-stat-card__details{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid rgba(208,214,243,.4)}.student-stat-card__detail-item{display:flex;justify-content:space-between;align-items:center}.student-stat-card__detail-label{font-size:.875rem;font-weight:400;color:var(--color-text)}.student-stat-card__detail-value{font-size:.875rem;font-weight:600;color:var(--color-text)}.student-upcoming-tasks{margin-top:var(--space-5);margin-bottom:var(--space-5)}.student-upcoming-tasks__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.student-upcoming-tasks__title{margin:0;font-size:18px;font-weight:400;color:var(--color-text)}.student-upcoming-tasks__view-all{font-size:.875rem;font-weight:400;color:var(--color-primary);text-decoration:none;transition:color .2s}.student-upcoming-tasks__view-all:hover{color:var(--color-primary-dark);text-decoration:underline}.student-upcoming-tasks__list{display:flex;flex-direction:column;gap:var(--space-4)}.student-upcoming-task-card{background:var(--color-surface-secondary);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid rgba(208,214,243,.3);transition:box-shadow .2s,transform .2s,border-color .2s}.student-upcoming-task-card:hover{box-shadow:0 2px 8px #0f172a1a;transform:translateY(-1px);border-color:#d0d6f380}.student-upcoming-task-card__content{display:flex;flex-direction:column;gap:var(--space-2)}.student-upcoming-task-card__title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text);line-height:1.4}.student-upcoming-task-card__client,.student-upcoming-task-card__due{margin:0;font-size:.875rem;font-weight:400;color:var(--color-text-muted)}.student-pending-peer-reviews{margin-top:var(--space-5);margin-bottom:var(--space-5)}.student-pending-peer-reviews__header{margin-bottom:var(--space-4)}.student-pending-peer-reviews__title{margin:0;font-size:18px;font-weight:400;color:var(--color-text)}.student-pending-peer-reviews__list{display:flex;flex-direction:column;gap:var(--space-4)}.student-pending-peer-review-card{border-radius:var(--radius-md)!important}.student-pending-peer-review-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.student-pending-peer-review-card__header-left,.student-pending-peer-review-card__info{flex:1;min-width:0}.student-pending-peer-review-card__title{font-weight:500;margin-bottom:var(--space-1);color:var(--color-text)}.student-pending-peer-review-card__session{font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--space-1)}.student-pending-peer-review-card__message{font-size:.875rem;color:var(--color-text-muted);font-style:italic;margin-top:var(--space-2)}.student-pending-peer-review-card__header-actions{display:flex;gap:var(--space-2);flex-shrink:0}.student-pending-peer-review-card__header-actions .button{border-radius:var(--radius-sm)}.student-recent-clients{margin-top:var(--space-5);margin-bottom:var(--space-5)}.student-recent-clients__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.student-recent-clients__title{margin:0;font-size:18px;font-weight:400;color:var(--color-text)}.student-recent-clients__view-all{font-size:.875rem;font-weight:400;color:var(--color-primary);text-decoration:none;transition:color .2s}.student-recent-clients__view-all:hover{color:var(--color-primary-dark);text-decoration:underline}.student-recent-clients .client-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media(max-width:768px){.student-recent-clients .client-cards{grid-template-columns:1fr}}.app-header__return{display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;padding:.2rem .75rem;border-radius:999px;background:#f58b281f;color:var(--color-primary);box-shadow:0 6px 14px #f58b281f;text-align:center}.app-header__center{display:flex;align-items:center;justify-content:center;width:100%}.app-header__titles{display:flex;flex-direction:column;gap:2px}.app-header__user-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:.45rem .75rem;border:none;border-radius:999px;background:#ffffffa6;box-shadow:0 10px 28px #0f172a1f;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.app-header__user-button:hover{transform:translateY(-1px);box-shadow:0 16px 34px #0f172a29}.app-header__user-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.app-header__user-name{font-size:.95rem;font-weight:600;color:var(--color-text)}.app-header__user-role{font-size:.8rem;color:var(--color-text-muted)}.app-header__chevron{width:16px;height:16px;color:var(--color-text-muted)}.app-header__user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;display:flex;flex-direction:column;background:#fff;border-radius:1rem;box-shadow:0 18px 40px #0f172a29;border:1px solid rgba(208,214,243,.6);padding:var(--space-2);min-width:200px;z-index:10}.app-header__user-dropdown button{padding:var(--space-2) var(--space-3);border:none;background:transparent;text-align:left;font-size:.95rem;border-radius:.75rem;cursor:pointer;transition:background .15s ease}.app-header__user-dropdown button:hover{background:#4c6ef514}.app-header__right{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;margin-left:auto;z-index:101}.app-header__toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:none;background:#261d4e1f;color:var(--color-text);box-shadow:inset 0 0 0 1px #261d4e1f;cursor:pointer}.app-header__toggle svg{width:18px;height:18px}.app-header__title{font-size:1.35rem;font-weight:400;color:var(--color-text);margin:0}.app-header__subtitle{margin:0;color:var(--color-text-muted);font-size:.85rem}.page-container,.page-container--top,.page-container--left{display:contents}.auth-layout{width:100%;max-width:420px;margin:0 auto}.auth-header{margin-bottom:var(--space-5);text-align:center}.auth-header h1{font-size:2rem;margin-bottom:var(--space-2)}.auth-header p{color:var(--color-text-muted)}.form-content{display:flex;flex-direction:column}.form-footer{margin-top:var(--space-4);display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.auth-actions{margin-top:var(--space-4);display:flex;justify-content:space-between;align-items:center}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;background:linear-gradient(180deg,var(--color-background),var(--color-background-muted));transition:grid-template-columns .3s ease}.app-shell--collapsed{grid-template-columns:80px minmax(0,1fr)}.app-sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--space-4);background:var(--color-background-app);color:var(--color-text-primary);border-right:1px solid var(--color-border);transition:padding .3s ease;height:100vh;max-height:100vh;justify-content:space-between;overflow-y:auto}.app-sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.app-sidebar__toggle{display:inline-flex;align-items:center;justify-content:center;width:31.5px;height:31.5px;border-radius:999px;border:none;background:var(--color-surface-card);color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-border-divider);cursor:pointer;transition:background .15s ease,transform .15s ease;flex-shrink:0}.app-sidebar__toggle:hover{background:var(--color-border-divider);transform:translateY(-1px)}.app-sidebar__toggle svg{width:13.5px;height:13.5px}.app-sidebar--collapsed{align-items:center;padding:var(--space-5) var(--space-3)}.app-sidebar--collapsed .app-sidebar__header{flex-direction:column;justify-content:center;align-items:center;gap:var(--space-4)}.app-sidebar--collapsed .app-sidebar__toggle{order:-1}.app-sidebar--collapsed .app-nav{align-items:center}.app-sidebar--collapsed .app-nav__item,.app-sidebar--collapsed .app-nav__item--disabled{justify-content:center;width:100%;padding:10px var(--space-3)}.app-brand{display:flex;align-items:center;gap:var(--space-3);margin-top:0;font-weight:400;letter-spacing:.02em;transition:gap .3s ease;text-decoration:none}.app-brand:hover{text-decoration:none}.app-brand__logo{height:32px;width:auto;display:block;flex-shrink:0}.app-brand__text{font-size:24px;color:var(--color-text-primary);font-weight:400;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.app-shell--collapsed .app-brand__text,.app-shell--collapsed .app-nav__label,.app-shell--collapsed .app-header__user-details,.app-shell--collapsed .app-header__logout{display:none}.app-shell--collapsed .app-brand__logo{display:block}.app-nav{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-6);flex:1}.app-nav__item,.app-nav__item--disabled{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);color:#64748b;background:transparent;border:none;font-size:.95rem;font-weight:400;cursor:pointer;transition:background .2s ease,color .2s ease;text-decoration:none}.app-nav__item:hover,.app-nav__item:focus{text-decoration:none}.app-nav__item--unstyled{background:transparent;color:#64748b;font-weight:500}.app-nav__item--unstyled:hover:not(.app-nav__item--active){background:#f1f5f9;color:#475569;text-decoration:none}.app-nav__icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;flex-shrink:0}.app-nav__icon svg{width:18px;height:18px;color:inherit;display:block}.app-nav__item svg,.app-nav__item--disabled svg{width:18px;height:18px;color:#64748b;display:block}.app-nav__item:hover:not(.app-nav__item--active){background:#f1f5f9;color:#475569;text-decoration:none}.app-nav__item:hover:not(.app-nav__item--active) svg,.app-nav__item:hover:not(.app-nav__item--active) .app-nav__icon{color:#475569}.app-nav__item--active,.app-nav__item--active:hover{background:#e0f2fe;color:#0f172a;text-decoration:none}.app-nav__item--active svg,.app-nav__item--active .app-nav__icon{color:#0f172a}.app-nav__item--disabled{opacity:.4;cursor:not-allowed}.app-nav__divider{padding:0}.app-nav__divider-line{display:block;height:1px;background:var(--color-border-divider);margin:var(--space-2) 0}.app-nav__label-header{padding:var(--space-4) var(--space-3) var(--space-2);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.app-nav__label-header:first-child{margin-top:0;padding-top:var(--space-2)}.app-nav__content{display:inline-flex;align-items:center;gap:var(--space-3)}.app-sidebar__footer{margin-top:auto;padding-top:var(--space-4);padding-bottom:var(--space-5);text-align:center;flex-shrink:0}.app-sidebar__footer-text{font-size:.875rem;color:var(--color-text-muted);font-weight:800;-webkit-user-select:none;user-select:none}.app-shell--collapsed .app-sidebar__footer{display:none}.app-main{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(180deg,#ffffffe6,#f0f4ffe6)}.app-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);min-height:72px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid rgba(208,214,243,.5);position:relative;z-index:100}.app-header__left{display:flex;align-items:center;gap:var(--space-3)}.app-header__bottom{display:flex;align-items:center;gap:var(--space-4);width:100%;background:#ffffffd6;border-radius:1.5rem;padding:1rem 1.5rem;box-shadow:0 18px 40px #4c6ef524;border:1px solid rgba(208,214,243,.45)}.app-header__actions-group{display:inline-flex;align-items:center;gap:var(--space-3)}.app-header__context-badge{display:inline-flex;align-items:center;padding:.4rem .85rem;border-radius:999px;background:#4c6ef51f;color:var(--color-secondary);font-weight:600;font-size:.85rem}.app-header__return{display:inline-flex;align-items:center;gap:var(--space-2);padding:.35rem .75rem;border-radius:999px;background:#f58b281a;color:var(--color-primary);font-size:.75rem;font-weight:600;transition:background .2s ease,transform .2s ease}.app-header__return:hover{background:#f58b282e;transform:translateY(-1px)}.app-header__profile-card{display:inline-flex;align-items:center;gap:var(--space-2);padding:.45rem .75rem;border-radius:1rem;background:linear-gradient(135deg,#4c6ef529,#b4c4ff38);border:1px solid rgba(140,160,255,.4);box-shadow:0 14px 28px #4c6ef529}.app-header__profile{display:flex;flex-direction:column;gap:2px}.app-header__profile-name{font-weight:600;color:var(--color-text);font-size:.85rem}.app-header__profile-role{font-size:.75rem;color:var(--color-text-muted)}.app-header__profile-meta{display:flex;align-items:center;gap:var(--space-3)}.app-header__avatar{width:32px;height:32px;border-radius:50%;background:var(--color-brand-blue);color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}.app-header__logout{border-radius:999px;padding-inline:var(--space-3);padding-block:.2rem;font-size:.75rem;color:var(--color-secondary)}.app-content{flex:1;padding:0;display:flex;flex-direction:column;gap:var(--space-4);position:relative;z-index:1;background-color:#fbf9fa}.app-content__inner{display:grid;gap:var(--space-4);padding:var(--space-6)!important}.app-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.app-summary-card{background:var(--color-surface);border-radius:1.25rem;padding:var(--space-4);box-shadow:0 12px 34px #0f172a14;border:1px solid rgba(208,214,243,.5)}.app-summary-card__value{font-size:1.8rem;font-weight:700;color:var(--color-text)}.app-summary-card__label{margin-top:var(--space-2);color:var(--color-text-muted);font-size:.9rem}.app-scroll-section{background:var(--color-surface);border-radius:1.5rem;padding:var(--space-5);box-shadow:0 24px 60px #0f172a0f;border:1px solid rgba(208,214,243,.4)}.app-scroll-section+.app-scroll-section{margin-top:var(--space-4)}.app-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.app-section-header h2{font-size:1.25rem}.app-section-header p{color:var(--color-text-muted)}.app-section-link{color:var(--color-secondary);font-weight:600}.app-secondary-text{color:var(--color-text-muted);font-size:.95rem}.app-secondary-text--small{font-size:.85rem}.app-table{width:100%;border-collapse:collapse}.app-table th{text-align:left;font-size:.85rem;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;padding-bottom:var(--space-3)}.app-table td{padding:var(--space-3) 0;border-top:1px solid rgba(208,214,243,.5)}.app-chip{display:inline-flex;align-items:center;padding:.35rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600}.app-chip--success{background:#64c28826;color:#2f9e44}.app-chip--warning{background:#f7c9482e;color:#8d6a18}.app-chip--danger{background:#f76a6a2e;color:#c92a2a}.app-empty-state{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-background);text-align:center;color:var(--color-text-muted)}.app-secondary-text{color:var(--color-text-muted);font-size:.9rem}.error-text{margin-top:var(--space-2);font-size:.85rem;color:var(--color-danger, #c92a2a)}.input-wrapper.has-error{box-shadow:0 0 0 2px #f76a6a47;border-radius:var(--radius-md)}@media(max-width:768px){.app-shell{grid-template-columns:1fr}.app-brand__text,.app-nav__label{display:none}.app-sidebar{position:fixed;inset:0 auto 0 0;width:min(240px,70%);transform:translate(-100%);transition:transform .3s ease;z-index:1000}.app-shell--collapsed .app-sidebar{transform:translate(0)}.app-main{margin-left:0}.app-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.app-header__actions{width:100%;flex-wrap:wrap}.app-header__search{flex:1}.app-header__search input{min-width:unset}.app-header__user{width:100%;justify-content:space-between}}@media(max-width:767px){.app-shell{display:none}}.request-peer-review-modal{max-width:780px}.request-peer-review-modal .modal-title h2{font-weight:400;font-size:20px}
