.app-shell{display:flex;height:calc(100vh - var(--size-topbar-height));min-height:0;gap:0}.app-content{flex:1;min-height:0;height:100%;overflow-y:auto;background:var(--color-bg-tertiary);padding:var(--space-2xl);box-sizing:border-box}.page-layout{display:flex;min-height:100%;width:100%;align-items:stretch;gap:var(--space-lg)}.main-content{flex:1;overflow:visible;min-width:0}@media(max-width:768px){.app-content{padding:var(--space-lg);overflow-x:hidden}.page-layout{flex-direction:column}}.view-container{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;height:100%}.view-wrapper{display:flex;flex-direction:column;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;padding:0;margin:0}.view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl);flex-shrink:0;gap:var(--space-xl)}.view-title{flex:1}.view-title h1{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.view-actions{display:flex;gap:var(--space-lg);flex-shrink:0}.view-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:var(--space-sm);padding-top:var(--space-sm);margin-top:calc(-1 * var(--space-sm));scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.view-content::-webkit-scrollbar{width:6px}.view-content::-webkit-scrollbar-track{background:transparent}.view-content::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}@media(max-width:768px){.view-header{flex-wrap:wrap;gap:var(--space-md)}.view-title h1{font-size:var(--font-size-xl)}.view-actions{flex-shrink:1;gap:var(--space-sm)}.view-btn{padding:6px var(--space-md);font-size:var(--font-size-xs)}}.grid{display:grid;gap:var(--space-xl);width:100%}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-1{grid-template-columns:1fr}@media(max-width:1400px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-3,.grid-2{grid-template-columns:1fr}}.section{background:var(--color-bg-primary);border:1px solid var(--color-gray-300);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-md);min-height:fit-content;min-height:100%}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);gap:var(--space-lg)}.section-header h2{margin:0;font-size:1.2rem;font-weight:var(--font-weight-semibold);flex:1}.section-content{margin-top:var(--space-lg)}.section-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.tag{background:var(--color-accent-light);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);display:inline-block;white-space:nowrap}.table-container{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-gray-300)}.data-table{width:100%;border-collapse:collapse;background:var(--color-bg-primary)}.data-table thead{background:var(--color-bg-secondary)}.data-table th{padding:var(--space-md) var(--space-lg);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border:1px solid var(--color-gray-200);background:var(--color-bg-secondary)}.data-table td{padding:var(--space-md) var(--space-lg);border:1px solid var(--color-gray-200);color:var(--color-text-primary);font-size:var(--font-size-sm)}.data-table tbody tr:hover{background:var(--color-gray-50)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-2xl);text-align:center;color:var(--color-text-secondary)}.empty-state p{margin:0;font-size:var(--font-size-base);line-height:var(--line-height-normal)}.sidebar{width:var(--size-sidebar-width);height:100%;min-height:100%;background-color:var(--color-bg-sidebar);display:flex;flex-direction:column;padding-top:var(--space-lg);flex-shrink:0}.nav-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;display:flex;align-items:center;gap:var(--space-sm);text-align:left;color:var(--color-text-inverse);padding:20px var(--space-lg);width:100%;cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);transition:background-color var(--transition-base);border-left:4px solid transparent}@media(max-width:768px){.nav-link{padding:16px var(--space-lg);font-size:var(--font-size-base)}}.nav-link-icon{width:18px;height:18px;flex-shrink:0;filter:brightness(0) invert(1);opacity:.92}.nav-link-label{line-height:1}.nav-link:hover{background-color:#ffffff1f}.nav-link.active{background:#ffffff38;border-left-color:var(--color-highlight-gold)}.spacer{flex:1}@media(max-width:768px){.sidebar{position:fixed;top:var(--size-topbar-height);left:0;height:calc(100% - var(--size-topbar-height));transform:translate(-100%);transition:transform .25s ease;z-index:200}.sidebar.open{transform:translate(0)}}.sidebar-backdrop{display:none}@media(max-width:768px){.sidebar-backdrop{display:block;position:fixed;inset:var(--size-topbar-height) 0 0 0;background:#0006;z-index:199}}.course-tab-group{position:relative}.course-popout{position:fixed;left:calc(var(--size-sidebar-width) + var(--space-sm));top:calc(var(--size-topbar-height) + var(--space-md));bottom:var(--space-md);width:320px;overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg-primary);border-top:1px solid var(--color-gray-300);border-right:1px solid var(--color-gray-300);border-bottom:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:30}.course-popout-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--color-gray-200);background:var(--color-bg-secondary)}.course-popout-create-btn{padding:4px var(--space-sm)}.course-popout-state{margin:0;padding:var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.course-popout-list{flex:1;overflow-y:auto;scrollbar-width:none}.course-popout-list::-webkit-scrollbar{width:0;height:0}.course-popout-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:0;background:transparent;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.course-popout-item:hover{background:var(--color-bg-secondary)}.course-popout-item.active{background:var(--color-accent-light)}.course-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0}.course-item-text{display:flex;flex-direction:column;gap:2px;min-width:0}.course-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-item-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.course-role-tag{display:inline-flex;align-items:center;width:fit-content;font-size:.65rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#0f172a;background:#dbeafe;border:1px solid #93c5fd;border-radius:9999px;padding:.08rem .35rem;margin:0}.course-role-tag-popout{margin-top:.25rem}.topbar{height:var(--size-topbar-height);background:var(--color-bg-topbar);display:flex;align-items:center;padding:0 var(--space-3xl);gap:var(--space-lg);box-shadow:var(--shadow-topbar);flex-shrink:0;border-bottom:4px solid var(--color-highlight-gold)}.brand-logo{height:56px;width:auto;filter:var(--brand-logo-filter)}.brand-text{display:flex;flex-direction:column;line-height:var(--line-height-tight)}.brand-name{color:var(--color-text-inverse);font-weight:var(--font-weight-bold);font-size:28px}.brand-sub{color:#ffffffd6;font-size:var(--font-size-sm)}.ksu-logo{height:56px;width:auto;margin-left:auto}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:none;cursor:pointer;padding:4px;min-width:48px;min-height:48px}.hamburger-line{display:block;width:24px;height:2px;background:#fff;border-radius:2px}@media(max-width:768px){.topbar{padding:0 var(--space-lg)}.hamburger{display:flex}.brand-logo{height:48px}.brand-name{font-size:24px}.ksu-logo{height:42px}}.feedback-popup-layer{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:center;padding:1rem;pointer-events:none;z-index:2000}.feedback-popup{min-width:min(44rem,calc(100vw - 2rem));max-width:min(44rem,calc(100vw - 2rem));padding:.85rem 1rem;border-radius:.6rem;color:#fff;font-size:.95rem;font-weight:600;text-align:center;box-shadow:0 .65rem 1.6rem #00000040;animation:feedback-slide-in .16s ease-out}.feedback-success{background:#1e7d3b;border:1px solid #155d2b}.feedback-error{background:#b8362f;border:1px solid #8c2823}@keyframes feedback-slide-in{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:640px){.feedback-popup{font-size:.9rem}}
