:root{--primary-blue: #4A90E2;--light-blue: #E3F2FD;--white: #FFFFFF;--black: #1A1A1A;--gray-50: #FAFAFA;--gray-100: #F5F5F5;--gray-200: #EEEEEE;--gray-300: #E0E0E0;--gray-400: #BDBDBD;--gray-500: #9E9E9E;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121;--success: #4CAF50;--warning: #FF9800;--error: #F44336;--shadow: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 2px 6px rgba(0, 0, 0, .15);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition: .2s ease;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-weight:var(--font-weight-normal);background:var(--white);color:var(--black);background-color:var(--white)}.App{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:var(--spacing-2xl) var(--spacing-lg);max-width:1200px;margin:0 auto;width:100%}.app-footer{background:var(--gray-50);border-top:1px solid var(--gray-200);color:var(--gray-600);text-align:center;padding:var(--spacing-lg);margin-top:auto;font-size:.875rem;font-weight:var(--font-weight-medium)}.navigation{background-color:var(--white);border-bottom:1px solid var(--border);padding:var(--space-lg) var(--space-xl);justify-content:space-between;position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--gray-200);color:var(--black);padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;box-shadow:var(--shadow)}.nav-brand a{color:inherit;text-decoration:none;font-size:1.25rem;font-weight:var(--font-weight-bold)}.nav-brand-link{display:flex;align-items:center;gap:var(--spacing-md);text-decoration:none;color:inherit;transition:opacity var(--transition)}.nav-brand-link:hover{opacity:.8}.nav-logo{width:40px;height:40px;border-radius:var(--radius);padding:var(--spacing-sm);background:var(--light-blue);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition)}.nav-logo:hover{background:var(--primary-blue)}.nav-logo img{width:100%;height:100%;object-fit:contain}.nav-brand-text{display:flex;flex-direction:column}.nav-brand-title{font-size:1.125rem;font-weight:var(--font-weight-bold);color:var(--black)}.nav-brand-subtitle{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--gray-600);text-transform:uppercase;letter-spacing:1px}.nav-links{display:flex;align-items:center;gap:var(--spacing-sm)}.nav-links a,.nav-links .external-link{color:var(--gray-700);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);font-size:.875rem;font-weight:var(--font-weight-medium);background:transparent;border:1px solid transparent;transition:all var(--transition)}.nav-links a:hover,.nav-links .external-link:hover{color:var(--primary-blue);background:var(--light-blue);border-color:var(--primary-blue)}.logout-button{background-color:var(--black);color:var(--white);border:1px solid var(--black);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:var(--font-weight-medium);transition:all var(--transition)}.logout-button:hover{background:var(--gray-800);border-color:var(--gray-800)}.user-info{background:var(--gray-50);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);border:1px solid var(--gray-200);font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--gray-700)}.mobile-menu-button{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:var(--spacing-xs);z-index:1001;position:relative}.mobile-menu-button span{display:block;width:20px;height:2px;background:var(--black);border-radius:1px;transition:all var(--transition);position:relative}.mobile-menu-button span:not(:last-child){margin-bottom:4px}.mobile-menu-button.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-button.active span:nth-child(2){opacity:0}.mobile-menu-button.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.nav-links.mobile-closed{display:none}.nav-links.mobile-open{display:flex;flex-direction:column;position:fixed;top:0;right:0;width:250px;height:100vh;background:var(--white);border-left:1px solid var(--gray-200);box-shadow:var(--shadow-lg);padding:80px var(--spacing-lg) var(--spacing-lg);gap:var(--spacing-md);z-index:1000}.nav-links.mobile-open a,.nav-links.mobile-open .external-link,.nav-links.mobile-open .logout-button{width:100%;text-align:center;padding:var(--spacing-md);border-radius:var(--radius);font-size:.875rem;font-weight:var(--font-weight-medium)}.nav-links.mobile-open .user-info{text-align:center;margin-top:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius);background:var(--gray-50);border:1px solid var(--gray-200)}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000040;z-index:999}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--gray-50);padding:var(--spacing-lg)}.login-form{background:var(--white);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:400px;border:1px solid var(--gray-200)}.login-form h2{text-align:center;margin-bottom:var(--spacing-xl);color:var(--black);font-size:1.75rem;font-weight:var(--font-weight-bold)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--black);font-size:.875rem}.form-group input,.form-group select{width:100%;padding:var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius);font-size:1rem;font-family:var(--font-family);background:var(--white);color:var(--black);transition:border-color var(--transition)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-blue)}.form-group input:disabled,.form-group select:disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.6}.submit-button{width:100%;padding:var(--spacing-md);background:var(--primary-blue);color:var(--white);border:1px solid var(--primary-blue);border-radius:var(--radius);font-size:1rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition)}.submit-button:hover:not(:disabled){background:#3a7bd5}.submit-button:disabled{background:var(--gray-400);border-color:var(--gray-400);cursor:not-allowed}.error-message{background:var(--error);color:var(--white);padding:var(--spacing-md);border-radius:var(--radius);margin:var(--spacing-lg) 0;text-align:center;font-weight:var(--font-weight-medium)}.error{background:#fef2f2;color:#b91c1c;border:1px solid #FECACA;padding:var(--spacing-md);border-radius:var(--radius);margin:var(--spacing-lg) 0;text-align:center;font-weight:var(--font-weight-medium)}.loading{text-align:center;padding:var(--spacing-2xl);font-size:1rem;color:var(--gray-600);font-weight:var(--font-weight-medium)}.loading:after{content:"";display:block;width:24px;height:24px;margin:var(--spacing-md) auto;border:2px solid var(--gray-300);border-top:2px solid var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-page h1{text-align:left;color:var(--black);margin-bottom:var(--spacing-lg);font-size:2.5rem;font-weight:var(--font-weight-bold)}.home-hero{display:flex;align-items:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow)}.home-hero-logo{flex-shrink:0}.home-hero-logo img{width:120px;height:120px;object-fit:contain;border-radius:var(--radius-lg);padding:var(--spacing-md);background:var(--light-blue)}.home-hero-text h1{font-size:2.75rem;margin-bottom:var(--spacing-sm);color:var(--black)}.home-hero-text p{margin-top:var(--spacing-md);font-size:1.125rem;color:var(--gray-600);font-weight:var(--font-weight-medium);line-height:1.6}.welcome-section,.guest-section,.links-section{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow);margin-bottom:var(--spacing-lg);text-align:center}.welcome-section h2{color:var(--black);font-size:1.75rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.welcome-section p{color:var(--gray-600);font-size:1rem}.admin-notice{background:var(--light-blue);border:1px solid var(--primary-blue);color:var(--primary-blue);padding:var(--spacing-md);border-radius:var(--radius);margin-top:var(--spacing-lg);font-weight:var(--font-weight-medium)}.guest-section{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow);margin-bottom:var(--spacing-lg);text-align:center}.guest-section h2{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--space-md);color:var(--black);font-size:1.75rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.welcome-section p,.guest-section p{color:var(--gray-600);font-size:1rem}.links-section,.features-section{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow);margin-bottom:var(--spacing-lg)}.links-section h3{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-lg);color:var(--black);font-size:1.5rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg)}.links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.link-card,.feature-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius);border:1px solid var(--gray-200);transition:all var(--transition);cursor:pointer}.link-card:hover,.feature-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md)}.link-card{background:var(--white);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:var(--transition)}.link-card:hover{border-color:var(--light-blue)}.link-card h4{font-size:var(--font-size-base);font-weight:500;margin-bottom:var(--space-sm);color:var(--black);margin-bottom:var(--spacing-sm);font-size:1.125rem;font-weight:var(--font-weight-semibold)}.link-card p{color:var(--gray-600);font-size:.875rem;line-height:1.5;word-break:break-word}.user-profile{background:var(--white);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200)}.user-profile h2{color:var(--black);margin-bottom:var(--spacing-xl);text-align:center;font-size:2rem;font-weight:var(--font-weight-bold)}.profile-info{display:grid;gap:var(--spacing-md);max-width:600px;margin:0 auto}.profile-field{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:var(--gray-50);border-radius:var(--radius);border-left:3px solid var(--primary-blue)}.profile-field label{font-weight:var(--font-weight-medium);color:var(--black);font-size:1rem}.profile-field span{font-weight:var(--font-weight-medium);color:var(--gray-700)}.role-badge,.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius);font-size:.75rem;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.role-admin{background:var(--error);color:var(--white)}.role-user{background:var(--primary-blue);color:var(--white)}.status-active{background:var(--success);color:var(--white)}.admin-panel{background:var(--white);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200)}.admin-panel h2{color:var(--black);margin-bottom:var(--spacing-xl);text-align:center;font-size:2rem;font-weight:var(--font-weight-bold)}.admin-actions{margin-bottom:var(--spacing-xl);text-align:center}.create-user-button{background:var(--success);color:var(--white);border:1px solid var(--success);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius);cursor:pointer;font-size:1rem;font-weight:var(--font-weight-medium);transition:background-color var(--transition)}.create-user-button:hover:not(:disabled){background:#45a049}.create-user-button:disabled{background:var(--gray-400);border-color:var(--gray-400);cursor:not-allowed}.user-form{background:var(--gray-50);padding:var(--spacing-xl);border-radius:var(--radius);border:1px solid var(--gray-200);margin-bottom:var(--spacing-lg)}.user-form h3{color:var(--black);margin-bottom:var(--spacing-lg);text-align:center;font-size:1.25rem;font-weight:var(--font-weight-semibold)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.form-actions button{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:var(--font-weight-medium);transition:background-color var(--transition)}.form-actions button[type=submit]{background:var(--primary-blue);color:var(--white);border:1px solid var(--primary-blue)}.form-actions button[type=submit]:hover:not(:disabled){background:#3a7bd5}.form-actions button[type=button]{background:var(--gray-500);color:var(--white);border:1px solid var(--gray-500)}.form-actions button[type=button]:hover:not(:disabled){background:var(--gray-600)}.user-management h3{margin-bottom:var(--space-lg);color:var(--black);margin-bottom:var(--spacing-lg);font-size:1.25rem;font-weight:var(--font-weight-semibold)}.user-search input{width:100%;max-width:500px;padding:var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.875rem;font-family:var(--font-family);margin-bottom:var(--spacing-sm);transition:border-color var(--transition)}.user-search input:focus{outline:none;border-color:var(--primary-blue)}.user-search small{color:var(--gray-600);font-style:italic;font-size:.75rem}.selected-user{background:var(--light-blue);padding:var(--spacing-lg);border-radius:var(--radius);border:1px solid var(--primary-blue);margin-top:var(--spacing-lg)}.selected-user h4{margin-bottom:var(--space-md);color:var(--black);margin-bottom:var(--spacing-md);font-size:1.125rem;font-weight:var(--font-weight-semibold)}.user-details p{margin-bottom:var(--spacing-sm);font-size:.875rem;line-height:1.6}.user-details strong{color:var(--black);font-weight:var(--font-weight-medium)}button,a,input,select,.nav-logo,.link-card,.feature-card{transition:all var(--transition)}@media (max-width: 1200px){.main-content{max-width:100%;padding:var(--spacing-lg)}.home-hero{gap:var(--spacing-lg)}.home-hero-text h1{font-size:2.25rem}}@media (max-width: 992px){.navigation{padding:var(--spacing-md) var(--spacing-lg)}.home-hero{grid-template-columns:1fr;text-align:center;gap:var(--spacing-lg)}.home-hero-text h1{font-size:2rem}.links-grid,.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}}@media (max-width: 768px){.navigation{padding:var(--spacing-md)}.mobile-menu-button{display:flex}.nav-links:not(.mobile-open){display:none}.nav-brand-text{display:none}.nav-logo{width:32px;height:32px}.main-content{padding:var(--spacing-md)}.home-page h1,.home-hero-text h1{font-size:1.75rem}.home-hero-logo img{width:80px;height:80px}.home-hero-text h1{font-size:var(--font-size-xl)}.links-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.link-card,.feature-card{padding:var(--spacing-md)}.profile-field{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);text-align:left}.form-actions{flex-direction:column;gap:var(--spacing-md)}.login-form{padding:var(--spacing-lg);margin:var(--spacing-md)}.user-profile,.admin-panel,.welcome-section,.guest-section,.links-section,.features-section{padding:var(--spacing-lg)}.nav-links.mobile-open a,.nav-links.mobile-open .external-link,.nav-links.mobile-open .logout-button{min-height:44px;display:flex;align-items:center;justify-content:center}.home-hero{padding:var(--spacing-md);gap:var(--spacing-md)}}@media (max-width: 480px){.navigation{padding:var(--spacing-sm) var(--spacing-md)}.nav-logo{width:28px;height:28px}.mobile-menu-button{width:36px;height:36px}.mobile-menu-button span{width:16px;height:2px}.nav-links.mobile-open{width:100vw;right:0;padding:60px var(--spacing-md) var(--spacing-md)}.home-hero{padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.home-hero-text h1{font-size:1.5rem}.home-hero-logo img{width:60px;height:60px}.login-form{margin:var(--spacing-sm);padding:var(--spacing-lg)}.login-form h2{font-size:1.5rem}.user-profile h2,.admin-panel h2{font-size:1.75rem}.form-group input,.form-group select{padding:var(--spacing-md);font-size:16px}.submit-button,.create-user-button,.form-actions button{padding:var(--spacing-md);min-height:44px;font-size:1rem}}@media (hover: none) and (pointer: coarse){.nav-links a:active,.nav-links .external-link:active{background-color:var(--light-blue);transform:scale(.98)}.link-card:active,.feature-card:active{transform:scale(.98);background:var(--light-blue)}button,a,input,select{min-height:44px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
