:root{--bs-primary:var(--p4-blue);--bs-primary-rgb:var(--p4-blue-rgb);--bs-primary-bg-subtle:var(--p4-blue-50);--bs-primary-border-subtle:var(--p4-blue-200);--bs-primary-text-emphasis:var(--p4-blue-700);--bs-secondary:var(--p4-grey);--bs-secondary-rgb:var(--p4-grey-rgb);--bs-secondary-bg-subtle:var(--p4-grey-50);--bs-secondary-border-subtle:var(--p4-grey-200);--bs-secondary-text-emphasis:var(--p4-grey-700);--bs-success:var(--success);--bs-success-rgb:var(--success-rgb);--bs-success-bg-subtle:var(--success-50);--bs-success-border-subtle:var(--success-200);--bs-success-text-emphasis:var(--success-800);--bs-info:var(--info);--bs-info-rgb:var(--info-rgb);--bs-info-bg-subtle:var(--info-50);--bs-info-border-subtle:var(--info-200);--bs-info-text-emphasis:var(--info-800);--bs-warning:var(--warning);--bs-warning-rgb:var(--warning-rgb);--bs-warning-bg-subtle:var(--warning-50);--bs-warning-border-subtle:var(--warning-200);--bs-warning-text-emphasis:var(--warning-900);--bs-danger:var(--error);--bs-danger-rgb:var(--error-rgb);--bs-danger-bg-subtle:var(--error-50);--bs-danger-border-subtle:var(--error-200);--bs-danger-text-emphasis:var(--error-800);--bs-light:var(--bg-secondary);--bs-light-rgb:245,245,245;--bs-light-bg-subtle:var(--bg-tertiary);--bs-light-border-subtle:var(--border-light);--bs-light-text-emphasis:var(--text-primary);--bs-dark:var(--text-primary);--bs-dark-rgb:50,49,48;--bs-dark-bg-subtle:var(--p4-grey-100);--bs-dark-border-subtle:var(--p4-grey-300);--bs-dark-text-emphasis:var(--text-primary)}:root{--bs-body-font-family:var(--font-primary);--bs-font-sans-serif:var(--font-primary);--bs-font-monospace:var(--font-mono);--bs-body-font-size:var(--text-md);--bs-body-line-height:var(--leading-normal);--bs-body-font-weight:var(--font-normal);--bs-h1-font-size:var(--text-5xl);--bs-h2-font-size:var(--text-4xl);--bs-h3-font-size:var(--text-3xl);--bs-h4-font-size:var(--text-2xl);--bs-h5-font-size:var(--text-xl);--bs-h6-font-size:var(--text-lg);--bs-headings-font-weight:var(--font-bold);--bs-headings-line-height:var(--leading-tight);--bs-headings-color:var(--text-primary)}:root{--bs-gutter-x:var(--space-6);--bs-gutter-y:var(--space-6);--bs-card-spacer-y:var(--space-5);--bs-card-spacer-x:var(--space-6);--bs-card-border-radius:var(--radius-lg);--bs-list-group-item-padding-y:var(--space-3);--bs-list-group-item-padding-x:var(--space-4);--bs-modal-padding:var(--space-6);--bs-modal-border-radius:var(--radius-xl);--bs-accordion-padding-y:var(--space-4);--bs-accordion-padding-x:var(--space-5)}:root{--bs-border-width:var(--border-1);--bs-border-width-lg:var(--border-2);--bs-border-color:var(--border-color);--bs-border-color-translucent:rgba(0,0,0,0.1);--bs-border-radius:var(--radius-md);--bs-border-radius-sm:var(--radius-sm);--bs-border-radius-lg:var(--radius-lg);--bs-border-radius-xl:var(--radius-xl);--bs-border-radius-2xl:var(--radius-2xl);--bs-border-radius-pill:var(--radius-full)}:root{--bs-box-shadow:var(--shadow-md);--bs-box-shadow-sm:var(--shadow-sm);--bs-box-shadow-lg:var(--shadow-lg);--bs-box-shadow-inset:var(--shadow-inner);--bs-focus-ring-width:3px;--bs-focus-ring-opacity:0.3;--bs-focus-ring-color:rgba(var(--p4-blue-rgb),0.3)}:root{--bs-btn-padding-y:var(--space-3);--bs-btn-padding-x:var(--space-6);--bs-btn-font-size:var(--text-md);--bs-btn-line-height:var(--leading-normal);--bs-btn-font-weight:var(--font-semibold);--bs-btn-border-radius:var(--radius-md);--bs-btn-padding-y-sm:var(--space-2);--bs-btn-padding-x-sm:var(--space-4);--bs-btn-font-size-sm:var(--text-sm);--bs-btn-padding-y-lg:var(--space-4);--bs-btn-padding-x-lg:var(--space-8);--bs-btn-font-size-lg:var(--text-lg);--bs-btn-border-radius-lg:var(--radius-lg);--bs-btn-hover-border-color-shift:-10%;--bs-btn-active-border-color-shift:-20%;--bs-btn-focus-width:3px;--bs-btn-focus-box-shadow:var(--shadow-focus);--bs-btn-transition:var(--transition-colors),var(--transition-shadow),transform var(--duration-fast) var(--ease-out)}.btn{transition:var(--bs-btn-transition)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn:active{transform:translateY(0)}.btn-primary{--bs-btn-color:var(--text-inverse);--bs-btn-bg:var(--color-primary);--bs-btn-border-color:var(--color-primary);--bs-btn-hover-bg:var(--color-primary-hover);--bs-btn-hover-border-color:var(--color-primary-hover);--bs-btn-active-bg:var(--color-primary-active);--bs-btn-active-border-color:var(--color-primary-active);--bs-btn-disabled-bg:var(--p4-blue-200);--bs-btn-disabled-border-color:var(--p4-blue-200)}.btn-warning,.btn-accent{--bs-btn-color:var(--text-primary);--bs-btn-bg:var(--color-accent);--bs-btn-border-color:var(--color-accent);--bs-btn-hover-bg:var(--color-accent-hover);--bs-btn-hover-border-color:var(--color-accent-hover);--bs-btn-active-bg:var(--color-accent-active);--bs-btn-active-border-color:var(--color-accent-active)}.btn-outline-primary{--bs-btn-color:var(--color-primary);--bs-btn-border-color:var(--color-primary);--bs-btn-hover-bg:var(--color-primary);--bs-btn-hover-color:var(--text-inverse);--bs-btn-active-bg:var(--color-primary-hover)}:root{--bs-input-padding-y:var(--space-3);--bs-input-padding-x:var(--space-4);--bs-input-font-size:var(--text-md);--bs-input-line-height:var(--leading-normal);--bs-input-border-radius:var(--radius-md);--bs-input-bg:var(--bg-primary);--bs-input-border-color:var(--border-color);--bs-input-color:var(--text-primary);--bs-input-placeholder-color:var(--text-tertiary);--bs-input-focus-border-color:var(--border-focus);--bs-input-focus-box-shadow:var(--shadow-focus);--bs-form-valid-color:var(--success);--bs-form-valid-border-color:var(--success);--bs-form-invalid-color:var(--error);--bs-form-invalid-border-color:var(--error)}.form-control:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--success);box-shadow:var(--shadow-focus-success)}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--error);box-shadow:var(--shadow-focus-error)}:root{--bs-card-border-color:var(--border-color);--bs-card-border-radius:var(--radius-lg);--bs-card-box-shadow:var(--shadow-sm);--bs-card-cap-bg:var(--bg-secondary);--bs-card-bg:var(--surface-card)}.card{transition:var(--transition-shadow),var(--transition-transform)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}:root{--bs-navbar-padding-y:var(--space-4);--bs-navbar-padding-x:var(--space-6);--bs-navbar-brand-padding-y:var(--space-2);--bs-navbar-brand-font-size:var(--text-xl);--bs-navbar-brand-font-weight:var(--font-bold);--bs-nav-link-padding-y:var(--space-2);--bs-nav-link-padding-x:var(--space-4);--bs-nav-link-font-size:var(--text-md);--bs-nav-link-font-weight:var(--font-medium);--bs-nav-link-color:var(--text-primary);--bs-nav-link-hover-color:var(--color-primary)}.navbar-light{--bs-navbar-color:var(--text-primary);--bs-navbar-hover-color:var(--color-primary);--bs-navbar-active-color:var(--color-primary);--bs-navbar-brand-color:var(--color-primary);--bs-navbar-brand-hover-color:var(--color-primary-hover)}.navbar.sticky-top{transition:var(--transition-shadow),background-color var(--duration-normal) var(--ease-default)}.navbar.sticky-top.scrolled{box-shadow:var(--shadow-md);background-color:rgba(255,255,255,0.98) !important;backdrop-filter:blur(10px)}:root{--bs-modal-border-radius:var(--radius-xl);--bs-modal-box-shadow:var(--shadow-2xl);--bs-modal-header-padding-y:var(--space-5);--bs-modal-header-padding-x:var(--space-6);--bs-modal-inner-padding:var(--space-6)}:root{--bs-alert-padding-y:var(--space-4);--bs-alert-padding-x:var(--space-5);--bs-alert-border-radius:var(--radius-lg)}.alert-primary{--bs-alert-bg:var(--p4-blue-50);--bs-alert-color:var(--p4-blue-800);--bs-alert-border-color:var(--p4-blue-200)}.alert-success{--bs-alert-bg:var(--success-bg);--bs-alert-color:var(--success-text);--bs-alert-border-color:var(--success-200)}.alert-warning{--bs-alert-bg:var(--warning-bg);--bs-alert-color:var(--warning-text);--bs-alert-border-color:var(--warning-200)}.alert-danger{--bs-alert-bg:var(--error-bg);--bs-alert-color:var(--error-text);--bs-alert-border-color:var(--error-200)}:root{--bs-badge-padding-y:var(--space-1);--bs-badge-padding-x:var(--space-2-5);--bs-badge-font-size:var(--text-sm);--bs-badge-font-weight:var(--font-semibold);--bs-badge-border-radius:var(--radius-md)}:root{--bs-breadcrumb-padding-y:var(--space-3);--bs-breadcrumb-padding-x:var(--space-0);--bs-breadcrumb-item-padding-x:var(--space-2);--bs-breadcrumb-divider-color:var(--text-tertiary);--bs-breadcrumb-item-active-color:var(--text-secondary)}:root{--bs-pagination-padding-y:var(--space-2-5);--bs-pagination-padding-x:var(--space-4);--bs-pagination-font-size:var(--text-md);--bs-pagination-border-radius:var(--radius-md);--bs-pagination-color:var(--color-primary);--bs-pagination-hover-color:var(--color-primary-hover);--bs-pagination-focus-box-shadow:var(--shadow-focus);--bs-pagination-active-bg:var(--color-primary);--bs-pagination-active-border-color:var(--color-primary)}:root{--bs-tooltip-max-width:280px;--bs-tooltip-padding-y:var(--space-2);--bs-tooltip-padding-x:var(--space-3);--bs-tooltip-font-size:var(--text-sm);--bs-tooltip-bg:var(--text-primary);--bs-tooltip-border-radius:var(--radius-md);--bs-tooltip-opacity:0.95;--bs-popover-border-color:var(--border-color);--bs-popover-border-radius:var(--radius-lg);--bs-popover-box-shadow:var(--shadow-lg)}.container-sm{max-width:var(--content-width-sm)}.container-md{max-width:var(--content-width-md)}.container-lg{max-width:var(--content-width-lg)}.container-xl{max-width:var(--content-width-xl)}.text-primary{color:var(--color-primary) !important}.text-accent{color:var(--color-accent) !important}.bg-primary{background-color:var(--color-primary) !important}.bg-accent{background-color:var(--color-accent) !important}.border-primary{border-color:var(--color-primary) !important}.border-accent{border-color:var(--color-accent) !important}.display-1{font-size:var(--text-7xl);font-weight:var(--font-bold);line-height:var(--leading-tight)}@media (max-width:767px){.display-1{font-size:var(--text-5xl)}}.display-2{font-size:var(--text-6xl);font-weight:var(--font-bold);line-height:var(--leading-tight)}@media (max-width:767px){.display-2{font-size:var(--text-4xl)}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media print{.btn{border:1px solid #000 !important}.card{border:1px solid #000 !important}.navbar,.modal,.tooltip,.popover{display:none !important}}.hover-lift{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 4px 12px rgba(0,0,0,0.15);background-color:rgba(255,255,255,0.8)}.hover-lift:hover .fw-bold{color:var(--p4-blue) !important}