:root{--primary: #2563EB;--primary-hover: #1D4ED8;--primary-light: #DBEAFE;--primary-subtle: #EFF6FF;--primary-rgb: 37, 99, 235;--primary-dark: #1D4ED8;--primary-deep: #1E40AF;--secondary: #0F172A;--accent: #F59E0B;--accent-hover: #D97706;--accent-rgb: 245, 158, 11;--success: #10B981;--success-light: #ECFDF5;--warning: #F59E0B;--warning-light: #FFFBEB;--danger: #EF4444;--danger-light: #FEF2F2;--info: #6366F1;--info-light: #EEF2FF;--bg: #F8FAFC;--surface: #FFFFFF;--surface-alt: #F1F5F9;--page-bg: #F8FAFC;--text: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--border: #E2E8F0;--border-hover: #CBD5E1;--border-focus: #2563EB;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px rgba(0, 0, 0, .04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;font-size:16px;overflow-x:hidden;min-height:100vh}app-root{display:block;min-height:100vh;width:100%}body.trial-register-no-scroll,body.login-page-no-scroll{overflow:hidden!important;height:100vh;position:fixed;width:100%}@media (max-width: 992px){body.page-trial-register app-footer .demo-section{display:none!important}}@media (max-width: 992px){body.trial-register-no-scroll{overflow:auto!important;overflow-x:hidden;height:auto;min-height:100vh;position:relative;-webkit-overflow-scrolling:touch}}body.trial-register-no-scroll .register-form-side{background:linear-gradient(180deg,var(--bg) 0%,var(--surface-alt) 100%)}body.trial-register-no-scroll .register-form-inner,body.trial-register-no-scroll .register-form-card{background:transparent;border-radius:0;box-shadow:none;border:none;padding:1.25rem 0 2.5rem}body.trial-register-no-scroll .register-heading{font-size:1.5rem;font-weight:700;color:var(--text)}body.trial-register-no-scroll .form-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .875rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}body.trial-register-no-scroll .trial-form input,body.trial-register-no-scroll .trial-form select{padding:.75rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--border)}body.trial-register-no-scroll .submit-btn{padding:.9375rem 1.5rem;border-radius:var(--radius-sm);font-weight:600}body.app-shell-no-scroll{overflow:hidden!important;height:100vh;height:100dvh;width:100%}body.app-shell-no-scroll app-root{display:block;height:100%}.main-content{position:relative}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700;color:var(--text)}h1{font-size:2.5rem;letter-spacing:-.02em}h2{font-size:2rem;letter-spacing:-.01em}h3{font-size:1.5rem;font-weight:600}h4{font-size:1.25rem;font-weight:600}.display-heading{font-size:3.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--text)}@media (max-width: 768px){.display-heading{font-size:2.25rem}}p{color:var(--text-secondary);line-height:1.7}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-hover)}img{max-width:100%;height:auto}.caption{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.container{max-width:1280px;margin:0 auto;padding:0 2rem}@media (max-width: 768px){.container{padding:0 1rem}}@media (max-width: 480px){.container{padding:0 .75rem}}.section{padding:5rem 0}.section-alt{background:var(--surface-alt)}.text-center{text-align:center}.text-gradient{background:linear-gradient(135deg,var(--primary),var(--info));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){html{-webkit-text-size-adjust:100%}body{font-size:16px}.btn,.btn-danger-solid,.btn-danger,.btn-ghost,.btn-accent,.btn-outline,.btn-secondary,.btn-primary,a.btn,button:not(.icon-only){min-height:44px;padding:.75rem 1.25rem}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.35rem}.form-group input,.form-group select{min-height:44px;font-size:16px}.container{padding:0 1.25rem}.section{padding:3rem 0}}.btn,.btn-danger-solid,.btn-danger,.btn-ghost,.btn-accent,.btn-outline,.btn-secondary,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;font-family:inherit}.btn:disabled,.btn-danger-solid:disabled,.btn-danger:disabled,.btn-ghost:disabled,.btn-accent:disabled,.btn-outline:disabled,.btn-secondary:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(var(--primary-rgb),.25)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px rgba(var(--primary-rgb),.35);color:#fff}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px rgba(var(--primary-rgb),.2)}.btn-secondary{background:var(--surface);color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg);border-color:var(--border-hover)}.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff}.btn-accent{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;box-shadow:0 2px 8px rgba(var(--accent-rgb),.3)}.btn-accent:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px rgba(var(--accent-rgb),.4);color:#fff}.btn-accent:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px rgba(var(--accent-rgb),.2)}.btn-ghost{background:transparent;color:var(--primary)}.btn-ghost:hover:not(:disabled){background:var(--primary-subtle)}.btn-danger{background:var(--danger-light);color:var(--danger);border:1px solid #FECACA}.btn-danger:hover:not(:disabled){background:#fee2e2;color:#dc2626}.btn-danger-solid{background:var(--danger);color:#fff}.btn-danger-solid:hover:not(:disabled){background:#dc2626}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-lg{padding:1rem 2.5rem;font-size:1.1rem}.card,.stat-card,.card-interactive{background:var(--surface);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all .2s ease}.card:hover,.stat-card:hover,.card-interactive:hover{box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card{border-top:4px solid var(--primary)}.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--text);line-height:1.2}.stat-card .stat-label{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.stat-card .stat-trend{font-size:.8rem;font-weight:600;margin-top:.5rem}.stat-card .stat-trend.up{color:var(--success)}.stat-card .stat-trend.down{color:var(--danger)}.glass{background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(226,232,240,.5)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:600}.badge-success{background:var(--success-light);color:#059669;border:1px solid #A7F3D0}.badge-danger{background:var(--danger-light);color:var(--danger);border:1px solid #FECACA}.badge-warning{background:var(--warning-light);color:var(--warning);border:1px solid #FDE68A}.badge-info{background:var(--info-light);color:var(--info);border:1px solid #C7D2FE}.badge-neutral{background:var(--surface-alt);color:var(--text-secondary);border:1px solid var(--border)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;font-size:.875rem;color:var(--text-secondary);margin-bottom:.375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;color:var(--text);transition:border-color .15s,box-shadow .15s;background:var(--surface)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--surface-alt);color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:100px}.form-group .error-text{color:var(--danger);font-size:.8rem;margin-top:.25rem}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:var(--danger);box-shadow:0 0 0 3px #ef44441a}.form-group.is-valid input,.form-group.is-valid select{border-color:var(--success);box-shadow:0 0 0 3px #10b9811a}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.table-wrap{margin:0 -.5rem;padding:0 .5rem}}.data-table{width:100%;border-collapse:collapse;min-width:400px}.data-table th,.data-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--surface-alt)}.data-table th{font-weight:600;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg)}.data-table td{font-size:.9rem;color:var(--text-secondary)}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:var(--bg)}.data-table tbody tr.selected{background:var(--primary-subtle);border-left:3px solid var(--primary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-scale-in{animation:scaleIn .3s ease forwards}.scroll-animate{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-animate.animate-visible{opacity:1;transform:translateY(0)}.scroll-animate.animate-left{transform:translate(-30px)}.scroll-animate.animate-left.animate-visible{transform:translate(0)}.scroll-animate.animate-right{transform:translate(30px)}.scroll-animate.animate-right.animate-visible{transform:translate(0)}.scroll-animate.animate-scale{transform:scale(.95)}.scroll-animate.animate-scale.animate-visible{transform:scale(1)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}.stagger-6{transition-delay:.6s}.stagger-7{transition-delay:.7s}.stagger-8{transition-delay:.8s}.skeleton{background:linear-gradient(90deg,var(--surface-alt) 25%,var(--border) 50%,var(--surface-alt) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scroll-animate{opacity:1;transform:none}}
