:root{--radius-sm:10px;--radius:14px;--radius-lg:18px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font:"Noto Sans Thai", "Sarabun", "Leelawadee UI", "Thonburi", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num:ui-sans-serif, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans Thai", "Leelawadee UI", "Thonburi", system-ui, sans-serif;--topbar-h:60px;--content-w:1180px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f8f8;--bg-elev:#fff;--bg-muted:#edf2f1;--bg-hover:#e4ecea;--text:#132423;--text-muted:#4b5f5d;--text-faint:#5d706e;--border:#dbe4e2;--border-strong:#c3d0ce;--accent:#0f766e;--accent-hover:#115e59;--accent-contrast:#fff;--accent-soft:#d9f2ee;--ok:#276b41;--ok-soft:#e2f0e6;--warn:#946200;--warn-soft:#faefd2;--danger:#b3261e;--danger-soft:#fae6e3;--neutral:#4b5f5d;--neutral-soft:#e4ecea;--focus:#0f766e;--overlay:#0c1c1b73;--shadow-sm:0 1px 2px #0f2d2a0f, 0 1px 3px #0f2d2a0d;--shadow-md:0 12px 32px #0f2d2a24, 0 2px 6px #0f2d2a0f}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c1716;--bg-elev:#142321;--bg-muted:#1a2c2a;--bg-hover:#213634;--text:#e5efee;--text-muted:#a3b8b5;--text-faint:#8a9f9c;--border:#253b38;--border-strong:#35514d;--accent:#2dd4bf;--accent-hover:#5eead4;--accent-contrast:#04201d;--accent-soft:#173a36;--ok:#72c692;--ok-soft:#1c3124;--warn:#e6b454;--warn-soft:#3a2e15;--danger:#f2806f;--danger-soft:#3f201b;--neutral:#a3b8b5;--neutral-soft:#213634;--focus:#5eead4;--overlay:#0009;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 14px 36px #00000080, 0 2px 6px #0000004d}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{min-height:100dvh;font-family:var(--font);overflow-wrap:break-word;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.6}h1,h2,h3,h4{color:var(--text);margin:0;font-weight:700;line-height:1.35}p{margin:0}p,li,dt,dd{text-wrap:pretty}h1,h2,h3,h4,.field-hint,.field-error,.empty-state-text,.notice{text-wrap:balance}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit;color:inherit}img,svg{flex-shrink:0}strong{font-weight:700}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-soft);color:var(--text)}.noscript{margin:var(--space-6) var(--space-4);text-align:center;font-size:1.1rem}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elev);color:var(--text);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--bg-hover);color:var(--text)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn svg{width:18px;height:18px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-contrast)}.btn-primary:disabled:hover{background:var(--accent);border-color:var(--accent)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-hover)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn-icon{width:44px;padding:0}.btn-block{width:100%}.link-btn{color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:600;text-decoration:underline;display:inline-flex}.link-btn:hover{color:var(--accent-hover)}.link-btn:disabled{color:var(--text-faint);cursor:not-allowed;font-weight:500;text-decoration:none}@media (pointer:coarse){.link-btn{min-height:44px}}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--text);font-size:.9375rem;font-weight:600}.field-required{color:var(--danger);font-weight:700}.field-hint{color:var(--text-muted);font-size:.8125rem;line-height:1.5}.field-error{color:var(--danger);font-size:.8125rem;font-weight:500;line-height:1.5}.input,.select{width:100%;min-height:44px;color:var(--text);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius-sm);appearance:none;padding:9px 12px;font-size:16px;line-height:1.4;transition:border-color .15s,box-shadow .15s;display:block}textarea.input{resize:vertical;min-height:104px}.input::placeholder{color:var(--text-faint);opacity:1}.input:hover:not(:disabled),.select:hover:not(:disabled){border-color:var(--text-faint)}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input:disabled,.select:disabled{background:var(--bg-muted);color:var(--text-muted);cursor:not-allowed}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-soft)}.select{background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:38px}.input-group{background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius-sm);align-items:stretch;min-width:0;transition:border-color .15s,box-shadow .15s;display:flex}.input-group:hover{border-color:var(--text-faint)}.input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-group.is-invalid{border-color:var(--danger)}.input-group.is-invalid:focus-within{box-shadow:0 0 0 3px var(--danger-soft)}.input-group.is-disabled{background:var(--bg-muted)}.input-group .input{min-width:0;min-height:42px;box-shadow:none;border-radius:var(--radius-sm);background:0 0;border:0;flex:auto}.input-group .input:focus{box-shadow:none}.input-group>.btn{min-height:42px}.input-prefix{color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;padding:0 0 0 12px;display:flex}.input-prefix svg{width:18px;height:18px}.choice-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice-chip{min-width:56px;min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-elev);color:var(--text);cursor:pointer;font-weight:600}.choice-chip:hover{background:var(--bg-hover)}.choice-chip[aria-checked=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.choice-chip:disabled{opacity:.5;cursor:not-allowed}.table-wrap{-webkit-overflow-scrolling:touch;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9375rem}.table th{text-align:left;color:var(--text-muted);background:var(--bg-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:.8125rem;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr.is-clickable:hover td{background:var(--bg-hover)}.badge{border-radius:var(--radius-pill);white-space:nowrap;background:var(--neutral-soft);min-height:24px;color:var(--neutral);align-items:center;gap:4px;padding:1px 10px;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:.875rem}.nowrap{white-space:nowrap}.keep{max-width:100%;display:inline-block}.stack{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.stack-sm{gap:var(--space-2)}.stack-lg{gap:var(--space-5)}.row{align-items:center;gap:var(--space-3);min-width:0;display:flex}.grow{flex:auto;min-width:0}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.notice{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--bg-muted);color:var(--text);font-size:.9375rem;line-height:1.55;display:flex}.notice>svg{width:20px;height:20px;margin-top:2px}.notice-info{background:var(--accent-soft)}.notice-info>svg{color:var(--accent)}.notice-ok{background:var(--ok-soft)}.notice-ok>svg{color:var(--ok)}.notice-warn{background:var(--warn-soft)}.notice-warn>svg{color:var(--warn)}.notice-danger{background:var(--danger-soft)}.notice-danger>svg{color:var(--danger)}.swal2-container{--swal2-background:var(--bg-elev);--swal2-color:var(--text);--swal2-backdrop:var(--overlay);--swal2-border-radius:var(--radius-lg);--swal2-width:26em;--swal2-timer-progress-bar-background:var(--accent);--swal2-close-button-color:var(--text-faint);--swal2-outline:0 0 0 3px var(--accent-soft);--swal2-toast-box-shadow:var(--shadow-md);--swal2-toast-border:1px solid var(--border);--swal2-actions-margin:1.25em auto 0;z-index:2000}.swal2-popup{font-family:var(--font);border:1px solid var(--border);box-shadow:var(--shadow-md)}.swal2-popup .swal2-title{color:var(--text);font-size:1.25rem;font-weight:700;line-height:1.4}.swal2-popup .swal2-html-container{color:var(--text-muted);white-space:pre-line;font-size:1rem;line-height:1.6}.swal2-popup .swal2-actions{gap:var(--space-2);padding:0 var(--space-4);flex-wrap:wrap}.swal2-popup .swal2-actions .btn{min-width:112px}.swal2-popup.swal2-toast{border-radius:var(--radius);font-size:.9375rem}.swal2-popup.swal2-toast .swal2-title{margin:0 .5em;font-size:.9375rem;font-weight:600}.swal2-icon.swal2-success{border-color:var(--ok)!important;color:var(--ok)!important}.swal2-icon.swal2-success [class^=swal2-success-line]{background-color:var(--ok)!important}.swal2-icon.swal2-success .swal2-success-ring{border-color:var(--ok-soft)!important}.swal2-icon.swal2-error{border-color:var(--danger)!important;color:var(--danger)!important}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{background-color:var(--danger)!important}.swal2-icon.swal2-warning{border-color:var(--warn)!important;color:var(--warn)!important}.swal2-icon.swal2-info,.swal2-icon.swal2-question{border-color:var(--accent)!important;color:var(--accent)!important}.swal2-icon.swal2-success [class^=swal2-success-circular-line],.swal2-icon.swal2-success .swal2-success-fix{background-color:var(--bg-elev)!important}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-elev:#fff;--bg-muted:#f2f2f2;--text:#000;--text-muted:#333;--text-faint:#444;--border:#ccc;--border-strong:#999;--shadow-sm:none;--shadow-md:none}}:root{--swal2-outline:0 0 0 3px #6496c880;--swal2-container-padding:.625em;--swal2-backdrop:#0006;--swal2-backdrop-transition:background-color .15s;--swal2-width:32em;--swal2-padding:0 0 1.25em;--swal2-border:none;--swal2-border-radius:.3125rem;--swal2-background:white;--swal2-color:#545454;--swal2-show-animation:swal2-show .3s;--swal2-hide-animation:swal2-hide .15s forwards;--swal2-icon-zoom:1;--swal2-title-padding:.8em 1em 0;--swal2-html-container-padding:1em 1.6em .3em;--swal2-input-border:1px solid #d9d9d9;--swal2-input-border-radius:.1875em;--swal2-input-box-shadow:inset 0 1px 1px #0000000f, 0 0 0 3px transparent;--swal2-input-background:transparent;--swal2-input-transition:border-color .2s, box-shadow .2s;--swal2-input-hover-box-shadow:inset 0 1px 1px #0000000f, 0 0 0 3px transparent;--swal2-input-focus-border:1px solid #b4dbed;--swal2-input-focus-box-shadow:inset 0 1px 1px #0000000f, 0 0 0 3px #6496c880;--swal2-progress-step-background:#add8e6;--swal2-validation-message-background:#f0f0f0;--swal2-validation-message-color:#666;--swal2-footer-border-color:#eee;--swal2-footer-background:transparent;--swal2-footer-color:inherit;--swal2-timer-progress-bar-background:#0000004d;--swal2-close-button-position:initial;--swal2-close-button-inset:auto;--swal2-close-button-font-size:2.5em;--swal2-close-button-color:#ccc;--swal2-close-button-transition:color .2s, box-shadow .2s;--swal2-close-button-outline:initial;--swal2-close-button-box-shadow:inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow:inset var(--swal2-outline);--swal2-close-button-hover-transform:none;--swal2-actions-justify-content:center;--swal2-actions-width:auto;--swal2-actions-margin:1.25em auto 0;--swal2-actions-padding:0;--swal2-actions-border-radius:0;--swal2-actions-background:transparent;--swal2-action-button-transition:background-color .2s, box-shadow .2s;--swal2-action-button-hover:black 10%;--swal2-action-button-active:black 10%;--swal2-confirm-button-box-shadow:none;--swal2-confirm-button-border-radius:.25em;--swal2-confirm-button-background-color:#7066e0;--swal2-confirm-button-color:#fff;--swal2-deny-button-box-shadow:none;--swal2-deny-button-border-radius:.25em;--swal2-deny-button-background-color:#dc3741;--swal2-deny-button-color:#fff;--swal2-cancel-button-box-shadow:none;--swal2-cancel-button-border-radius:.25em;--swal2-cancel-button-background-color:#6e7881;--swal2-cancel-button-color:#fff;--swal2-toast-show-animation:swal2-toast-show .5s;--swal2-toast-hide-animation:swal2-toast-hide .1s forwards;--swal2-toast-border:none;--swal2-toast-box-shadow:0 0 1px #00000013, 0 1px 2px #00000013, 1px 2px 4px #00000013, 1px 3px 8px #00000013, 2px 4px 16px #00000013}[data-swal2-theme=dark]{--swal2-dark-theme-black:#19191a;--swal2-dark-theme-white:#e1e1e1;--swal2-background:var(--swal2-dark-theme-black);--swal2-color:var(--swal2-dark-theme-white);--swal2-footer-border-color:#555;--swal2-input-background:color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background:color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-color:var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background:#ffffffb3}@media (prefers-color-scheme:dark){[data-swal2-theme=auto]{--swal2-dark-theme-black:#19191a;--swal2-dark-theme-white:#e1e1e1;--swal2-background:var(--swal2-dark-theme-black);--swal2-color:var(--swal2-dark-theme-white);--swal2-footer-border-color:#555;--swal2-input-background:color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background:color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-color:var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background:#ffffffb3}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{pointer-events:none;background-color:#0000!important}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:auto}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;pointer-events:none;background-color:#0000;width:360px;max-width:100%}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translate(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translate(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static!important}}div:where(.swal2-container){z-index:1060;box-sizing:border-box;height:100%;padding:var(--swal2-container-padding);transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch;grid-template-rows:minmax(min-content,auto) minmax(min-content,auto) minmax(min-content,auto);grid-template-areas:"top-start top top-end""center-start center center-end""bottom-start bottom-center bottom-end";display:grid;position:fixed;inset:0;overflow-x:hidden}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:0 0!important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0,1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0,1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0,1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-area:2/2;place-self:center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-area:2/3;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-area:3/1;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-area:3/2;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-area:3/3;place-self:end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none!important}div:where(.swal2-container)[popover]{border:0;width:auto}div:where(.swal2-container) div:where(.swal2-popup){box-sizing:border-box;width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);grid-template-columns:minmax(0,100%);font-family:inherit;font-size:1rem;display:none;position:relative}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable,div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging,div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){max-width:100%;padding:var(--swal2-title-padding);color:inherit;text-align:center;text-transform:none;overflow-wrap:break-word;cursor:initial;margin:0;font-size:1.875em;font-weight:600;position:relative}div:where(.swal2-container) div:where(.swal2-actions){z-index:1;box-sizing:border-box;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background);flex-wrap:wrap;display:flex}div:where(.swal2-container) div:where(.swal2-loader){border:.25em solid #2778c4;border-color:#2778c4 #0000;border-radius:100%;justify-content:center;align-items:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:1.5s linear infinite swal2-rotate-loading;display:none}div:where(.swal2-container) button:where(.swal2-styled){transition:var(--swal2-action-button-transition);border:none;margin:.3125em;padding:.625em 1.1em;font-weight:500;box-shadow:0 0 0 3px #0000}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{box-shadow:var(--swal2-action-button-focus-box-shadow);outline:none}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);text-align:center;cursor:initial;margin:1em 0 0;padding:1em 1em 0;font-size:1em}div:where(.swal2-container) .swal2-timer-progress-bar-container{border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius);position:absolute;bottom:0;left:0;right:0;overflow:hidden;grid-column:auto!important}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){background:var(--swal2-timer-progress-bar-background);width:100%;height:.25em}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;cursor:initial;margin:2em auto 1em}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;width:1.2em;height:1.2em;transition:var(--swal2-close-button-transition);border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;background:0 0;border:none;justify-content:center;justify-self:end;align-items:center;margin-top:0;margin-bottom:-1.2em;margin-right:0;padding:0;overflow:hidden}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);color:#f27474;background:0 0}div:where(.swal2-container) button:where(.swal2-close):focus-visible{box-shadow:var(--swal2-close-button-focus-box-shadow);outline:none}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;padding:var(--swal2-html-container-padding);color:inherit;text-align:center;overflow-wrap:break-word;word-break:break-word;cursor:initial;justify-content:center;margin:0;font-size:1.125em;font-weight:400;line-height:normal;overflow:auto}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);box-shadow:var(--swal2-input-focus-box-shadow);outline:none}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{background:var(--swal2-background);margin:1em 2em 3px}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;text-align:center;font-weight:600}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{background:var(--swal2-input-background);width:75%;margin-left:auto;margin-right:auto;font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{background:var(--swal2-input-background);min-width:50%;max-width:100%;color:inherit;padding:.375em .625em;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{background:var(--swal2-background);color:inherit;justify-content:center;align-items:center}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){justify-content:center;margin:1em auto 0;display:flex}div:where(.swal2-container) div:where(.swal2-validation-message){background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);justify-content:center;align-items:center;margin:1em 0 0;padding:.625em;font-size:1em;font-weight:300;overflow:hidden}div:where(.swal2-container) div:where(.swal2-validation-message):before{content:"!";color:#fff;text-align:center;background-color:#f27474;border-radius:50%;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;font-weight:600;line-height:1.5em;display:inline-block}div:where(.swal2-container) .swal2-progress-steps{background:0 0;flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;color:#fff;text-align:center;background:#2778c4;border-radius:2em;flex-shrink:0;width:2em;height:2em;line-height:2em}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;background:#2778c4;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px}div:where(.swal2-icon){box-sizing:content-box;zoom:var(--swal2-icon-zoom);cursor:default;-webkit-user-select:none;user-select:none;border:.25em solid #000;border-radius:50%;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;font-family:inherit;line-height:5em;position:relative}div:where(.swal2-icon) .swal2-icon-content{align-items:center;font-size:3.75em;display:flex}div:where(.swal2-icon).swal2-error{color:#f27474;border-color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{flex-grow:1;position:relative}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{background-color:#f27474;border-radius:.125em;width:2.9375em;height:.3125em;display:block;position:absolute;top:2.3125em}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:.5s swal2-animate-error-icon}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:.5s swal2-animate-error-x-mark}div:where(.swal2-icon).swal2-warning{color:#f8bb86;border-color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:.5s swal2-animate-error-icon}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:.5s swal2-animate-i-mark}div:where(.swal2-icon).swal2-info{color:#3fc3ee;border-color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:.5s swal2-animate-error-icon}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:.8s swal2-animate-i-mark}div:where(.swal2-icon).swal2-question{color:#87adbd;border-color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:.5s swal2-animate-error-icon}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:.8s swal2-animate-question-mark}div:where(.swal2-icon).swal2-success{color:#a5dc86;border-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{border-radius:50%;width:3.75em;height:7.5em;position:absolute}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em;top:-.4375em;left:-2.0635em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0;top:-.6875em;left:1.875em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success .swal2-success-ring{z-index:2;box-sizing:content-box;border:.25em solid #a5dc864d;border-radius:50%;width:100%;height:100%;position:absolute;top:-.25em;left:-.25em}div:where(.swal2-icon).swal2-success .swal2-success-fix{z-index:1;width:.4375em;height:5.625em;position:absolute;top:.5em;left:1.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{z-index:2;background-color:#a5dc86;border-radius:.125em;height:.3125em;display:block;position:absolute}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{width:1.5625em;top:2.875em;left:.8125em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{width:2.9375em;top:2.375em;right:.5em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:.75s swal2-animate-success-line-tip}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:.75s swal2-animate-success-line-long}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:4.25s ease-in swal2-rotate-success-circular-line}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{width:50px;height:50px;position:absolute;top:-9999px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{left:auto;right:0}.swal2-toast{box-sizing:border-box;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:auto;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;grid-area:1/1/4/4!important}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){text-align:initial;margin:.5em 1em;padding:0;font-size:1em}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-area:1/3/99/3;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){overflow:initial;text-align:initial;margin:.5em 1em;padding:0;font-size:1em}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-area:1/1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-area:1/1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{align-items:center;font-size:1.8em;font-weight:700;display:flex}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{width:1.375em;top:.875em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:.5em 0 0;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{border-radius:50%;width:1.6em;height:3em;position:absolute}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{transform-origin:2em 2em;border-radius:4em 0 0 4em;top:-.8em;left:-.5em;transform:rotate(-45deg)}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{transform-origin:0 1.5em;border-radius:0 4em 4em 0;top:-.25em;left:.9375em}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{width:.4375em;height:2.6875em;top:0;left:.4375em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{width:.75em;top:1.125em;left:.1875em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{width:1.375em;top:.9375em;right:.1875em}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:.75s swal2-toast-animate-success-line-tip}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:.75s swal2-toast-animate-success-line-long}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{opacity:0;transform:translateY(-50px)scale(.9)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes swal2-hide{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translateY(-50px)scale(.9)}}@keyframes swal2-animate-success-line-tip{0%{width:0;top:1.1875em;left:.0625em}54%{width:0;top:1.0625em;left:.125em}70%{width:3.125em;top:2.1875em;left:-.375em}84%{width:1.0625em;top:3em;left:1.3125em}to{width:1.5625em;top:2.8125em;left:.8125em}}@keyframes swal2-animate-success-line-long{0%{width:0;top:3.375em;right:2.875em}65%{width:0;top:3.375em;right:2.875em}84%{width:3.4375em;top:2.1875em;right:0}to{width:2.9375em;top:2.375em;right:.5em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{opacity:0;margin-top:1.625em;transform:scale(.4)}50%{opacity:0;margin-top:1.625em;transform:scale(.4)}80%{margin-top:-.375em;transform:scale(1.15)}to{opacity:1;margin-top:0;transform:scale(1)}}@keyframes swal2-animate-error-icon{0%{opacity:0;transform:rotateX(100deg)}to{opacity:1;transform:rotateX(0)}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}to{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{opacity:0;transform:rotate(45deg)}25%{opacity:.4;transform:rotate(-25deg)}50%{opacity:.8;transform:rotate(15deg)}75%{opacity:1;transform:rotate(-5deg)}to{opacity:1;transform:rotateX(0)}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em)rotate(2deg)}33%{transform:translateY(0)rotate(-2deg)}66%{transform:translateY(.3125em)rotate(2deg)}to{transform:translateY(0)rotate(0)}}@keyframes swal2-toast-hide{to{opacity:0;transform:rotate(1deg)}}@keyframes swal2-toast-animate-success-line-tip{0%{width:0;top:.5625em;left:.0625em}54%{width:0;top:.125em;left:.125em}70%{width:1.625em;top:.625em;left:-.25em}84%{width:.5em;top:1.0625em;left:.75em}to{width:.75em;top:1.125em;left:.1875em}}@keyframes swal2-toast-animate-success-line-long{0%{width:0;top:1.625em;right:1.375em}65%{width:0;top:1.25em;right:.9375em}84%{width:1.125em;top:.9375em;right:0}to{width:1.375em;top:.9375em;right:.1875em}}.spinner-wrap{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);color:var(--text-muted);text-align:center;flex-direction:column;display:flex}.spinner-inline{gap:var(--space-2);flex-direction:row;padding:0}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.spinner-inline .spinner{border-width:2px;width:18px;height:18px}.spinner-label{font-size:.9375rem}.empty-state{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column;display:flex}.empty-state-icon{width:64px;height:64px;margin-bottom:var(--space-2);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent);place-items:center;display:grid}.empty-state-icon svg{width:30px;height:30px}.empty-state-title{font-size:1.125rem}.empty-state-text{max-width:40ch;color:var(--text-muted)}.empty-state-action{justify-content:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.error-panel{padding:var(--space-6) var(--space-4);justify-content:center;display:flex}.error-panel-full{background:var(--bg);align-items:center;min-height:100dvh}.error-panel-card{align-items:center;gap:var(--space-3);max-width:440px;padding:var(--space-6) var(--space-5);text-align:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.error-panel-icon{border-radius:var(--radius);background:var(--warn-soft);width:56px;height:56px;color:var(--warn);place-items:center;display:grid}.error-panel-icon svg{width:28px;height:28px}.error-panel-title{font-size:1.25rem}.error-panel-text{color:var(--text-muted)}.error-panel-actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.app-shell{min-height:100dvh}.app-topbar{z-index:100;padding-top:var(--safe-top);background:var(--bg-elev);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);position:sticky;top:0}.app-topbar-inner{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;max-width:var(--content-w);min-height:var(--topbar-h);padding:0 var(--space-2) 0 var(--space-4);margin:0 auto;display:flex}.app-brand{align-items:center;gap:var(--space-2);min-height:44px;color:var(--text);text-decoration:none;display:inline-flex}.app-brand:hover{color:var(--text)}.app-brand-mark{border-radius:var(--radius-sm);background:var(--accent);width:36px;height:36px;color:var(--accent-contrast);place-items:center;display:grid}.app-brand-mark svg{width:20px;height:20px}.app-brand-name{letter-spacing:.02em;font-size:1.125rem;font-weight:700}.app-user{align-items:center;gap:var(--space-2);min-width:0;display:flex}.app-user-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:40vw;color:var(--text-muted);font-size:.9375rem;font-weight:600;overflow:hidden}@media (width<=379.98px){.app-user-role{display:none}}.app-main{min-width:0;padding:var(--space-4) var(--space-4) calc(var(--space-6) + var(--safe-bottom));outline:none}@media (width>=640px){.app-main{padding:var(--space-5) var(--space-5) calc(var(--space-6) + var(--safe-bottom))}.app-topbar-inner{padding:0 var(--space-3) 0 var(--space-5)}}@media (width>=1024px){.app-main{padding-top:var(--space-6)}}.app-content{width:100%;max-width:var(--content-w);margin:0 auto}.app-status{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.skip-link{top:var(--space-2);left:var(--space-2);z-index:3000;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;background:var(--accent);color:var(--accent-contrast);border:0;font-weight:600;text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus{color:var(--accent-contrast);transform:none}@media print{.app-topbar,.skip-link{display:none!important}.app-main{padding:0}.app-content{max-width:none}}.password-toggle{border-radius:var(--radius-sm);width:44px;min-height:42px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.password-toggle:hover:not(:disabled){color:var(--text);background:var(--bg-hover)}.password-toggle:disabled{cursor:not-allowed;opacity:.55}.password-toggle svg{width:20px;height:20px}.password-toggle:focus-visible{outline-offset:-3px}.gbtn{align-items:stretch;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.gbtn-frame{min-height:48px;position:relative}.gbtn-holder{justify-content:center;width:100%;min-height:44px;transition:opacity .15s;display:flex}.gbtn-holder.is-blocked{opacity:.45;pointer-events:none}.gbtn-overlay{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-elev);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gbtn-note{align-items:flex-start;gap:var(--space-2);color:var(--text-muted);font-size:.875rem;display:flex}.gbtn-note svg{width:16px;height:16px;color:var(--warn);margin-top:3px}.login-page{min-height:100dvh;padding:calc(var(--space-6) + var(--safe-top)) var(--space-4) calc(var(--space-6) + var(--safe-bottom));background:var(--bg);justify-content:center;align-items:flex-start;display:flex}@media (height>=700px) and (width>=640px){.login-page{align-items:center}}.login-column{gap:var(--space-5);flex-direction:column;width:100%;max-width:420px;display:flex}.login-brand{align-items:center;gap:var(--space-3);padding:0 var(--space-1);display:flex}.login-mark{border-radius:var(--radius);background:var(--accent);width:48px;height:48px;color:var(--accent-contrast);box-shadow:var(--shadow-sm);flex:none;place-items:center;display:grid}.login-mark svg{width:26px;height:26px}.login-app-name{letter-spacing:.02em;font-size:1.125rem;font-weight:700;line-height:1.35}.login-app-sub{color:var(--text-muted);font-size:.875rem}.login-card{padding:var(--space-6) var(--space-5)}@media (width<=379.98px){.login-card{padding:var(--space-5) var(--space-4)}}.login-title{font-size:1.5rem;font-weight:700}.login-lead{margin-top:var(--space-1);text-wrap:balance}.login-submit{min-height:50px;font-size:1rem}.login-submit .spinner-wrap{color:inherit}.login-submit .spinner{border-color:var(--accent-soft);border-top-color:var(--accent-contrast)}.login-divider{align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:.875rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:auto;height:1px}.login-google{gap:var(--space-2);flex-direction:column;display:flex}.login-google-hint{text-align:center}.login-dev{gap:var(--space-2);padding-top:var(--space-4);border-top:1px dashed var(--border-strong);flex-direction:column;display:flex}.login-dev .field-hint{text-align:center}.login-foot{padding:0 var(--space-2);text-align:center;font-size:.8125rem}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header-main{align-items:center;gap:var(--space-2);flex:260px;min-width:0;display:flex}.page-header-back{margin-left:-10px}.page-header-text{min-width:0}.page-header-title{overflow-wrap:anywhere;font-size:1.5rem;font-weight:700;line-height:1.3}.page-header-subtitle{color:var(--text-muted);margin-top:2px;font-size:.9375rem}.page-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width>=1024px){.page-header-title{font-size:1.75rem}}@media (width<=479.98px){.page-header{margin-bottom:var(--space-4)}.page-header-actions{width:100%}.page-header-actions>.btn{flex:auto}}html.modal-open,html.modal-open body{overflow:hidden}.modal-backdrop{z-index:1000;padding:var(--space-5);background:var(--overlay);justify-content:center;align-items:center;animation:.15s ease-out modal-fade;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-elev);width:100%;max-height:min(88vh,900px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);outline:none;flex-direction:column;animation:.18s ease-out modal-rise;display:flex}.modal-sm{max-width:420px}.modal-md{max-width:560px}.modal-lg{max-width:820px}.modal-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-bottom:1px solid var(--border);display:flex}.modal-title{overflow-wrap:anywhere;flex:auto;min-width:0;font-size:1.125rem;font-weight:700}.modal-body{min-height:0;padding:var(--space-5);overscroll-behavior:contain;flex:auto;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);background:var(--bg-elev);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;display:flex}@media (width<=639.98px){.modal-backdrop{align-items:stretch;padding:0}.modal-panel,.modal-sm,.modal-md,.modal-lg{border:0;border-radius:0;max-width:none;height:100dvh;max-height:none;animation:.22s ease-out modal-sheet}.modal-head{padding-top:calc(var(--space-2) + env(safe-area-inset-top,0px));padding-left:var(--space-4)}.modal-body{padding:var(--space-4)}.modal-foot{padding:var(--space-3) var(--space-4) calc(var(--space-3) + var(--safe-bottom));border-radius:0}.modal-foot>.btn{flex:1 1 0}}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)scale(.99)}}@keyframes modal-sheet{0%{opacity:.6;transform:translateY(24px)}}.cust-toolbar{gap:var(--space-3);margin-bottom:var(--space-4);scroll-margin-top:calc(var(--topbar-h) + var(--safe-top) + var(--space-3));flex-direction:column;display:flex}.cust-search{width:100%}.cust-search .input{padding-left:8px}.cust-search .input::-webkit-search-cancel-button{appearance:none}.cust-search-clear{align-self:center;min-height:42px}@media (width<=479.98px){.cust-filter{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.cust-filter .choice-chip{min-width:0;padding:0 4px;font-size:.875rem}}@media (width>=768px){.cust-toolbar{flex-flow:wrap;align-items:center}.cust-search{flex:320px;max-width:460px}}.cust-stale{margin-bottom:var(--space-4);align-items:center}.cust-results{transition:opacity .15s}.cust-results.is-loading{opacity:.55}.cust-cards{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.cust-card{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow-sm);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;gap:2px;display:flex}.cust-card:hover{border-color:var(--border-strong)}.cust-card:active{background:var(--bg-hover)}.cust-card-top{justify-content:space-between;align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.cust-card-name{overflow-wrap:anywhere;min-width:0;font-weight:700;line-height:1.45}.cust-card-company{color:var(--text-muted);overflow-wrap:anywhere;font-size:.9375rem}.cust-card-contact{color:var(--text);overflow-wrap:anywhere;font-size:.875rem}.cust-card-meta{margin-top:2px;font-size:.8125rem}.cust-table{display:none}@media (width>=768px){.cust-cards{display:none}.cust-table{display:block}}.cust-link{color:var(--text);text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.cust-link:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.cust-sub{overflow-wrap:anywhere;margin-top:2px;font-size:.8125rem}.cust-contact-cell{min-width:160px}.cust-date{white-space:nowrap}.cust-pager{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.cust-pager-info{color:var(--text-muted);text-align:center;font-size:.9375rem}@media (width>=768px){.cust-pager{justify-content:flex-end}}.cust-form-row{gap:var(--space-4);display:grid}@media (width>=640px){.cust-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.cust-note-count{text-align:right}.cust-note-count.is-over{color:var(--danger);font-weight:600}.cust-meta{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--bg-muted);margin:0;font-size:.875rem;display:grid}.cust-meta>div{gap:var(--space-2);grid-template-columns:96px minmax(0,1fr);display:grid}.cust-meta dt{color:var(--text-muted)}.cust-meta dd{overflow-wrap:anywhere;margin:0}.cust-meta-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.notfound-page{min-height:100dvh;padding:var(--space-4);background:var(--bg);place-items:center;display:grid}.notfound-card{width:100%;max-width:440px}
