@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700&family=Lato:wght@300;400;500;600;700&family=Roboto+Mono:wght@300;400;500;600;700&display=swap');@import url('https://unpkg.com/tailwindcss@3.4.0/dist/tailwind.min.css');:root{--color-primary:#C62828;--color-primary-dark:#9E2020;--color-secondary:#1976D2;--color-secondary-light:#E3F2FD;--color-accent:#00695C;--color-neutral-100:#f8fafc;--color-neutral-200:#f1f5f9;--color-neutral-300:#e2e8f0;--color-neutral-400:#cbd5e1;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#475569;--text-light:#64748b;--text-white:#ffffff;--font-primary:'Roboto',sans-serif;--font-secondary:'Lato',sans-serif;--font-mono:'Roboto Mono',monospace;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease}[data-theme='dark']{--color-neutral-100:#1e293b;--color-neutral-200:#334155;--color-neutral-300:#475569;--color-neutral-400:#64748b;--color-neutral-500:#cbd5e1;--color-neutral-600:#e2e8f0;--color-neutral-700:#f1f5f9;--color-neutral-800:#f8fafc;--color-neutral-900:#ffffff;--text-primary:#f8fafc;--text-secondary:#e2e8f0;--text-muted:#cbd5e1;--text-light:#94a3b8}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);line-height:1.6;color:var(--text-primary);background-color:var(--color-neutral-100);transition:background-color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary);margin-bottom:var(--space-lg)}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.1rem}p{margin-bottom:var(--space-md);color:var(--text-secondary)}strong{font-weight:600;color:var(--text-primary)}blockquote{border-left:4px solid var(--color-primary);padding-left:var(--space-lg);margin:var(--space-lg) 0;font-style:italic;color:var(--text-secondary);background-color:var(--color-neutral-200);padding:var(--space-lg);border-radius:var(--radius-md)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:0.75rem 1.5rem;font-family:var(--font-primary);font-size:1rem;font-weight:500;text-decoration:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.btn:focus{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:var(--text-white)}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:var(--color-secondary);color:var(--text-white)}.btn-secondary:hover{background-color:#1565C0;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline{background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--text-white);transform:translateY(-2px)}.btn-ghost{background-color:transparent;color:var(--text-primary);border:1px solid var(--color-neutral-300)}.btn-ghost:hover{background-color:var(--color-neutral-200);transform:translateY(-1px)}.card{background-color:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-neutral-400)}.card-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-neutral-300)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.card-subtitle{color:var(--text-muted);font-size:0.875rem}.card-body{color:var(--text-secondary);line-height:1.6}.card-footer{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-neutral-300);display:flex;justify-content:space-between;align-items:center}.table{width:100%;border-collapse:collapse;background-color:white;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:var(--space-xl)}.table th{background-color:var(--color-secondary-light);color:var(--text-primary);font-weight:600;padding:var(--space-lg);text-align:left;border-bottom:1px solid var(--color-neutral-300);font-size:0.875rem;text-transform:uppercase;letter-spacing:0.05em}.table td{padding:var(--space-lg);border-bottom:1px solid var(--color-neutral-300);color:var(--text-secondary);vertical-align:middle}.table tbody tr{transition:all var(--transition-fast)}.table tbody tr:hover{background-color:rgba(0,105,92,0.05);transform:scale(1.002)}.table tbody tr:nth-child(even){background-color:var(--color-neutral-100)}.table tbody tr:nth-child(even):hover{background-color:rgba(0,105,92,0.08)}.logo-container{display:flex;align-items:center;justify-content:center;padding:var(--space-sm);border-radius:var(--radius-sm);background-color:white;border:1px solid var(--color-neutral-300);transition:all var(--transition-fast)}.logo-container:hover{border-color:var(--color-neutral-400);box-shadow:var(--shadow-sm)}.logo-container img{max-width:100px;max-height:40px;object-fit:contain;filter:contrast(1.1) brightness(0.95)}.logo-container.dark-bg{background-color:var(--color-neutral-800);border-color:var(--color-neutral-700)}.logo-container.dark-bg img{filter:contrast(1.2) brightness(1.1) invert(1)}.list{list-style:none;padding:0;margin:0}.list-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--color-neutral-300);transition:all var(--transition-fast);color:var(--text-secondary)}.list-item:last-child{border-bottom:none}.list-item:hover{background-color:rgba(0,105,92,0.05);padding-left:calc(var(--space-lg)+8px);border-left:4px solid var(--color-accent)}.list-item-icon{width:24px;height:24px;color:var(--color-accent);flex-shrink:0}.list-item-content{flex:1}.list-item-title{font-weight:500;color:var(--text-primary);margin-bottom:var(--space-xs)}.list-item-description{color:var(--text-muted);font-size:0.875rem}.input{width:100%;padding:0.75rem 1rem;font-family:var(--font-primary);font-size:1rem;color:var(--text-primary);background-color:white;border:2px solid var(--color-neutral-300);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(198,40,40,0.1)}.input::placeholder{color:var(--text-light)}.input-group{margin-bottom:var(--space-lg)}.input-label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:var(--space-sm);font-size:0.875rem}.input-error{border-color:var(--color-primary);background-color:rgba(198,40,40,0.02)}.input-success{border-color:var(--color-accent);background-color:rgba(0,105,92,0.02)}.icon{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:middle;fill:currentColor}.icon-sm{width:1rem;height:1rem}.icon-lg{width:2rem;height:2rem}.icon-xl{width:3rem;height:3rem}.pattern-bg{position:relative;overflow:hidden}.pattern-bg::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(45deg,transparent 40%,rgba(0,105,92,0.03) 50%,transparent 60%),linear-gradient(-45deg,transparent 40%,rgba(25,118,210,0.02) 50%,transparent 60%);background-size:60px 60px;pointer-events:none}.star-rating{display:inline-flex;gap:var(--space-xs);align-items:center}.star{width:1.25rem;height:1.25rem;color:var(--color-neutral-400);transition:color var(--transition-fast);cursor:pointer}.star.active{color:#fbbf24}.star:hover{color:#f59e0b;transform:scale(1.1)}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.animate-fadeInUp{animation:fadeInUp 0.5s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-slideInLeft{animation:slideInLeft 0.3s ease-out}.hover-lift{transition:transform var(--transition-base)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.05)}.theme-toggle{position:fixed;top:1rem;right:1rem;z-index:1000;background-color:var(--color-neutral-200);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);padding:var(--space-sm);cursor:pointer;transition:all var(--transition-base)}.theme-toggle:hover{background-color:var(--color-neutral-300);transform:scale(1.05)}@media (max-width:768px){.container{padding:0 var(--space-sm)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.btn{padding:0.625rem 1.25rem;font-size:0.875rem}.card{padding:var(--space-lg)}.table{font-size:0.875rem}.table th,.table td{padding:var(--space-md)}.logo-container img{max-width:80px;max-height:32px}}@media (max-width:640px){.table{display:block;overflow-x:auto;white-space:nowrap}.card{margin-bottom:var(--space-lg)}.flex{flex-direction:column}.justify-between{justify-content:center}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast:high){.card{border:2px solid var(--color-neutral-600)}.btn{border:2px solid currentColor}.input{border-width:2px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}@media print{.btn,.theme-toggle{display:none}.card{break-inside:avoid;box-shadow:none;border:1px solid #000}.table{font-size:0.75rem}}.hidden{display:none}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:0.5}.opacity-100{opacity:1}.loading{position:relative;overflow:hidden}.loading::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient( 90deg,transparent,rgba(255,255,255,0.4),transparent );animation:loading 1.5s infinite}@keyframes loading{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.logo-container{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}header nav a:hover{color:var(--color-primary) !important;border-bottom-color:var(--color-primary) !important}header{box-shadow:var(--shadow-sm);background-color:var(--color-neutral-100)}@media (max-width:768px){header .container{padding-left:var(--space-sm);padding-right:var(--space-sm)}header nav ul{flex-direction:column;position:absolute;top:100%;left:0;right:0;background-color:white;box-shadow:var(--shadow-md);padding:var(--space-md);display:none}header nav ul.mobile-open{display:flex}.logo-container span{font-size:1.5rem}}
