.form-actions.centered button[type=submit]{min-width:180px;width:auto;max-width:100%}.form-two-col .form-actions{grid-column:1/-1}.form-two-col .form-actions.centered{text-align:center}.form-two-col .form-group-full{grid-column:1/-1}.text-right{text-align:right}.form-messages{margin-bottom:var(--space-4)}.form-messages .form-error,.form-messages .form-success{padding:var(--space-3) var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-2)}.form-messages .form-error{background:#fff0f0;border:1px solid #e53935;color:#e53935}.form-messages .form-success{background:#f0fff0;border:1px solid #4caf50;color:#2e7d32}:root{--container-max:1200px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius:12px;--shadow-1:0 2px 6px rgba(0, 0, 0, .07);--primary:#1E88E5;--primary-variant:#1565C0;--bg:#F9F9F6;--text:#2F2F2F;--text-inv:#fff}*{box-sizing:border-box}body,html{block-size:100%;margin:0}body{min-block-size:100dvh;display:grid;overflow:hidden;grid-template-rows:auto 1fr auto;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.container{max-inline-size:var(--container-max);margin-inline:auto;padding-inline:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media (max-width:700px){.form-two-col{grid-template-columns:1fr}}.skip-link{position:absolute;inset-inline-start:var(--space-4);inset-block-start:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--primary);color:var(--text-inv);border-radius:8px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.site-footer,.site-header{background:#fff;box-shadow:var(--shadow-1);z-index:1000}.site-header{position:sticky;top:0;backdrop-filter:saturate(1.1) blur(6px);-webkit-backdrop-filter:saturate(1.1) blur(6px)}.site-footer{background:var(--primary-variant);color:var(--text-inv);text-align:center}.site-footer .container,.site-header .container{min-height:64px;padding-block:var(--space-3)}@media (max-width:520px){.site-footer .container,.site-header .container{min-height:56px;padding-block:var(--space-2)}}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;text-decoration:none;color:inherit;font-size:clamp(1rem, 2.4vw, 1.125rem)}.brand .motto{display:none;opacity:.85;font-weight:400;font-size:.9em}@media (min-width:900px){.brand .motto{display:inline}}.nav{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.nav a{display:inline-flex;align-items:center;line-height:1;text-decoration:none;color:inherit;padding:.5rem .75rem;border-radius:10px}.nav a:focus-visible{outline:2px solid currentColor;outline-offset:2px}.site-header--brand{background:var(--primary-variant);color:var(--text-inv)}#primary-nav{position:absolute;top:100%;right:var(--space-4);background:var(--primary-variant);flex-direction:column;gap:var(--space-2);min-width:180px;box-shadow:var(--shadow-1);border-radius:var(--radius);padding:var(--space-4);display:none;z-index:1200}#primary-nav.open{display:flex}.nav-toggle{display:block;background:0 0;border:none;padding:12px;cursor:pointer;z-index:1100;margin-left:auto}.hamburger,.hamburger::after,.hamburger::before{background:var(--text-inv);display:block;width:28px;height:3px;border-radius:2px;position:relative;transition:all .2s ease}.hamburger::after,.hamburger::before{content:"";position:absolute;left:0}.hamburger::before{top:-8px}.hamburger::after{top:8px}.nav-toggle[aria-expanded=true] .hamburger{background:0 0}.nav-toggle[aria-expanded=true] .hamburger::before{transform:rotate(45deg);top:0}.nav-toggle[aria-expanded=true] .hamburger::after{transform:rotate(-45deg);top:0}.site-header #primary-nav a{color:#fff;background:0 0;padding:.5rem 1rem;width:fit-content;border-radius:4px;text-decoration:none;transition:background .18s,color .18s;font-weight:500}.site-header #primary-nav a:focus-visible,.site-header #primary-nav a:hover{background:rgba(255,255,255,.15);color:#fff}.site-header #primary-nav a[aria-current=page]{background:rgba(255,255,255,.25);color:#fff;font-weight:600;position:relative}.site-header #primary-nav a[aria-current=page]::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#fff;border-radius:0 2px 2px 0}.site-header .container{position:relative}.site-header--brand .container{max-inline-size:none;margin-inline:0;padding-inline:var(--space-4);width:100%}main{min-block-size:0;overflow:auto;-webkit-overflow-scrolling:touch}.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-1);padding:var(--space-5);position:relative}.card>*+*{margin-block-start:var(--space-3)}@media (max-width:480px){.card{padding:var(--space-4)}}.card h1,.card h2,.card h3{margin:0 0 var(--space-3);line-height:1.2}.card--center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stack{display:grid;gap:var(--stack-gap,var(--space-5))}.stack>*{min-width:0}.gap-1{--stack-gap:var(--space-3)}.gap-2{--stack-gap:var(--space-4)}.gap-3{--stack-gap:var(--space-5)}.gap-4{--stack-gap:var(--space-6)}.switcher{--threshold:48rem;--switcher-gap:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--switcher-gap)}.switcher>*{flex-grow:1;flex-basis:calc((var(--threshold) - 100%) * 999);min-inline-size:0}.sw-40{--threshold:40rem}.sw-56{--threshold:56rem}.sw-gap-1{--switcher-gap:var(--space-3)}.sw-gap-2{--switcher-gap:var(--space-4)}.sw-gap-3{--switcher-gap:var(--space-5)}.sidebar{--side:18rem;--gap:var(--space-5);display:grid;grid-template-columns:minmax(14rem,var(--side)) 1fr;gap:var(--gap)}@media (max-width:1024px){.sidebar{grid-template-columns:1fr}}.grid{--min:20rem;--gap:var(--space-5);display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min)),1fr))}@media (max-width:700px){.grid{--min:16rem}}.gmin-20{--min:20rem}.gmin-22{--min:22rem}.gmin-24{--min:24rem}.table{width:100%;border-collapse:collapse;font-size:.98rem}.table td,.table th{padding:.5rem;border-bottom:1px solid #eee;text-align:left;vertical-align:top;word-break:break-word}.table thead th{position:sticky;top:0;background:#f5f5f5}.selectable-table tbody tr{cursor:pointer;transition:background .15s}.selectable-table tbody tr:hover{background:#e3eaf3}.selectable-table tbody tr.selected{background:var(--primary);color:var(--text-inv)}.h-40vh{block-size:40vh}.h-60vh{block-size:60vh}.bg-grey{background:#f5f5f5}.round{border-radius:8px}.card.hidden,.hidden{display:none}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.scrollbox{max-block-size:60vh;overflow:auto;scroll-behavior:smooth;border-radius:inherit}.anchor-target{scroll-margin-top:72px}.card:target{outline:2px solid var(--primary);outline-offset:2px}.scrollbox .anchor-target{scroll-margin-top:8px}html{scroll-behavior:smooth}form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}input[type=email],input[type=password],input[type=tel],input[type=text],input[type=url],select,textarea{padding:var(--space-3) var(--space-4);border:1px solid #ccc;border-radius:var(--radius);font-size:1rem;background:#fff;color:var(--text);transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 2px rgba(30,136,229,.15)}input:disabled,select:disabled,textarea:disabled{background:#f5f5f5;color:#aaa;cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--primary);margin-right:var(--space-2);width:1.2rem;height:1.2rem;cursor:pointer}fieldset{border:1px solid #ddd;border-radius:var(--radius);padding:var(--space-4);margin:0}fieldset legend{font-weight:600;color:var(--text);padding:0 var(--space-2)}fieldset label{display:flex;align-items:center;margin-bottom:var(--space-2);font-weight:400;cursor:pointer}fieldset label:last-child{margin-bottom:0}.form-group label:has(input[type=checkbox]){display:flex;align-items:center;font-weight:400;cursor:pointer}.helper-text{font-size:.95em;color:#888;margin-top:2px;margin-left:2px;font-style:italic;letter-spacing:.01em;transition:color .2s}input:focus+.helper-text,textarea:focus+.helper-text{color:var(--primary-variant)}button[type=submit]{padding:var(--space-3) var(--space-5);background:var(--primary);color:var(--text-inv);border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}button[type=submit]:focus,button[type=submit]:hover{background:var(--primary-variant)}label{font-weight:500;margin-bottom:var(--space-1);cursor:pointer}input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:#e53935;background:#fff0f0}input.is-invalid:focus,select.is-invalid:focus,textarea.is-invalid:focus{box-shadow:0 0 0 2px rgba(229,57,53,.15)}.form-error{color:#e53935;font-size:.95em;margin-top:var(--space-1);font-weight:500}.spinner-overlay{position:fixed;inset:0;background:var(--bg);z-index:2000;display:flex;align-items:center;justify-content:center;pointer-events:all;flex-direction:column}.spinner-card-overlay{position:absolute;inset:0;background:#fff;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:all;border-radius:inherit;flex-direction:column}.spinner-card-overlay.is-fixed-center{position:fixed;inset:0;margin:0;border-radius:0;background:#fff}.spinner{display:inline-block;width:2.5rem;height:2.5rem;border:4px solid #e3eaf3;border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-3)}@keyframes spin{to{transform:rotate(360deg)}}.spinner-text{font-size:1.1rem;color:var(--primary-variant);font-weight:600}dialog.modal-dialog{max-width:45rem;width:90vw;padding:var(--space-5);border:none;border-radius:var(--radius);box-shadow:var(--shadow-1);margin:auto}dialog.modal-dialog .modal-actions,dialog.modal-dialog h2{text-align:center}dialog.modal-dialog .modal-links{text-align:center}dialog::backdrop{background:rgba(30,136,229,.12);backdrop-filter:blur(2px)}.btn{display:inline-block;font-size:1rem;font-weight:600;padding:var(--space-3) var(--space-5);border-radius:var(--radius);border:none;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;box-shadow:0 1px 2px rgba(30,136,229,.07);background:#eee;color:var(--text);text-decoration:none}.btn-primary{background:var(--primary);color:var(--text-inv);border:none}.btn-primary:focus,.btn-primary:hover{background:var(--primary-variant);color:#fff;outline:0}.btn-secondary{background:#fff;color:var(--primary);border:2px solid var(--primary)}.btn-secondary:focus,.btn-secondary:hover{background:var(--primary);color:#fff;outline:0}.btn-accent{background:#f8f9fa;color:#495057;border:2px solid #dee2e6}.btn-accent:focus,.btn-accent:hover{background:#e9ecef;color:#212529;border-color:#adb5bd;outline:0}.btn:disabled,.btn[aria-disabled=true]{background:#e3eaf3;color:#aaa;cursor:not-allowed;border:none}.btn-primary:active:not(.no-active){background:#0d47a1;color:#fff;box-shadow:0 0 0 2px rgba(30,136,229,.15)}.toggle-switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;user-select:none}.toggle-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:60px;height:32px;background:#ccc;border-radius:32px;transition:background .3s;cursor:pointer}.toggle-slider::before{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px rgba(0,0,0,.2)}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider::before{transform:translateX(28px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px rgba(30,136,229,.15)}.toggle-label{font-weight:500;color:var(--text)}.centered,.text-center{text-align:center}.upload-success{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3) var(--space-4);background:#f0fff0;border:1px solid #4caf50;border-radius:var(--radius);color:#2e7d32;font-weight:500;animation:slideInUp .3s ease-out}.upload-success.hidden{display:none}.upload-check{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;background:#4caf50;color:#fff;border-radius:50%;font-size:.8rem;font-weight:700;flex-shrink:0}.upload-filename{font-weight:600;color:#1b5e20}@keyframes slideInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}input[type=file]{padding:var(--space-3) var(--space-4);border:2px dashed #ccc;border-radius:var(--radius);background:#fafafa;cursor:pointer;transition:border-color .2s,background .2s;width:100%;box-sizing:border-box}input[type=file]:hover{border-color:var(--primary);background:#f5f5f5}input[type=file]:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 2px rgba(30,136,229,.15)}.tab-nav{display:flex;border-bottom:1px solid #e0e0e0;margin:var(--space-4) 0 var(--space-6);overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{background:0 0;border:none;border-bottom:3px solid transparent;padding:var(--space-4) var(--space-6);font:500 1rem/1.5 inherit;color:#666;cursor:pointer;white-space:nowrap;flex:none;transition:all .2s ease}.tab-btn.active,.tab-btn:hover{color:var(--primary);background:rgba(30,136,229,.05)}.tab-btn.active{border-bottom-color:var(--primary)}.tab-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.tab-panel{display:none;animation:fadeIn .3s ease-out}.tab-panel.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.helper-text-right{text-align:right;margin-top:var(--space-1)}@media (max-width:768px){.tab-btn{padding:var(--space-3) var(--space-4);font-size:.9rem}.tab-nav{margin:var(--space-3) 0 var(--space-4)}}@media (max-width:480px){.tab-btn{padding:var(--space-2) var(--space-3);font-size:.85rem}}@media (prefers-reduced-motion:reduce){.tab-panel{animation:none}.tab-btn{transition:none}}.field-dirty{background:#fffef5;outline:2px solid var(--primary);outline-offset:1px}@media (prefers-reduced-motion:reduce){.field-dirty{transition:none}}