.app-nav-login{margin-left:auto}:root{--color-white:#fff;--color-surface:#f5f5f7;--color-border:#e0e0e3;--color-ink:#171a20;--color-ink-muted:#5c5e62;--color-accent:#2b4fd2;--color-positive:#146c43;--color-critical:#b42318;--color-caution:#8a5a00;--color-accent-soft:#eef1fc;--color-positive-soft:#e8f2ec;--color-critical-soft:#fbecea;--color-caution-soft:#fbf2e3;--color-page:var(--color-white);--color-text:var(--color-ink);--color-text-muted:var(--color-ink-muted);--color-text-on-dark:var(--color-white);--color-text-on-dark-muted:var(--color-border);--color-line:var(--color-border);--color-line-strong:var(--color-ink);--font-sans:"Inter","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SFMono-Regular",Menlo,Consolas,"Courier New",monospace;--weight-regular:400;--weight-medium:600;--text-2xs:0.6875rem;--text-xs:clamp(0.75rem,0.72rem + 0.12vw,0.8125rem);--text-sm:clamp(0.8125rem,0.78rem + 0.18vw,0.875rem);--text-base:clamp(0.9375rem,0.91rem + 0.2vw,1rem);--text-md:clamp(1rem,0.96rem + 0.25vw,1.125rem);--text-lg:clamp(1.125rem,1.05rem + 0.4vw,1.375rem);--text-xl:clamp(1.375rem,1.2rem + 0.8vw,1.75rem);--text-2xl:clamp(1.75rem,1.45rem + 1.4vw,2.5rem);--text-3xl:clamp(2.25rem,1.75rem + 2.4vw,3.25rem);--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.55;--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.06em;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1200px;--bp-2xl:1440px;--gutter:clamp(1rem,3vw,2rem);--container-max:1140px;--container-max-wide:1320px;--measure:70ch;--tap-target:2.75rem;--header-height:3.5rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-pill:999px;--duration-fast:150ms;--duration-base:200ms;--duration-slow:300ms;--ease-standard:cubic-bezier(0.2,0,0,1);--focus-width:2px;--focus-offset:2px;--focus-color:var(--color-accent);--shadow-overlay:0 12px 32px rgba(23,26,32,.12);--z-sticky:1020;--z-header:1030;--z-backdrop:1069;--z-drawer:1070}@media (min-width:1440px){:root{--container-max:var(--container-max-wide)}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background-color:var(--color-page);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a,body,dd,dt,h1,h2,h3,h4,h5,h6,label,li,p,span,strong,td,th{overflow-wrap:break-word}canvas,embed,iframe,img,object,svg,video{max-width:100%}canvas,img,video{height:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text);margin-top:0;margin-bottom:var(--space-3)}.h1,h1{font-size:var(--text-2xl)}.h2,h2{font-size:var(--text-xl)}.h3,h3{font-size:var(--text-lg)}.h4,h4{font-size:var(--text-md)}.h5,h5{font-size:var(--text-base)}.h6,h6{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}p{margin-top:0;margin-bottom:var(--space-4)}.prose,.text-measure{max-width:var(--measure)}.small,small{font-size:var(--text-sm)}b,strong{font-weight:var(--weight-medium)}hr{border:0;border-top:1px solid var(--color-line);margin:var(--space-5) 0;opacity:1}.font-monospace,code,pre{font-family:var(--font-mono);font-size:.9em}a{text-decoration:none;transition:opacity var(--duration-fast) var(--ease-standard)}a,a:hover{color:var(--color-accent)}a:hover{text-decoration:underline}.text-muted{color:var(--color-text-muted)!important}.text-primary{color:var(--color-accent)!important}.text-secondary{color:var(--color-text-muted)!important}.text-success{color:var(--color-positive)!important}.text-danger{color:var(--color-critical)!important}.text-warning{color:var(--color-caution)!important}.text-info{color:var(--color-accent)!important}.text-dark{color:var(--color-ink)!important}.text-white{color:var(--color-white)!important}.bg-light{background-color:var(--color-surface)!important}.bg-white{background-color:var(--color-white)!important}.bg-dark{background-color:var(--color-ink)!important}.bg-primary{background-color:var(--color-accent)!important}.bg-success{background-color:var(--color-positive)!important}.bg-danger{background-color:var(--color-critical)!important}.bg-warning{background-color:var(--color-caution)!important}.bg-secondary{background-color:var(--color-text-muted)!important}.border,.border-bottom,.border-left,.border-right,.border-top{border-color:var(--color-line)!important}.container,.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--gutter);padding-left:var(--gutter);padding-right:max(var(--gutter),env(safe-area-inset-right));padding-left:max(var(--gutter),env(safe-area-inset-left))}.container{max-width:var(--container-max)}.container-fluid{max-width:1920px}#app{min-height:100vh;display:flex;flex-direction:column}#app-body{flex:1 1 auto;padding-top:var(--space-4);padding-bottom:calc(var(--space-7) + env(safe-area-inset-bottom))}@media (min-width:768px){#app-body{padding-top:var(--space-5)}}.row:not(.no-gutters){margin-left:calc(var(--space-2)*-1);margin-right:calc(var(--space-2)*-1)}.row:not(.no-gutters)>[class*=col]{padding-left:var(--space-2);padding-right:var(--space-2)}@media (min-width:768px){.row:not(.no-gutters){margin-left:calc(var(--space-3)*-1);margin-right:calc(var(--space-3)*-1)}.row:not(.no-gutters)>[class*=col]{padding-left:var(--space-3);padding-right:var(--space-3)}}:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}.skip-link{position:absolute;left:var(--space-2);top:var(--space-2);z-index:calc(var(--z-drawer) + 1);padding:var(--space-2) var(--space-4);background-color:var(--color-ink);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);transform:translateY(-200%);transition:transform var(--duration-fast) var(--ease-standard)}.skip-link,.skip-link:focus{color:var(--color-text-on-dark)}.skip-link:focus{transform:translateY(0);text-decoration:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{--btn-bg:transparent;--btn-fg:var(--color-ink);--btn-border:var(--color-line);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.5rem;padding:var(--space-2) var(--space-4);border:1px solid var(--btn-border);border-radius:var(--radius-sm);background-color:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);text-align:center;box-shadow:none;transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}@media (pointer:coarse){.btn{min-height:var(--tap-target)}}.btn:focus,.btn:hover{background-color:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-border);box-shadow:none;text-decoration:none}.btn:hover{opacity:.85}.btn:active,.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-color:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-border);box-shadow:none;transform:translateY(1px)}.btn:focus-visible,.btn:not(:disabled):not(.disabled):active:focus{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);box-shadow:none}.btn.disabled,.btn:disabled{--btn-bg:var(--color-surface);--btn-fg:var(--color-ink-muted);--btn-border:var(--color-line);background-color:var(--color-surface);color:var(--color-ink-muted);border-color:var(--color-line);opacity:1;box-shadow:none;cursor:not-allowed}.show>.btn.dropdown-toggle{background-color:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-border);box-shadow:none}.btn-sm{min-height:2rem;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}@media (pointer:coarse){.btn-sm{min-height:2.25rem}}.btn-lg{min-height:3rem;padding:var(--space-3) var(--space-6);font-size:var(--text-base);border-radius:var(--radius-sm)}.btn-block{display:flex;width:100%}.btn.rounded-pill,.rounded-pill{border-radius:var(--radius-pill)}.btn-info,.btn-primary{--btn-bg:var(--color-accent);--btn-fg:var(--color-text-on-dark);--btn-border:var(--color-accent)}.btn-secondary{--btn-bg:var(--color-ink-muted);--btn-fg:var(--color-text-on-dark);--btn-border:var(--color-ink-muted)}.btn-dark{--btn-bg:var(--color-ink);--btn-fg:var(--color-text-on-dark);--btn-border:var(--color-ink)}.btn-success{--btn-bg:var(--color-positive);--btn-fg:var(--color-text-on-dark);--btn-border:var(--color-positive)}.btn-danger{--btn-bg:var(--color-critical);--btn-fg:var(--color-text-on-dark);--btn-border:var(--color-critical)}.btn-warning{--btn-bg:var(--color-caution);--btn-fg:var(--color-text-on-dark);--btn-border:var(--color-caution)}.btn-light{--btn-bg:var(--color-surface);--btn-fg:var(--color-ink);--btn-border:var(--color-line)}.btn-outline-info,.btn-outline-primary{--btn-bg:transparent;--btn-fg:var(--color-accent);--btn-border:var(--color-accent)}.btn-outline-secondary{--btn-bg:transparent;--btn-fg:var(--color-ink);--btn-border:var(--color-line)}.btn-outline-dark{--btn-bg:transparent;--btn-fg:var(--color-ink);--btn-border:var(--color-ink)}.btn-outline-success{--btn-bg:transparent;--btn-fg:var(--color-positive);--btn-border:var(--color-positive)}.btn-outline-danger{--btn-bg:transparent;--btn-fg:var(--color-critical);--btn-border:var(--color-critical)}.btn-outline-warning{--btn-bg:transparent;--btn-fg:var(--color-caution);--btn-border:var(--color-caution)}.btn-outline-light{--btn-bg:transparent;--btn-fg:var(--color-ink);--btn-border:var(--color-line)}.btn-outline-danger:hover,.btn-outline-dark:hover,.btn-outline-info:hover,.btn-outline-primary:hover,.btn-outline-success:hover,.btn-outline-warning:hover{--btn-bg:var(--btn-fg);color:var(--color-text-on-dark);opacity:1}.btn-outline-light:hover,.btn-outline-secondary:hover{--btn-bg:var(--color-surface);opacity:1}.btn-link{--btn-bg:transparent;--btn-fg:var(--color-accent);--btn-border:transparent;min-height:0;padding:0;text-decoration:none}.btn-link:hover{text-decoration:underline}.col-form-label,label,legend{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);margin-bottom:var(--space-1)}.form-group{margin-bottom:var(--space-4)}.custom-file-label,.custom-select,.form-control,.input-group-text{min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background-color:var(--color-white);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-snug);box-shadow:none;transition:border-color var(--duration-fast) var(--ease-standard)}.input-group-text{background-color:var(--color-surface);color:var(--color-text-muted)}.custom-file-input:focus~.custom-file-label,.custom-select:focus,.form-control:focus{border-color:var(--color-accent);box-shadow:none;outline:var(--focus-width) solid var(--focus-color);outline-offset:0}.form-control::-moz-placeholder{color:var(--color-text-muted);opacity:1}.form-control::placeholder{color:var(--color-text-muted);opacity:1}.custom-select:disabled,.form-control:disabled,.form-control[readonly]{background-color:var(--color-surface);color:var(--color-text-muted)}textarea.form-control{min-height:6rem}.custom-select-sm,.form-control-sm{min-height:2rem;padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--color-critical);background-image:none;padding-right:var(--space-3)}.custom-select.is-valid,.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--color-positive);background-image:none;padding-right:var(--space-3)}.form-error,.invalid-feedback{color:var(--color-critical);font-size:var(--text-sm);margin-top:var(--space-1)}.valid-feedback{color:var(--color-positive);font-size:var(--text-sm)}.form-text{color:var(--color-text-muted);font-size:var(--text-sm)}.custom-control-label,.form-check-label{font-weight:var(--weight-regular);line-height:1.6;cursor:pointer}.custom-control-input:checked~.custom-control-label:before{background-color:var(--color-accent);border-color:var(--color-accent)}.custom-control-input:focus~.custom-control-label:before{box-shadow:none;outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.custom-control-label:before{border-color:var(--color-ink-muted)}.card{border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:none}.card,.card-footer,.card-header{background-color:var(--color-white)}.card-footer,.card-header{border-color:var(--color-line);padding:var(--space-3) var(--space-4);font-weight:var(--weight-medium)}.card-body{padding:var(--space-4)}.card-title{font-size:var(--text-md);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.list-group-item{border-color:var(--color-line);padding:var(--space-3) var(--space-4);color:var(--color-text);background-color:var(--color-white)}.list-group-item-action:focus,.list-group-item-action:hover{background-color:var(--color-surface);color:var(--color-text)}.list-group-item.active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-dark)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.3em .6em;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);white-space:normal}.badge-info,.badge-primary{background-color:var(--color-accent-soft);border-color:var(--color-accent-soft);color:var(--color-accent)}.badge-success{background-color:var(--color-positive-soft);border-color:var(--color-positive-soft);color:var(--color-positive)}.badge-danger{background-color:var(--color-critical-soft);border-color:var(--color-critical-soft);color:var(--color-critical)}.badge-warning{background-color:var(--color-caution-soft);border-color:var(--color-caution-soft);color:var(--color-caution)}.badge-light,.badge-secondary{background-color:var(--color-surface);border-color:var(--color-line);color:var(--color-text-muted)}.badge-dark{background-color:var(--color-ink);border-color:var(--color-ink);color:var(--color-text-on-dark)}.alert{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text);background-color:var(--color-surface)}.alert-info,.alert-primary{background-color:var(--color-accent-soft);border-color:var(--color-accent-soft);color:var(--color-accent)}.alert-success{background-color:var(--color-positive-soft);border-color:var(--color-positive-soft);color:var(--color-positive)}.alert-danger{background-color:var(--color-critical-soft);border-color:var(--color-critical-soft);color:var(--color-critical)}.alert-warning{background-color:var(--color-caution-soft);border-color:var(--color-caution-soft);color:var(--color-caution)}.toast{border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);max-width:calc(100vw - var(--space-4))}.table{color:var(--color-text);font-size:var(--text-sm);margin-bottom:var(--space-4)}.table thead th{border-top:0;border-bottom:1px solid var(--color-line-strong);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);vertical-align:bottom}.table td,.table th,.table thead th{padding:var(--space-2) var(--space-3)}.table td,.table th{border-top:1px solid var(--color-line);vertical-align:middle}.table-sm td,.table-sm th{padding:var(--space-1) var(--space-2)}.table-bordered,.table-bordered td,.table-bordered th{border-color:var(--color-line)}.table-hover tbody tr:hover,.table-striped tbody tr:nth-of-type(odd){background-color:var(--color-surface);color:var(--color-text)}.table .thead-dark th,.table .thead-light th{background-color:var(--color-surface);border-color:var(--color-line);color:var(--color-text-muted)}.table.b-table>thead>tr>[aria-sort]:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:calc(var(--focus-offset)*-1)}.table-responsive{-webkit-overflow-scrolling:touch}.nav-tabs{border-bottom:1px solid var(--color-line)}.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;border-radius:0;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.nav-tabs .nav-link:hover{border-color:transparent transparent var(--color-line);color:var(--color-text)}.nav-tabs .nav-link.active{background-color:transparent;border-color:transparent transparent var(--color-ink);color:var(--color-text)}.page-link{border-color:var(--color-line);color:var(--color-text);box-shadow:none}.page-item.active .page-link{background-color:var(--color-ink);border-color:var(--color-ink);color:var(--color-text-on-dark)}.page-link:focus{box-shadow:none;outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.modal-content{border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay)}.modal-footer,.modal-header{border-color:var(--color-line);padding:var(--space-4)}.modal-body{padding:var(--space-4)}.modal-title{font-size:var(--text-md);font-weight:var(--weight-medium)}.modal-backdrop.show{background-color:var(--color-ink);opacity:.45}.dropdown-menu{border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);padding:var(--space-1);font-size:var(--text-sm)}.dropdown-item{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--color-text)}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--color-surface);color:var(--color-text)}.dropdown-item.active,.dropdown-item:active{background-color:var(--color-accent);color:var(--color-text-on-dark)}.popover{border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);font-family:var(--font-sans);font-size:var(--text-sm)}.popover-header{background-color:var(--color-surface);font-size:var(--text-sm);font-weight:var(--weight-medium)}.popover-header,.vc-container{border-color:var(--color-line)}.vc-container{width:100%;max-width:100%;border-radius:var(--radius-md);font-family:var(--font-sans)}.ql-container,.quillWrapper .ql-toolbar{border-color:var(--color-line)!important}.quillWrapper .ql-toolbar{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.ql-container{border-radius:0 0 var(--radius-sm) var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-base)}.ql-editor{min-height:8rem}.spinner-border,.spinner-grow{color:var(--color-accent)}.login>.container,.logout>.container{max-width:26rem;padding-top:var(--space-8);padding-bottom:var(--space-8)}.login h2,.logout h2{margin-bottom:var(--space-6)}@media (max-width:767.98px){.back-to-top,.legform-back-to-top{position:fixed;right:max(var(--space-3),env(safe-area-inset-right));bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:var(--z-sticky);display:flex!important;align-items:center;justify-content:center;width:var(--tap-target)!important;height:var(--tap-target);min-height:var(--tap-target);padding:0;border-radius:var(--radius-pill);opacity:.9}}.app-header{position:sticky;top:0;z-index:var(--z-header);background-color:var(--color-white);border-bottom:1px solid var(--color-line);padding-top:env(safe-area-inset-top)}.app-header-inner{display:flex;min-height:var(--header-height)}.app-brand,.app-header-inner{align-items:center;gap:var(--space-2)}.app-brand{display:inline-flex;min-height:var(--tap-target);padding:var(--space-1) 0;margin-right:var(--space-2);color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);white-space:nowrap}.app-brand:focus,.app-brand:hover{color:var(--color-text);text-decoration:none}.app-nav-icon{flex:0 0 auto;font-size:1rem}.app-nav-list{gap:var(--space-1);list-style:none;margin:0;padding:0}.app-nav-link,.app-nav-list{display:flex;align-items:center}.app-nav-link{gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-regular);white-space:nowrap;transition:opacity var(--duration-fast) var(--ease-standard)}.app-nav-link:focus,.app-nav-link:hover{color:var(--color-text);text-decoration:none;background-color:var(--color-surface)}.app-nav-link.router-link-active{font-weight:var(--weight-medium);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-decoration-thickness:2px;text-underline-offset:6px}.app-nav-user{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap}.app-nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:var(--tap-target);min-height:var(--tap-target);margin-left:auto;padding:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-sm);background-color:var(--color-white);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.app-nav-toggle:hover{background-color:var(--color-surface)}.app-nav-desktop{display:none}.app-menu{position:fixed;inset:0;z-index:var(--z-drawer);display:flex;flex-direction:column;background-color:var(--color-white);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateY(-.5rem);transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),visibility 0s linear var(--duration-base)}.app-menu.is-open{visibility:visible;opacity:1;transform:translateY(0);transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),visibility 0s linear 0s}.app-menu-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--header-height);border-bottom:1px solid var(--color-line)}.app-menu-title{font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);margin:0}.app-menu-close{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-target);min-height:var(--tap-target);padding:var(--space-2);border:0;border-radius:var(--radius-sm);background-color:transparent;color:var(--color-text);font-size:var(--text-md);cursor:pointer}.app-menu-close:hover{background-color:var(--color-surface)}.app-menu{--menu-row:clamp(2rem,6.5vh,3rem);--menu-row:clamp(2rem,6.5dvh,3rem)}.app-menu-body{flex:1 1 auto;padding-top:var(--space-3);padding-bottom:var(--space-3)}.app-menu .app-nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0 var(--space-2)}.app-menu .app-nav-group+.app-nav-group{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-line)}.app-menu .app-nav-link{height:100%;min-height:var(--menu-row);padding:var(--space-1) var(--space-2);font-size:var(--text-base);line-height:1.2;white-space:normal;border-radius:var(--radius-sm)}.app-menu .app-nav-link.router-link-active{text-decoration:none;box-shadow:inset 2px 0 0 0 var(--color-accent)}.app-menu .app-nav-user{display:flex;align-items:center;min-width:0;padding:0 var(--space-2);font-size:var(--text-sm);white-space:normal}.app-menu .app-menu-heading{grid-column:1/-1;padding-top:var(--space-1);font-size:var(--text-xs)}.app-menu .app-menu-row-start{grid-column-start:1}@media (max-height:480px) and (min-width:480px){.app-menu{--menu-row:clamp(1.75rem,9vh,2.5rem);--menu-row:clamp(1.75rem,9dvh,2.5rem)}.app-menu .app-nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.app-menu-header{min-height:var(--tap-target)}.app-menu-body{padding-top:var(--space-1);padding-bottom:var(--space-1)}.app-menu .app-nav-group+.app-nav-group{margin-top:var(--space-1);padding-top:var(--space-1)}.app-menu .app-nav-link{font-size:var(--text-sm);white-space:nowrap}.app-menu .app-nav-link>span{overflow:hidden;text-overflow:ellipsis}}@media (max-height:480px) and (min-width:800px){.app-menu .app-nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}}body.has-menu-open{overflow:hidden}@media (min-width:1360px){.app-header-inner{max-width:none;padding-left:max(var(--gutter),calc((100% - var(--container-max))/2 + var(--gutter)))}.app-menu,.app-nav-toggle{display:none}.app-nav-desktop{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;gap:var(--space-2);min-width:0}.app-nav-desktop .app-nav-list{gap:var(--space-0);min-width:0}.app-nav-desktop .app-nav-link{gap:var(--space-1);padding-right:var(--space-2);padding-left:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);min-width:0}.app-nav-desktop .app-nav-link.router-link-active{text-decoration:none;background-color:var(--color-surface)}.app-nav-desktop .app-nav-dropdown-item{display:flex;align-items:center;gap:var(--space-2)}.app-nav-desktop .app-nav-link>span{overflow:hidden;text-overflow:ellipsis}.app-nav-desktop .app-nav-user{font-size:var(--text-xs)}.app-nav-desktop .app-nav-group+.app-nav-group{padding-left:var(--space-2);border-left:1px solid var(--color-line)}.app-nav-desktop .app-nav-end{flex:0 0 auto;margin-left:auto;gap:var(--space-2)}}@media (min-width:1360px) and (max-width:1599.98px){.app-header-inner{padding-left:var(--gutter)}.app-nav-desktop .app-nav-link{padding-right:var(--space-1);padding-left:var(--space-1)}}@media (max-width:1919.98px){.app-nav-desktop .app-nav-user{display:none}}@media (max-width:767.98px){.d-flex:not(.flex-nowrap){flex-wrap:wrap}.custom-file-input,.custom-file-label,.custom-select,.form-control{font-size:16px;min-height:var(--tap-target)}.form-group{margin-bottom:var(--space-3)}.custom-checkbox,.custom-radio,.form-check{margin-bottom:var(--space-1)}.btn:not(.btn-sm):not(.btn-link):not(.dropdown-toggle){display:flex;width:100%;min-height:var(--tap-target);white-space:normal}.btn:not(.btn-sm)+.btn:not(.btn-sm){margin-top:var(--space-2)}.app-header .btn,.b-calendar .btn,.btn-group .btn,.btn-toolbar .btn,.form-control .btn,.input-group .btn,.popover .btn,.table .btn,.vc-container .btn{display:inline-flex;width:auto;min-height:0}.btn-group .btn+.btn,.btn-toolbar .btn+.btn,.input-group .btn+.btn,.table .btn+.btn{margin-top:0}.btn-sm{white-space:normal}.table{font-size:var(--text-xs);margin-bottom:var(--space-3)}.table td,.table th{padding:var(--space-2)}.table thead th{white-space:nowrap}.table.b-table.b-table-stacked-md{text-align:left}.table.b-table.b-table-stacked-md>tbody>tr{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-2)}.table.b-table.b-table-stacked-md>tbody>tr>td,.table.b-table.b-table-stacked-md>tbody>tr>th{border-top:0}.modal-dialog,.modal-dialog.modal-lg,.modal-dialog.modal-xl{max-width:100%;margin:var(--space-2)}.modal-body,.modal-footer,.modal-header{padding:var(--space-3)}.modal-body{max-height:75vh;overflow-y:auto}.nav-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.nav-tabs .nav-link{white-space:nowrap}.quillWrapper .ql-toolbar{padding:var(--space-1)}}@media (max-width:400px){.table td,.table th{padding:var(--space-1)}}