@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-teal:#348d82;--color-teal-dark:#2a7169;--color-teal-light:#4aa89c;--icon-teal-darker:#236156;--icon-teal-dark:#2d6b63;--icon-teal-base:#348d82;--icon-teal-light:#4db8ac;--icon-teal-lighter:#5ec9bc;--color-star-yellow:#fbbf24;--color-white:#fff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#1f2223;--color-lime:#e0ff82;--color-success:#10b981;--color-success-light:#10b98110;--color-error:#ef4444;--color-error-light:#ef444410;--color-warning:#f59e0b;--color-warning-light:#f59e0b10;--color-info:#3b82f6;--color-info-light:#3b82f610;--bg-primary:var(--color-white);--bg-secondary:var(--color-gray-50);--bg-tertiary:var(--color-gray-100);--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-600);--text-tertiary:var(--color-gray-500);--border-light:var(--color-gray-200);--border-medium:var(--color-gray-300);--border-dark:var(--color-gray-400);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--font-sans:"Inter", -apple-system, blinkmacsystemfont, "Segoe UI", "Roboto", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}*{box-sizing:border-box;margin:0;padding:0}html{width:100%;height:100%}body{width:100%;height:100%;font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}#root{width:100%;height:100%}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.2}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--text-secondary)}a{color:var(--color-teal);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-teal-dark)}:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.app{background-color:var(--bg-secondary);width:100%;height:100%}.placeholder-page{padding:var(--spacing-3xl);text-align:center}.placeholder-page h3{margin-bottom:var(--spacing-md);color:var(--text-primary)}.placeholder-page p{color:var(--text-secondary)}.btn{gap:var(--spacing-sm);font-family:var(--font-sans);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.btn-md{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.btn-lg{padding:var(--spacing-lg) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-primary{color:var(--color-white);background-color:var(--color-teal);border-color:var(--color-teal)}.btn-primary:hover:not(:disabled){background-color:var(--color-teal-dark);border-color:var(--color-teal-dark)}.btn-primary:active:not(:disabled){background-color:var(--color-teal-dark);transform:translateY(1px)}.btn-secondary{color:var(--color-white);background-color:var(--color-gray-600);border-color:var(--color-gray-600)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-700);border-color:var(--color-gray-700)}.btn-outline{color:var(--color-teal);border-color:var(--color-teal);background-color:#0000}.btn-outline:hover:not(:disabled){color:var(--color-white);background-color:var(--color-teal)}.btn-ghost{color:var(--text-secondary);background-color:#0000;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background-color:var(--bg-tertiary)}.btn-full{width:100%}.card{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card-padding-sm{padding:var(--spacing-md)}.card-padding-md{padding:var(--spacing-lg)}.card-padding-lg{padding:var(--spacing-xl)}.card-clickable{cursor:pointer}.card-hoverable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-clickable:active{transform:translateY(0)}.login-page{min-height:100vh;padding:var(--spacing-xl);background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);justify-content:center;align-items:center;display:flex}.login-container{width:100%;max-width:420px}.login-card{width:100%}.login-header{margin-bottom:var(--spacing-2xl);text-align:center}.login-header h1{margin-bottom:var(--spacing-sm);font-size:var(--font-size-3xl)}.login-header p{font-size:var(--font-size-base);color:var(--text-secondary)}.login-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.form-group input{width:100%;padding:var(--spacing-md);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-lg);transition:all var(--transition-base)}.form-group input:focus{border-color:var(--color-teal);outline:none;box-shadow:0 0 0 3px #348d821a}.form-group input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.form-group input::placeholder{color:var(--text-tertiary)}@media (max-width:480px){.login-page{padding:var(--spacing-md)}.login-header h1{font-size:var(--font-size-2xl)}}.landing-page{background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.landing-container{max-width:800px;padding:var(--spacing-3xl) var(--spacing-xl);margin:0 auto}.landing-content{text-align:center}.landing-title{margin-bottom:var(--spacing-lg);font-size:var(--font-size-4xl);color:var(--text-primary);font-weight:700}.landing-subtitle{margin-bottom:var(--spacing-lg);font-size:var(--font-size-2xl);color:var(--text-primary);font-weight:500}.landing-description{margin-bottom:var(--spacing-2xl);font-size:var(--font-size-lg);color:var(--text-secondary);line-height:1.6}.landing-actions{gap:var(--spacing-md);justify-content:center;align-items:center;display:flex}@media (max-width:768px){.landing-title{font-size:var(--font-size-3xl)}.landing-subtitle{font-size:var(--font-size-xl)}.landing-description{font-size:var(--font-size-base)}.landing-actions{flex-direction:column;width:100%}.landing-actions button{width:100%}}.loading-spinner-container{justify-content:center;align-items:center;display:inline-flex}.loading-spinner-container.centered{z-index:var(--z-modal);background-color:#fffc;position:fixed;inset:0}.loading-spinner{display:inline-block}.loading-spinner .spinner{border:3px solid var(--border-light);border-top-color:var(--color-teal);border-radius:50%;animation:.8s linear infinite spin}.loading-spinner.sm .spinner{border-width:2px;width:20px;height:20px}.loading-spinner.md .spinner{border-width:3px;width:40px;height:40px}.loading-spinner.lg .spinner{border-width:4px;width:60px;height:60px}@keyframes spin{to{transform:rotate(360deg)}}.card-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.card-icon-sm{width:32px;height:32px}.card-icon-sm svg{width:16px;height:16px}.card-icon-md{width:48px;height:48px}.card-icon-md svg{width:24px;height:24px}.card-icon-lg{width:64px;height:64px}.card-icon-lg svg{width:32px;height:32px}.card-icon-teal-darker{background-color:var(--icon-teal-darker);color:#fff}.card-icon-teal-dark{background-color:var(--icon-teal-dark);color:#fff}.card-icon-teal-base{background-color:var(--icon-teal-base);color:#fff}.card-icon-teal-light{background-color:var(--icon-teal-light);color:#fff}.card-icon-teal-lighter{background-color:var(--icon-teal-lighter);color:#fff}.badge{top:var(--spacing-md);right:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-lg);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;z-index:1;font-weight:600;position:absolute}.badge-coming-soon{background-color:var(--bg-tertiary);color:var(--text-secondary)}.badge-active{background-color:var(--bg-primary);color:#fff}.badge-new{background-color:var(--color-lime);color:var(--text-primary)}.metric-row{padding:var(--spacing-sm) 0;border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.metric-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.metric-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.metric-blur{filter:blur(4px);-webkit-user-select:none;user-select:none}.star-rating{align-items:center;gap:var(--spacing-sm);margin:var(--spacing-lg) 0;display:flex}.stars{gap:4px;display:flex}.star{width:20px;height:20px}.star-filled{color:var(--color-star-yellow)}.star-empty{color:var(--border-light)}.rating-number{font-size:var(--font-size-2xl);color:var(--text-primary);margin-left:var(--spacing-xs);font-weight:700}.program-status{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-md);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border:1px solid;font-weight:600}.program-status.status-created{color:var(--color-gray-800);background-color:var(--color-gray-300)}.program-status.status-registration{color:var(--color-info);background-color:rgb(var(--color-info) / .1)}.program-status.status-closed-registration{color:var(--color-error);background-color:var(--color-error-light)}.program-status.status-matchmaking{color:var(--color-warning);background-color:var(--color-warning-light)}.program-status.status-matched{color:var(--color-success);background-color:var(--color-success-light)}.dashboard{width:100%;padding:var(--spacing-xl)}.dashboard-error{padding:var(--spacing-xl);color:var(--color-error);text-align:center}.dashboard-grid{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:1200px;display:grid}.dashboard-card{min-height:200px;transition:all var(--transition-base);flex-direction:column;display:flex;position:relative}.dashboard-card .card-icon{margin-bottom:var(--spacing-md)}.dashboard-card h3{margin-bottom:var(--spacing-sm);font-size:var(--font-size-xl);color:var(--text-primary)}.dashboard-card .card-description{margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-secondary);flex:1}.dashboard-card .card-action{font-size:var(--font-size-sm);color:var(--color-teal);margin-top:auto;font-weight:500}.stats-grid{gap:var(--spacing-lg);margin-top:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}.stat-item{text-align:center}.stat-value{margin-bottom:var(--spacing-xs);font-size:var(--font-size-4xl);color:var(--color-teal);font-weight:700}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.widget-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:flex-start;display:flex}.large-metric{color:var(--text-primary);font-size:2.5rem;font-weight:700}.dashboard-programs-section{margin-top:var(--spacing-3xl)}.dashboard-programs-header{margin-bottom:var(--spacing-xl);flex-direction:row;justify-content:space-between;display:flex}.dashboard-empty-message{padding:var(--spacing-xl);font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center}.dashboard-programs-grid{gap:var(--spacing-xl);grid-template-columns:repeat(3,minmax(320px,1fr));max-width:1400px;display:grid}@media (max-width:768px){.dashboard{padding:var(--spacing-lg)}.dashboard-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.dashboard-programs-grid{grid-template-columns:1fr}}.programs{width:100%;padding:var(--spacing-xl)}.programs-error{padding:var(--spacing-xl);color:var(--color-error);text-align:center}.programs-header{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);justify-content:space-between;align-items:flex-start;display:flex}.programs-header h2{margin-bottom:var(--spacing-xs)}.programs-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.programs-empty{padding:var(--spacing-3xl) var(--spacing-xl);text-align:center;background-color:var(--bg-primary);border:2px dashed var(--border-medium);border-radius:var(--radius-xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.programs-empty .empty-icon{margin-bottom:var(--spacing-lg);opacity:.5;font-size:4rem}.programs-empty h3{margin-bottom:var(--spacing-sm);color:var(--text-primary)}.programs-empty p{margin-bottom:var(--spacing-xl);color:var(--text-secondary)}.programs-grid{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));max-width:1400px;display:grid}.program-card{gap:var(--spacing-md);flex-direction:column;min-height:200px;display:flex}.program-header{gap:var(--spacing-md);justify-content:space-between;align-items:flex-start;display:flex}.program-header h3{font-size:var(--font-size-xl);color:var(--text-primary);flex:1;margin:0}.program-description{font-size:var(--font-size-sm);color:var(--text-secondary);flex:1;line-height:1.6}.program-stats{gap:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-light);margin-top:auto;display:flex}.program-stat{gap:var(--spacing-xs);flex-direction:column;display:flex}.program-stat .stat-value{font-size:var(--font-size-xl);color:var(--color-teal);font-weight:700}.program-stat .stat-label{font-size:var(--font-size-xs);color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase}@media (max-width:768px){.programs{padding:var(--spacing-lg)}.programs-header{flex-direction:column;align-items:stretch}.programs-grid{grid-template-columns:1fr}}.tabs-container{width:100%}.tabs-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--bg-secondary);display:flex}.tab-button{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;font-weight:600;transition:all .2s;transform:translateY(2px)}.tab-button:hover{color:var(--color-teal)}.tab-button.active{color:var(--color-teal);border-bottom-color:var(--color-teal)}.tabs-content{gap:var(--spacing-xl);flex-direction:column;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.tabs-header{overflow-x:auto}.tab-button{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);flex-shrink:0}}.program-detail{width:100%;padding:var(--spacing-xl)}.back-button{margin-bottom:var(--spacing-xl)}.program-detail-header{margin-bottom:var(--spacing-2xl)}.header-content{gap:var(--spacing-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.header-title-section{gap:var(--spacing-lg);flex-wrap:wrap;align-items:center;display:flex}.state-transition-buttons{gap:var(--spacing-sm);align-items:center;display:flex}.state-transition-buttons button{white-space:nowrap}.header-content h1{font-size:var(--font-size-3xl);margin:0}.program-detail-content{gap:var(--spacing-xl);flex-direction:column;max-width:1200px;display:flex}.program-detail-content h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-xl);color:var(--text-primary)}.program-description{font-size:var(--font-size-base);color:var(--text-secondary);margin:0;line-height:1.6}.detail-row{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--bg-secondary);justify-content:space-between;align-items:center;display:flex}.detail-row:last-child{border-bottom:none}.detail-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600}.detail-value{font-family:SF Mono,Monaco,Courier New,monospace;font-size:var(--font-size-sm);color:var(--text-primary)}.config-description{margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.config-fields-list{gap:var(--spacing-md);flex-direction:column;display:flex}.field-display-readonly{padding:var(--spacing-md);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.field-display-readonly .field-display-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.field-display-readonly h4{font-size:var(--font-size-base);color:var(--text-primary);margin:0;font-weight:600}.field-badges{gap:var(--spacing-xs);align-items:center;display:flex}.field-type-badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-secondary);background-color:var(--bg-tertiary);border-radius:var(--radius-sm);letter-spacing:.05em;text-transform:uppercase;font-weight:500}.field-weight-badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm);background-color:#348d821a;font-weight:500}.field-weight-badge.weight-low{color:var(--color-teal);background-color:#348d821a}.field-weight-badge.weight-medium{color:var(--color-info);background-color:#3b82f61a}.field-weight-badge.weight-highest{color:var(--color-error);background-color:#ef44441a}.field-display-readonly .field-description{margin:var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.field-details{gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-direction:column;display:flex}.field-detail-item{padding:var(--spacing-xs) 0;justify-content:space-between;align-items:center;display:flex}.field-detail-item .field-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.field-detail-item .field-value{font-size:var(--font-size-sm);color:var(--text-primary)}.program-not-found{gap:var(--spacing-lg);padding:var(--spacing-3xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.program-not-found h2{margin-bottom:var(--spacing-md);color:var(--text-primary)}.users-pending-info{padding:var(--spacing-lg);text-align:center}.users-pending-info h3{margin-bottom:var(--spacing-md)}.users-pending-info .config-description{margin:0}.matching-rules-table{width:100%;font-size:var(--font-size-sm);border-collapse:collapse}.matching-rules-table th{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);text-align:left;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-weight:600}.matching-rules-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.matching-rules-table th.sortable:hover{background-color:var(--bg-tertiary)}.sort-icon{color:var(--text-tertiary);margin-left:var(--spacing-xs);vertical-align:middle;align-items:center;transition:color .2s;display:inline-flex}.sort-icon svg{vertical-align:middle;width:16px;height:16px}.sort-icon.active{color:var(--text-primary)}.matching-rules-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);border-bottom:1px solid var(--bg-secondary)}.matching-rules-table tbody tr:last-child td{border-bottom:none}.matching-rules-table tbody tr:hover{background-color:var(--bg-secondary)}.weight-badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm);background-color:#348d821a;font-weight:500;display:inline-block}.weight-badge.weight-low{color:var(--color-teal);background-color:#348d821a}.weight-badge.weight-medium{color:var(--color-info);background-color:#3b82f61a}.weight-badge.weight-highest{color:var(--color-error);background-color:#ef44441a}.users-table{width:100%;font-size:var(--font-size-sm);border-collapse:collapse;margin-top:var(--spacing-lg)}.users-table th{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);text-align:left;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-weight:600}.users-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.users-table th.sortable:hover{background-color:var(--bg-tertiary)}.users-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);border-bottom:1px solid var(--bg-secondary)}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background-color:var(--bg-secondary)}.expand-cell{text-align:center;width:40px;padding:var(--spacing-sm)!important}.expand-button{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.expand-button:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.expand-button svg{width:16px;height:16px}.actions-cell{text-align:right;width:120px}.delete-user-button{color:var(--color-error)!important;border-color:var(--color-error)!important}.delete-user-button:hover,.delete-user-button:active{color:var(--color-error)!important;border-color:var(--color-error)!important;background-color:#ef44441a!important}.role-badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm);letter-spacing:.05em;text-transform:uppercase;font-weight:500;display:inline-block}.role-badge.role-mentor{color:var(--color-info);background-color:#3b82f61a}.role-badge.role-mentee{color:var(--color-teal);background-color:#348d821a}.role-badge.role-admin{color:var(--color-error);background-color:#ef44441a}.expanded-row{background-color:var(--bg-secondary)}.expanded-row td{padding:var(--spacing-md) var(--spacing-lg)!important}.program-response-details{padding:var(--spacing-md);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.program-response-details h4{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.response-item{gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--bg-secondary);align-items:baseline;display:flex}.response-item:last-child{border-bottom:none}.response-key{min-width:150px;font-size:var(--font-size-sm);color:var(--text-secondary);flex-shrink:0;font-weight:500}.response-value{font-size:var(--font-size-sm);color:var(--text-primary)}@media (max-width:768px){.program-detail{padding:var(--spacing-lg)}.header-content{flex-direction:column;align-items:flex-start}.header-content h1{font-size:var(--font-size-2xl)}.state-transition-buttons{flex-direction:column;width:100%}.state-transition-buttons button{width:100%}.users-table{font-size:var(--font-size-xs)}.users-table th,.users-table td{padding:var(--spacing-xs) var(--spacing-sm)}.response-item{gap:var(--spacing-xs);flex-direction:column}.response-key{min-width:unset}}.card-header{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.card-header h3{flex:1;margin:0}.fold-button{color:var(--text-secondary,#666);border-radius:var(--radius-md,8px);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .3s;display:flex;position:relative}.fold-button:before{border-radius:var(--radius-md,8px);content:"";transition:background-color .3s;position:absolute;inset:-8px}.fold-button:hover:before{background-color:var(--bg-secondary,#f5f5f5)}.fold-button:hover{color:var(--text-primary,#333)}.fold-button svg{z-index:1;transition:transform .3s;position:relative}.fold-button.open svg{transform:rotate(0)}.fold-button.closed svg{transform:rotate(-90deg)}.card-content{transition:all .3s ease-in-out;overflow:hidden}.card-content.open{max-height:9999px;margin-top:var(--spacing-md,16px);opacity:1}.card-content.closed{opacity:0;max-height:0;margin-top:0}.confirm-dialog-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;animation:.15s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.confirm-dialog{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:400px;max-width:500px;animation:.2s ease-out slideUp;box-shadow:0 10px 25px #00000026,0 20px 48px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.confirm-dialog-header h3{font-size:var(--font-size-lg);color:var(--text-primary);margin:0;font-weight:600}.confirm-dialog-body{padding:var(--spacing-lg)}.confirm-dialog-body p{font-size:var(--font-size-base);color:var(--text-secondary);margin:0;line-height:1.5}.confirm-dialog-actions{gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--border-color);justify-content:flex-end;display:flex}.confirm-dialog-confirm-button{color:var(--color-error)!important;border-color:var(--color-error)!important}.confirm-dialog-confirm-button:hover,.confirm-dialog-confirm-button:active{color:var(--color-error)!important;border-color:var(--color-error)!important;background-color:#ef44441a!important}@media (max-width:768px){.confirm-dialog{min-width:unset;width:90%;max-width:90%}}.registration-container{min-height:100vh;padding:var(--spacing-xl);background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);justify-content:center;align-items:center;display:flex}.registration-card{width:100%;max-width:600px;padding:var(--spacing-2xl);background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.registration-card h1{margin-bottom:var(--spacing-sm);font-size:var(--font-size-3xl);text-align:center}.registration-subtitle{margin-bottom:var(--spacing-2xl);font-size:var(--font-size-base);color:var(--text-secondary);text-align:center;text-transform:capitalize}.registration-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.form-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.form-group label{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.field-description{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:400;display:block}.field-hint{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic;font-weight:400;display:block}.form-group input[type=text],.form-group input[type=number]{width:100%;padding:var(--spacing-md);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-lg);transition:all var(--transition-base)}.form-group input[type=text]:focus,.form-group input[type=number]:focus{border-color:var(--color-teal);outline:none;box-shadow:0 0 0 3px #348d821a}.form-group input[type=text]:disabled,.form-group input[type=number]:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.radio-group,.checkbox-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.radio-option,.checkbox-option{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);align-items:center;font-weight:400;display:flex}.radio-option:hover,.checkbox-option:hover{background-color:var(--bg-tertiary);border-color:var(--border-medium)}.radio-option input[type=radio],.checkbox-option input[type=checkbox]{cursor:pointer;width:18px;height:18px}.radio-option span,.checkbox-option span{font-size:var(--font-size-base);color:var(--text-primary)}.error-message{margin-bottom:var(--spacing-md);padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md);background-color:#ef44441a}.success-message{padding:var(--spacing-2xl);text-align:center;border:1px solid var(--color-success);border-radius:var(--radius-xl);background-color:#22c55e1a}.success-message h2{margin-bottom:var(--spacing-md);font-size:var(--font-size-2xl);color:var(--color-success)}.success-message p{font-size:var(--font-size-base);color:var(--text-primary)}@media (max-width:768px){.registration-container{padding:var(--spacing-md)}.registration-card{padding:var(--spacing-xl)}.registration-card h1{font-size:var(--font-size-2xl)}}@media (max-width:480px){.registration-container{padding:var(--spacing-sm)}.registration-card{padding:var(--spacing-lg)}.registration-card h1{font-size:var(--font-size-xl)}.registration-subtitle{font-size:var(--font-size-sm)}}.users{width:100%;padding:var(--spacing-xl)}.users-header{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);justify-content:space-between;align-items:flex-start;display:flex}.users-header h2{margin-bottom:var(--spacing-xs)}.users-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.users-placeholder{text-align:center;max-width:600px;padding:var(--spacing-3xl)!important}.users-placeholder .placeholder-icon{margin-bottom:var(--spacing-lg);opacity:.5;font-size:4rem}.users-placeholder h3{margin-bottom:var(--spacing-md);color:var(--text-primary)}.users-placeholder p{margin-bottom:var(--spacing-xl);color:var(--text-secondary);line-height:1.6}.placeholder-features{gap:var(--spacing-sm);text-align:left;flex-direction:column;align-items:flex-start;max-width:300px;margin:0 auto;display:flex}.feature-item{gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);align-items:center;display:flex}@media (max-width:768px){.users{padding:var(--spacing-lg)}.users-placeholder{padding:var(--spacing-xl)!important}}.sidebar{z-index:var(--z-sticky);width:240px;height:100vh;color:var(--text-primary);background-color:var(--bg-primary);border-right:1px solid var(--border-light);transition:width var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.closed{width:80px}.sidebar-header{padding:var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid var(--border-light)}.logo-container{gap:var(--spacing-md);transition:justify-content var(--transition-base);align-items:center;display:flex}.logo-container .logo{flex-shrink:0;width:40px;height:auto}.sidebar.closed .logo-container{justify-content:center}.brand-name{font-size:var(--font-size-xl);color:var(--text-primary);white-space:nowrap;font-weight:600}.sidebar-toggle{top:var(--spacing-xl);right:calc(var(--spacing-lg) * -.5);z-index:10;width:28px;height:28px;color:var(--text-secondary);background-color:var(--bg-primary);border:1px solid var(--border-medium);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.sidebar-toggle:hover{color:var(--color-teal);background-color:var(--bg-tertiary);border-color:var(--color-teal);box-shadow:var(--shadow-md)}.sidebar-toggle svg{width:20px;height:20px}.sidebar-nav{padding:var(--spacing-lg) 0;flex:1;overflow-y:auto}.sidebar-link{gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;align-items:center;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-link:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.sidebar-link.active{color:var(--color-teal);background-color:var(--bg-tertiary)}.sidebar-link.active:before{background-color:var(--color-teal);content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.sidebar-link .icon{flex-shrink:0;width:1.25rem;height:auto}.sidebar-link .text{white-space:nowrap;overflow:hidden}.sidebar.closed .sidebar-link .text{display:none}.logout-button{color:var(--text-secondary)}.logout-button:hover{color:var(--color-error);background-color:#ef44441a}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-sm)}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.user-info{width:100%;position:relative}.user-info-button{gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);color:var(--text-secondary);border:none;border-top:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-base);background:0 0;align-items:center;display:flex}.user-info-button:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.user-info-avatar{width:40px;height:40px;font-size:var(--font-size-base);color:var(--color-white);background:linear-gradient(135deg, var(--color-teal), var(--color-teal-dark));border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.user-info-details{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex;overflow:hidden}.user-info-name{font-size:var(--font-size-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.user-info-email{font-size:var(--font-size-xs);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-info-chevron{color:var(--text-tertiary);transition:color var(--transition-fast);flex-shrink:0}.user-info-button:hover .user-info-chevron{color:var(--text-secondary)}.user-info-popup{z-index:var(--z-popover);min-width:280px;padding:var(--spacing-md);background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:.2s fadeInUp;position:fixed}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.user-info-popup-header{gap:var(--spacing-md);margin-bottom:var(--spacing-md);align-items:center;display:flex}.user-info-separator{height:1px;margin:var(--spacing-md) 0;background-color:var(--border-light)}.user-info-actions{gap:var(--spacing-sm);flex-direction:column;display:flex}.user-info-action-button{gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary);text-align:left;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;font-weight:500;display:flex}.user-info-action-button:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.user-info-action-button.logout:hover{color:var(--color-error);background-color:var(--color-error-light)}.language-selector{gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);flex-direction:column;display:flex}.language-selector-label{margin-bottom:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.language-option{gap:var(--spacing-sm);padding:var(--spacing-xs) 0;cursor:pointer;align-items:center;display:flex}.language-option input[type=radio]{cursor:pointer;accent-color:var(--color-teal)}.language-name{font-size:var(--font-size-sm);color:var(--text-secondary)}@media (max-width:768px){.user-info-popup{width:calc(100vw - var(--spacing-xl));min-width:auto;right:var(--spacing-md)!important;left:var(--spacing-md)!important}}.layout{background-color:var(--bg-secondary);width:100vw;height:100vh;display:flex;overflow:hidden}.page{height:100%;transition:margin-left var(--transition-base);flex-direction:column;flex:1;margin-left:240px;display:flex;overflow:hidden}.page.sidebar-closed{margin-left:80px}.main-content{flex:1;overflow:hidden auto}
