:root{--color-primary:#0f766e;--color-primary-hover:#0d9488;--color-primary-light:#ccfbf1;--color-secondary:#1e293b;--color-secondary-hover:#334155;--color-accent:#f59e0b;--color-accent-hover:#d97706;--color-accent-light:#fef3c7;--color-success:#059669;--color-success-light:#d1fae5;--color-danger:#dc2626;--color-danger-light:#fee2e2;--color-warning:#d97706;--color-warning-light:#fef3c7;--color-info:#0891b2;--color-info-light:#cffafe;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--bg-primary:#ffffff;--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-color:var(--color-gray-200);--border-radius-sm:0.5rem;--border-radius-md:0.625rem;--border-radius-lg:0.875rem;--border-radius-xl:1.125rem;--shadow-sm:0 1px 3px 0 rgb(0 0 0/0.04),0 1px 2px -1px rgb(0 0 0/0.04);--shadow-md:0 4px 8px -2px rgb(0 0 0/0.06),0 2px 4px -2px rgb(0 0 0/0.04);--shadow-lg:0 12px 24px -4px rgb(0 0 0/0.08),0 4px 8px -4px rgb(0 0 0/0.04);--shadow-xl:0 20px 40px -8px rgb(0 0 0/0.1),0 8px 16px -4px rgb(0 0 0/0.04);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-heading:var(--font-heading,"Crete Round"),Georgia,serif;--font-body:var(--font-body,"Nunito Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-sans:var(--font-body);--font-mono:ui-monospace,"JetBrains Mono","Cascadia Code","Source Code Pro",Menlo,Consolas,monospace;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}[data-theme=dark]{--bg-primary:#1c1c1e;--bg-secondary:#141416;--bg-tertiary:#2c2c2e;--text-primary:#f2f2f7;--text-secondary:#98989d;--text-tertiary:#6e6e73;--border-color:#38383a;--color-primary-light:#134e4a;--color-accent-light:#78350f;--color-success-light:#065f46;--color-danger-light:#7f1d1d;--color-warning-light:#78350f;--color-info-light:#164e63}*{box-sizing:border-box;padding:0;margin:0;transition:background-color .2s ease,color .2s ease,border-color .2s ease}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{max-width:100vw;overflow-x:hidden;font-family:var(--font-body)}body{color:var(--text-primary);background:var(--bg-secondary);line-height:1.7}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--border-radius-sm);border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.3;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}.btn{font-family:var(--font-body);font-weight:600;letter-spacing:-.01em}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-outline-primary{color:var(--color-primary);border-color:var(--color-primary)}.btn-outline-primary:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#ffffff}.spinner-container{display:flex;justify-content:center;align-items:center;min-height:300px}.card{background:var(--bg-primary)!important;border:1px solid var(--border-color)!important;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card,.card-body{color:var(--text-primary)}.card-body{background:var(--bg-primary)}.card-title{color:var(--text-primary)}.card-subtitle{color:var(--text-secondary)}.card-text{color:var(--text-primary)}.card-hover{cursor:pointer}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.card-body{padding:var(--spacing-lg)}.dashboard-card{background:var(--bg-primary);border-radius:var(--border-radius-xl);padding:var(--spacing-xl);border:1px solid var(--border-color);transition:all var(--transition-base);height:100%}.dashboard-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-primary)}.dashboard-card-icon{width:56px;height:56px;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md);transition:transform var(--transition-base)}.dashboard-card:hover .dashboard-card-icon{transform:scale(1.1)}.btn{border-radius:var(--border-radius-md);font-weight:500;padding:.5rem 1rem;transition:all var(--transition-fast);border:none}.btn-primary{background:var(--color-primary);color:white}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.btn-lg{padding:.75rem 1.5rem;font-size:1.125rem}.form-control,.form-select{border-radius:var(--border-radius-md);border:1px solid var(--border-color);padding:.625rem .875rem;transition:all var(--transition-fast);background:var(--bg-primary);color:var(--text-primary)}.form-control:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);background:var(--bg-primary);color:var(--text-primary)}.form-control::placeholder{color:var(--text-tertiary)}.form-label{font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.form-control:disabled,.form-control[readonly],.form-select:disabled,.form-select[readonly]{background-color:var(--bg-tertiary)!important;color:var(--text-secondary)!important;opacity:.7;cursor:not-allowed;border-color:var(--border-color)}[data-theme=dark] .form-control:disabled,[data-theme=dark] .form-control[readonly],[data-theme=dark] .form-select:disabled,[data-theme=dark] .form-select[readonly]{background-color:var(--bg-tertiary)!important;color:var(--text-secondary)!important;opacity:.8}.input-group-text{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--border-radius-md)}.input-group .form-control{border-left:none}.input-group .form-control:focus{border-color:var(--color-primary)}.input-group>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.modal-content{border-radius:var(--border-radius-xl);border:none;box-shadow:var(--shadow-xl);background:var(--bg-primary);color:var(--text-primary)}.modal-header{border-bottom:1px solid var(--border-color);padding:var(--spacing-lg) var(--spacing-xl)}.modal-body,.modal-header{background:var(--bg-primary)}.modal-body{padding:var(--spacing-xl)}.modal-footer{border-top:1px solid var(--border-color);padding:var(--spacing-lg) var(--spacing-xl);background:var(--bg-primary)}.modal-title{color:var(--text-primary)}.btn-close{filter:var(--bs-btn-close-filter,invert(1))}[data-theme=dark] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.badge{border-radius:var(--border-radius-sm);padding:.25rem .75rem;font-weight:500;font-size:.75rem}.alert{border-radius:var(--border-radius-lg);border:none;padding:var(--spacing-md) var(--spacing-lg)}.alert-info{background-color:var(--color-info-light);color:var(--text-primary);border-left:4px solid var(--color-info)}.alert-danger{background-color:var(--color-danger-light);color:var(--text-primary);border-left:4px solid var(--color-danger)}.alert-warning{background-color:var(--color-warning-light);color:var(--text-primary);border-left:4px solid var(--color-warning)}.alert-success{background-color:var(--color-success-light);color:var(--text-primary);border-left:4px solid var(--color-success)}[data-theme=dark] .alert-info{background-color:rgba(6,182,212,.15);color:var(--text-primary)}[data-theme=dark] .alert-danger{background-color:rgba(239,68,68,.15);color:var(--text-primary)}[data-theme=dark] .alert-warning{background-color:rgba(245,158,11,.15);color:var(--text-primary)}[data-theme=dark] .alert-success{background-color:rgba(16,185,129,.15);color:var(--text-primary)}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.empty-state-icon{color:var(--color-gray-300);margin-bottom:var(--spacing-lg)}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.empty-state-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.page-header{justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.page-header,.page-title{display:flex;align-items:center}.page-title{font-size:1.875rem;font-weight:700;color:var(--text-primary);gap:var(--spacing-md)}.timeline{position:relative;padding-left:40px}.timeline:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--color-gray-200)}.timeline-item{position:relative;margin-bottom:var(--spacing-xl)}.timeline-item:before{content:"";position:absolute;left:-32px;top:12px;width:16px;height:16px;border-radius:50%;background:var(--color-primary);border:3px solid var(--bg-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.text-muted{color:var(--text-secondary)!important}.text-primary{color:var(--color-primary)!important}.bg-light{background-color:var(--bg-secondary)!important}@media (max-width:768px){.hide-mobile{display:none!important}.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.page-title{font-size:1.5rem}}@media (min-width:769px){.hide-desktop{display:none!important}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base) ease-out}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.footer-link{color:var(--text-secondary);font-size:.875rem;text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-primary)}.footer-link-small{color:var(--text-tertiary);font-size:.875rem;text-decoration:none;transition:color var(--transition-fast)}.docs-nav-link,.footer-link-small:hover{color:var(--text-secondary)}.docs-nav-link{text-decoration:none;font-size:.875rem;transition:color var(--transition-fast);display:block}.docs-nav-link:hover{color:var(--color-primary)}.docs-video-link{color:var(--text-secondary);text-decoration:none;font-size:.875rem;display:block;padding:var(--spacing-sm);border-radius:var(--border-radius-sm);transition:background var(--transition-fast)}.docs-video-link:hover{background:var(--bg-tertiary)}.card-action-btn{background:rgba(255,255,255,.2);border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-sm);color:white;cursor:pointer;transition:background var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.card-action-btn:hover{background:rgba(255,255,255,.3)}.card-action-btn-danger{background:rgba(239,68,68,.2)}.card-action-btn-danger:hover{background:rgba(239,68,68,.4)}.modern-card{background:var(--bg-primary);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-base);height:100%}.modern-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.modern-card-header{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);color:white}.modern-card-body,.modern-card-header{padding:var(--spacing-lg)}.icon-btn{background:transparent;border:none;padding:var(--spacing-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{color:var(--color-primary)}.icon-btn-danger:hover{color:var(--color-danger)}.modern-select{border-radius:var(--border-radius-md);border:1px solid var(--border-color);padding:.625rem .875rem;transition:all var(--transition-fast);background:var(--bg-primary);color:var(--text-primary)}.modern-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.modern-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.modern-tab{padding:var(--spacing-md) var(--spacing-lg);background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-sm)}.modern-tab-active,.modern-tab:hover{color:var(--color-primary)}.modern-tab-active{border-bottom-color:var(--color-primary)}.modern-list-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);transition:all var(--transition-fast)}.modern-list-item:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.star-rating{color:var(--color-warning);display:inline-flex;gap:2px}.star-rating .star-empty{color:var(--color-gray-300)}.contact-link{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.contact-link:hover{color:var(--color-primary-hover);text-decoration:underline}.table{background:var(--bg-primary);border-radius:var(--border-radius-lg);overflow:hidden;width:100%;border-collapse:separate;border-spacing:0;color:var(--text-primary)}.table thead{background:var(--bg-tertiary)}.table th{font-weight:600;border-bottom:2px solid var(--border-color);text-align:left;background:var(--bg-tertiary)}.table td,.table th{color:var(--text-primary);padding:var(--spacing-md)}.table td{border-bottom:1px solid var(--border-color);vertical-align:middle}.table tbody tr,.table td{background:var(--bg-primary)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background:var(--bg-secondary)!important;cursor:pointer}.table tbody tr:hover td{background:var(--bg-secondary)}.table tbody tr:last-child td{border-bottom:none}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--bg-primary);border-radius:var(--border-radius-lg)}.table-hover tbody tr:hover{background-color:var(--bg-secondary)!important}.table-striped tbody tr:nth-of-type(odd){background-color:var(--bg-secondary)}.table>:not(caption)>*>*{background-color:var(--bg-primary);border-bottom-color:var(--border-color);color:var(--text-primary)}.table-actions{display:flex;gap:var(--spacing-sm);align-items:center}.list-group{--bs-list-group-bg:var(--bg-primary);--bs-list-group-border-color:var(--border-color);--bs-list-group-color:var(--text-primary)}.list-group-item{background-color:var(--bg-primary)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;transition:all var(--transition-fast)}.list-group-item:hover{background-color:var(--bg-secondary)!important}.list-group-item .badge{opacity:.9}.nav-tabs{border-bottom:2px solid var(--border-color)}.nav-tabs .nav-link{color:var(--text-secondary);border:none;border-bottom:2px solid transparent;background:transparent;transition:all var(--transition-fast)}.nav-tabs .nav-link:hover{color:var(--color-primary);border-bottom-color:var(--color-primary-light)}.nav-tabs .nav-link.active{color:var(--color-primary);background:transparent;border-bottom-color:var(--color-primary)}.badge.bg-warning{background-color:var(--color-warning)!important;color:var(--color-gray-900)}.badge.bg-danger{background-color:var(--color-danger)!important;color:white}.badge.bg-success{background-color:var(--color-success)!important;color:white}.badge.bg-secondary{background-color:var(--color-secondary)!important;color:white}.badge.bg-info{background-color:var(--color-info)!important;color:white}.badge.bg-primary{background-color:var(--color-primary)!important;color:white}.text-danger{color:var(--color-danger)!important}.text-warning{color:var(--color-warning)!important}.text-success{color:var(--color-success)!important}.text-info{color:var(--color-info)!important}.btn-success{background-color:var(--color-success);border-color:var(--color-success);color:white}.btn-success:hover{background-color:#059669;border-color:#059669}.btn-danger{background-color:var(--color-danger);border-color:var(--color-danger);color:white}.btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.btn-warning{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-gray-900)}.btn-warning:hover{background-color:#d97706;border-color:#d97706}.btn-secondary{background-color:var(--color-secondary);border-color:var(--color-secondary);color:white}.btn-secondary:hover{background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover)}.btn-outline-secondary{color:var(--text-secondary);border-color:var(--border-color);background:transparent}.btn-outline-secondary:hover{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.progress{background-color:var(--bg-tertiary);border-radius:var(--border-radius-md);overflow:hidden}.progress-bar{transition:width var(--transition-base)}.progress-bar.bg-success{background-color:var(--color-success)!important}.progress-bar.bg-warning{background-color:var(--color-warning)!important}.progress-bar.bg-danger{background-color:var(--color-danger)!important}.progress-bar.bg-info{background-color:var(--color-info)!important}.spinner-border{color:var(--color-primary)}.calendar-day:hover{background-color:var(--bg-secondary)!important;transform:scale(1.02)}.calendar-day{transition:all var(--transition-fast)}.timeline-card{transition:all .3s ease}.timeline-card:hover{transform:translateX(8px);box-shadow:0 4px 12px rgba(0,0,0,.15)}[data-theme=dark] .timeline-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.4)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.timeline-card{animation:fadeInUp .5s ease-out}