:root{--primary-dark: #003d7a;--primary-dark-hover: #002d5a;--primary-dark-light: #004a94;--gray-very-light: #f8f8f8;--gray-light: #e8e8e8;--gray-medium: #999999;--gray-dark: #333333;--success-green: #2d7a3a;--warning-orange: #d97706;--error-red: #c1272d;--info-blue: #0066cc;--text-primary: #1a1a1a;--text-secondary: #666666;--text-light: #999999;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-size-base: 14px;--font-size-sm: 12px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 24px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--radius-sm: 3px;--radius-md: 6px;--radius-lg: 8px}html{font-size:16px}body{font-family:var(--font-primary);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--gray-very-light)}h1{font-size:var(--font-size-2xl);font-weight:600;color:var(--primary-dark);margin-bottom:var(--spacing-md);line-height:1.3}h2{font-size:var(--font-size-xl);font-weight:600;color:var(--primary-dark);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}a{color:var(--primary-dark);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-dark-hover);text-decoration:underline}.logo{text-decoration:none!important;transition:none}.logo:hover{text-decoration:none!important;color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:500;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary-dark);color:#fff;border-color:var(--primary-dark)}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark-hover);border-color:var(--primary-dark-hover);box-shadow:var(--shadow-md)}.btn-secondary{background-color:#fff;color:var(--primary-dark);border-color:var(--gray-light)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-very-light);border-color:var(--primary-dark)}.btn-danger{background-color:var(--error-red);color:#fff;border-color:var(--error-red)}.btn-danger:hover:not(:disabled){background-color:#a01f24;border-color:#a01f24;box-shadow:var(--shadow-md)}.btn-success{background-color:var(--success-green);color:#fff;border-color:var(--success-green)}.btn-success:hover:not(:disabled){background-color:#1f5528;border-color:#1f5528;box-shadow:var(--shadow-md)}.card{background-color:#fff;border:1px solid var(--gray-light);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--gray-light);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-size-lg);font-weight:600;color:var(--primary-dark);margin:0}.card-body{padding:0}.card-footer{border-top:1px solid var(--gray-light);padding-top:var(--spacing-md);margin-top:var(--spacing-md);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.form-group{margin-bottom:var(--spacing-md)}label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary);font-size:var(--font-size-base)}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],textarea,select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--gray-light);border-radius:var(--radius-md);font-family:var(--font-primary);color:var(--text-primary);background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,input[type=number]:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-dark);box-shadow:0 0 0 3px #003d7a1a}input[type=text]:disabled,input[type=email]:disabled,input[type=password]:disabled,textarea:disabled,select:disabled{background-color:var(--gray-very-light);color:var(--text-light);cursor:not-allowed}textarea{resize:vertical;min-height:100px}.table{width:100%;border-collapse:collapse;background-color:#fff}.table thead{background-color:var(--primary-dark);color:#fff}.table th{padding:var(--spacing-md);text-align:left;font-weight:600;font-size:var(--font-size-base);border:1px solid var(--gray-light)}.table td{padding:var(--spacing-md);border-bottom:1px solid var(--gray-light)}.table tbody tr:hover{background-color:var(--gray-very-light)}.table tbody tr:nth-child(2n){background-color:#fafafa}.info-banner{background-color:var(--info-blue);color:#fff;padding:var(--spacing-md);margin:-1px 0 var(--spacing-md) 0;text-align:center;font-weight:500;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.info-banner svg{width:24px;height:24px;color:#fff;fill:#fff;flex-shrink:0}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border-left:4px solid}.alert-success{background-color:#f0f7f4;border-left-color:var(--success-green);color:var(--success-green)}.alert-warning{background-color:#fef3e2;border-left-color:var(--warning-orange);color:#8b4513}.alert-error{background-color:#fef0f0;border-left-color:var(--error-red);color:var(--error-red)}.alert-info{background-color:#f0f7ff;border-left-color:var(--info-blue);color:var(--info-blue)}.badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.badge-success{background-color:#e8f5e9;color:var(--success-green)}.badge-warning{background-color:#fff3e0;color:var(--warning-orange)}.badge-error{background-color:#ffebee;color:var(--error-red)}.badge-info{background-color:#e3f2fd;color:var(--info-blue)}nav{background-color:var(--primary-dark);color:#fff}.nav-link{color:#fff;text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);display:inline-block;transition:background-color .2s ease}.nav-link:hover{background-color:var(--primary-dark-light);text-decoration:none}.nav-link.active{background-color:var(--primary-dark-hover);font-weight:600}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-light)}.text-success{color:var(--success-green)}.text-warning{color:var(--warning-orange)}.text-error{color:var(--error-red)}.text-info{color:var(--info-blue)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.row{display:flex;flex-wrap:wrap;margin:calc(var(--spacing-md) * -.5)}.col{flex:1;padding:calc(var(--spacing-md) * .5);min-width:250px}.col-full{width:100%;min-width:100%}.col-half{flex:0 0 50%}.col-third{flex:0 0 33.333%}.col-quarter{flex:0 0 25%}*:focus-visible{outline:2px solid var(--primary-dark);outline-offset:2px}.centre-card{position:relative}.centre-card .centre-card-hover{position:absolute;inset:0;background-color:var(--primary-dark);color:#fff;padding:var(--spacing-md);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);opacity:0;transition:opacity .3s ease;z-index:3}.centre-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.centre-card:hover .centre-card-hover{opacity:1!important}@media print{body{background-color:#fff}.btn,nav,.no-print{display:none}.card{box-shadow:none;border:1px solid #ccc;page-break-inside:avoid}}
