:root{--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--background: hsl(0 0% 100%);--foreground: hsl(0 0% 3.9%);--card: hsl(0 0% 100%);--card-foreground: hsl(0 0% 3.9%);--popover: hsl(0 0% 100%);--popover-foreground: hsl(0 0% 3.9%);--primary: hsl(0 0% 9%);--primary-foreground: hsl(0 0% 98%);--secondary: hsl(0 0% 96.1%);--secondary-foreground: hsl(0 0% 9%);--muted: hsl(0 0% 96.1%);--muted-foreground: hsl(0 0% 45.1%);--accent: hsl(0 0% 96.1%);--accent-foreground: hsl(0 0% 9%);--destructive: hsl(0 84.2% 60.2%);--destructive-foreground: hsl(0 0% 98%);--border: hsl(0 0% 89.8%);--input: hsl(0 0% 89.8%);--ring: hsl(0 0% 3.9%);--radius: .5rem;--sidebar-bg: hsl(0 0% 9%);--sidebar-fg: hsl(0 0% 98%);--sidebar-active-bg: hsl(0 0% 15%);--sidebar-hover-bg: hsl(0 0% 20%);--sidebar-subitem-fg: hsl(0 0% 80%);--sidebar-subitem-active-fg: hsl(0 0% 98%);--header-height: 60px;--info-color: hsl(200, 70%, 50%);--success-color: hsl(120, 60%, 45%);--warning-color: hsl(45, 100%, 50%)}.dark{--background: hsl(0 0% 3.9%);--foreground: hsl(0 0% 98%);--card: hsl(0 0% 3.9%);--card-foreground: hsl(0 0% 98%);--popover: hsl(0 0% 3.9%);--popover-foreground: hsl(0 0% 98%);--primary: hsl(0 0% 98%);--primary-foreground: hsl(0 0% 9%);--secondary: hsl(0 0% 14.9%);--secondary-foreground: hsl(0 0% 98%);--muted: hsl(0 0% 14.9%);--muted-foreground: hsl(0 0% 63.9%);--accent: hsl(0 0% 14.9%);--accent-foreground: hsl(0 0% 98%);--destructive: hsl(0 62.8% 30.6%);--destructive-foreground: hsl(0 0% 98%);--border: hsl(0 0% 14.9%);--input: hsl(0 0% 14.9%);--ring: hsl(0 0% 83.1%);--sidebar-bg: hsl(0 0% 12%);--sidebar-fg: hsl(0 0% 98%);--sidebar-active-bg: hsl(0 0% 20%);--sidebar-hover-bg: hsl(0 0% 25%);--sidebar-subitem-fg: hsl(0 0% 70%);--sidebar-subitem-active-fg: hsl(0 0% 98%);--info-color: hsl(200, 70%, 60%);--success-color: hsl(120, 60%, 55%);--warning-color: hsl(45, 100%, 60%)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--background);color:var(--foreground);line-height:1.5;min-height:100vh;display:flex;flex-direction:column;transition:background-color .3s,color .3s}#root{display:flex;flex-grow:1}.app-container{display:flex;width:100%;height:100vh;overflow:hidden}.sidebar{width:260px;background-color:var(--sidebar-bg);color:var(--sidebar-fg);padding:1rem;display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow-y:auto}.sidebar-header{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;padding:.5rem 0;text-align:center}.sidebar nav ul{list-style:none}.sidebar nav li a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);color:var(--sidebar-fg);text-decoration:none;transition:background-color .2s,color .2s;margin-bottom:.25rem;position:relative}.sidebar nav li a:hover{background-color:var(--sidebar-hover-bg)}.sidebar nav li a.active{background-color:var(--sidebar-active-bg);font-weight:500;color:var(--sidebar-fg)}.sidebar nav li.parent-menu-item>a.active{background-color:var(--sidebar-active-bg)}.sidebar-icon{display:inline-block;width:1.25em;text-align:center;flex-shrink:0}.disclosure-arrow{margin-left:auto;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e0e0e0'%3E%3Cpath d='M6 4l4 4-4 4V4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;transition:transform .2s ease-in-out}.dark .disclosure-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23cccccc'%3E%3Cpath d='M6 4l4 4-4 4V4z'/%3E%3C/svg%3E")}.sidebar nav li a.expanded .disclosure-arrow{transform:rotate(90deg)}.submenu{list-style:none;padding-left:1rem;margin-top:.25rem;margin-bottom:.25rem}.submenu li a{padding:.6rem 1rem .6rem .75rem;color:var(--sidebar-subitem-fg);font-size:.9em}.submenu li a:hover{color:var(--sidebar-fg);background-color:var(--sidebar-hover-bg)}.submenu li a.active{color:var(--sidebar-subitem-active-fg);background-color:var(--sidebar-active-bg);font-weight:500}.submenu li a .sidebar-icon{width:1.1em}.main-content{flex-grow:1;padding:2rem;overflow-y:auto;height:100%;background-color:var(--background)}.page-header{font-size:2rem;font-weight:700;margin-bottom:1.5rem;color:var(--foreground);border-bottom:1px solid var(--border);padding-bottom:1rem}.card{background-color:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.dark .card{box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.card-header{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.form-group{margin-bottom:1.5rem}.form-group label,.form-group .label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--foreground)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=date],.form-group input[type=checkbox],.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--input);background-color:var(--background);color:var(--foreground);border-radius:var(--radius);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group input[type=date]:focus,.form-group input[type=checkbox]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--ring)}.form-group textarea{min-height:100px;resize:vertical}.form-group input.invalid,.form-group textarea.invalid,.form-group select.invalid,.checkbox-group.invalid .checkbox-label{border-color:var(--destructive);box-shadow:0 0 0 1px var(--destructive)}.checkbox-group.invalid{border:1px solid var(--destructive)!important;padding:.5rem;border-radius:var(--radius)}.error-text{color:var(--destructive);font-size:.875rem;margin-top:.25rem;display:block}.status-text-info{color:var(--info-color)}.status-text-success{color:var(--success-color)}.status-text-warning{color:var(--warning-color)}.status-new-enrollment{color:var(--muted-foreground)}.status-requested{color:var(--info-color)}.status-accepted{color:var(--success-color);font-weight:700}.status-rejected{color:var(--destructive);font-weight:700}.status-submit-failed{color:var(--destructive)}.enrollment-status-card p{margin-bottom:.5rem;line-height:1.4}.enrollment-status-card p:last-child{margin-bottom:0}.enrollment-status-card strong{color:var(--foreground)}.enrollment-status-card .error-text{margin-top:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:var(--radius);font-weight:500;font-size:.9375rem;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,opacity .2s;border:1px solid transparent}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background-color:var(--secondary);color:var(--secondary-foreground);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background-color:var(--accent)}.btn-destructive{background-color:var(--destructive);color:var(--destructive-foreground)}.btn-destructive:hover:not(:disabled){opacity:.9}.flex-container{display:flex;gap:1rem;align-items:center}.checkbox-container{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.checkbox-container input[type=checkbox]{width:1.25em;height:1.25em;accent-color:var(--primary);flex-shrink:0}.checkbox-container label{margin-bottom:0;font-weight:400}.settings-checkbox-group{display:flex;align-items:center;gap:.5rem}.settings-checkbox-group input[type=checkbox]{width:1.25em;height:1.25em;accent-color:var(--primary)}.settings-checkbox-group label{margin-bottom:0}.loading-message,.error-message{text-align:center;padding:2rem;font-style:italic;color:var(--muted-foreground)}.greeting-text{font-size:1.2rem;line-height:1.6;white-space:pre-wrap}.grounding-sources{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.grounding-sources h3{font-size:.9rem;margin-bottom:.5rem;color:var(--muted-foreground);text-transform:uppercase}.grounding-sources ul{list-style:none;padding-left:0}.grounding-sources li{margin-bottom:.25rem}.grounding-sources li a{font-size:.85rem;color:var(--primary);text-decoration:none}.grounding-sources li a:hover{text-decoration:underline}.spinner{border:4px solid var(--secondary);border-top:4px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:20px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}
