.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}html{background:#f5f5f7}:root{color-scheme:light;--bg: #f5f5f7;--surface: #ffffff;--surface-muted: #f5f5f7;--surface-translucent: rgba(255, 255, 255, .72);--border: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .14);--hairline: rgba(15, 23, 42, .06);--ink: #1d1d1f;--ink-strong: #000000;--ink-muted: #6e6e73;--ink-soft: #86868b;--accent: #1f3a2e;--accent-hover: #16281f;--accent-soft: #eaf0ec;--accent-ink: #ffffff;--accent-tint: #2d5443;--blue: #0071e3;--blue-hover: #0077ed;--blue-soft: #e8f1fc;--danger: #d70015;--danger-soft: #fff0f1;--warning: #b25000;--warning-soft: #fff4e5;--success: #248a3d;--success-soft: #e8f7ec;--radius-xs: 6px;--radius-sm: 8px;--radius: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 0 0 .5px rgba(15, 23, 42, .04);--shadow: 0 4px 12px rgba(15, 23, 42, .06), 0 0 0 .5px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .12), 0 0 0 .5px rgba(15, 23, 42, .04);--ring: 0 0 0 4px rgba(31, 58, 46, .15);--ease: cubic-bezier(.4, 0, .2, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--tap-target: 44px;--surface-2: #fafaf8;--ink-2: #515154;--scrim: rgba(17, 24, 20, .42);--action: var(--blue);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .14s;--t-med: .26s;--t-slow: .4s;--z-nav: 50;--z-pop: 70;--z-dialog: 90;--z-toast: 110;--z-tour: 130;--z-progress: 9999;--r-pill: 999px;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif;font-feature-settings:"cv11","ss01";background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;width:100%}body{min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a,button,input,select,textarea{font:inherit}button,[role=button]{touch-action:manipulation}h1,h2,h3,h4{color:var(--ink-strong);letter-spacing:-.018em;font-weight:600}p{color:var(--ink)}::selection{background:var(--accent-soft);color:var(--ink-strong)}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card--padded{padding:1.25rem}.card--flush{padding:0}.card--interactive{transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.card--interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .95rem;min-height:36px;border-radius:999px;font-size:13px;letter-spacing:-.005em;border:1px solid transparent;cursor:pointer;text-decoration:none;font:inherit;font-weight:500;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),transform .1s var(--ease);white-space:nowrap;user-select:none;-webkit-user-select:none;touch-action:manipulation}.btn:active{transform:scale(.95);filter:brightness(.92);transition:transform 60ms var(--ease),filter 60ms var(--ease),background 60ms var(--ease)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn--sm{padding:.32rem .7rem;min-height:30px;font-size:12px}.btn--lg{padding:.7rem 1.2rem;min-height:44px;font-size:14px}.btn--icon{padding:.4rem;width:36px;height:36px;min-height:0;border-radius:var(--radius-sm)}.btn--block{width:100%}.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #1f3a2e40,inset 0 1px #ffffff1f}.btn--primary:hover{background:var(--accent-hover)}.btn--blue{background:var(--blue);color:#fff;box-shadow:0 1px 2px #0071e340,inset 0 1px #ffffff26}.btn--blue:hover{background:var(--blue-hover)}.btn--ghost{background:#0f172a0a;color:var(--ink)}.btn--ghost:hover{background:#0f172a14}.btn--surface{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.btn--surface:hover{background:var(--surface-muted)}.btn--tinted{background:var(--accent-soft);color:var(--accent);box-shadow:var(--shadow-sm)}.btn--tinted:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.btn--danger{background:#0f172a0a;color:var(--danger)}.btn--danger:hover{background:var(--danger-soft)}.btn--plain{background:transparent;color:var(--blue);padding:.32rem .5rem}.btn--plain:hover{background:#0071e314}.field{display:grid;gap:.32rem}.field[hidden]{display:none}.field>span,.field-label{font-size:11.5px;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.input,.select,.textarea,.field input,.field select,.field textarea{padding:.55rem .75rem;min-height:40px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px;width:100%;max-width:100%;transition:border-color .12s var(--ease),box-shadow .12s var(--ease);-webkit-appearance:none;appearance:none}input[type=search]{font-size:16px!important}@media(pointer:coarse){.field input,.field select,.field textarea,.input,.select,.textarea{font-size:16px}}.field select,select.select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(135deg,var(--ink-muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:4px 4px;background-repeat:no-repeat;padding-right:2rem}.input:focus,.select:focus,.textarea:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.field textarea,.textarea{font-family:inherit;resize:vertical;min-height:64px}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:999px;background:#0f172a0f;color:var(--ink-muted);font-size:11.5px;font-weight:500;letter-spacing:-.005em}.pill--accent{background:var(--accent-soft);color:var(--accent)}.pill--success{background:var(--success-soft);color:var(--success)}.pill--warning{background:var(--warning-soft);color:var(--warning)}.pill--danger{background:var(--danger-soft);color:var(--danger)}.pill--blue{background:var(--blue-soft);color:var(--blue)}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin:0}.banner{padding:.7rem .95rem;border-radius:var(--radius);font-size:13px;font-weight:500;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.banner--ok{background:var(--success-soft);color:var(--success)}.banner--error{background:var(--danger-soft);color:var(--danger)}.banner--info{background:var(--blue-soft);color:var(--blue)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:2.5rem 1.5rem;text-align:center;color:var(--ink-muted);font-size:13.5px}.empty strong{color:var(--ink-strong);font-weight:600;font-size:15px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);padding:.6rem .75rem;border-bottom:1px solid var(--hairline)}.table td{padding:.65rem .75rem;border-bottom:1px solid var(--hairline);color:var(--ink)}.table tbody tr{transition:background .12s var(--ease)}.table tbody tr:hover{background:var(--surface-muted)}.table tbody tr:last-child td{border-bottom:none}.section-title{font-size:15px;font-weight:600;color:var(--ink-strong);margin:0;letter-spacing:-.012em}#nav-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform-origin:left center;transform:scaleX(0);opacity:0;z-index:9999;pointer-events:none;transition:opacity .18s ease;box-shadow:0 0 8px #1f3a2e73;overflow:hidden}#nav-progress:after{content:"";position:absolute;top:0;left:0;width:35%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:translate(-100%)}#nav-progress.is-loading{opacity:1;transform:scaleX(.72);transition:transform .9s cubic-bezier(.05,.7,.1,1),opacity .12s ease}#nav-progress.is-loading:after{animation:nav-progress-shimmer 1.1s linear infinite}#nav-progress.is-done{transform:scaleX(1);opacity:0;transition:transform .18s ease,opacity .3s ease .1s}@keyframes nav-progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(380%)}}body.is-navigating .main{opacity:.55;pointer-events:none;transition:opacity .22s ease 80ms}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0f172a26;border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#0f172a40;background-clip:content-box;border:2px solid transparent}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}@media(max-width:640px){:root{font-size:15px}.input,.select,.textarea,.field input,.field select,.field textarea,input[type=text],input[type=search],input[type=number],input[type=date],input[type=email],input[type=password],input[type=tel],select,textarea{font-size:16px;min-height:44px}.field textarea,.textarea{min-height:88px}.btn{min-height:44px;padding:.6rem 1.05rem;font-size:14px}.btn--sm{min-height:36px;padding:.42rem .85rem;font-size:13px}.btn--lg{min-height:48px;font-size:15px}.btn--icon{width:40px;height:40px}.pill{font-size:12px;padding:.22rem .65rem}.eyebrow{font-size:11.5px}.section-title{font-size:16px}.banner{padding:.85rem 1rem;font-size:14px;border-radius:var(--radius)}.card--padded{padding:1rem}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem}}:focus-visible{outline:2.5px solid var(--blue);outline-offset:2px;border-radius:3px}:focus:not(:focus-visible){outline:none}.view-anim{animation:viewIn var(--t-med) var(--ease-out) both}@keyframes viewIn{0%{opacity:0}}.btn[aria-busy=true]{position:relative;pointer-events:none;min-width:0}.btn[aria-busy=true]>:not(.btn__spinner){opacity:0}.btn[aria-busy=true]:after{content:"";position:absolute;inset:0;margin:auto;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}[data-autosave-status]{font-size:12px;color:var(--ink-soft);opacity:0;transition:opacity var(--t-fast) var(--ease);pointer-events:none;user-select:none}[data-autosave-status].is-visible{opacity:1}#toast-region{position:fixed;bottom:calc(1rem + var(--safe-bottom));left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none;width:max-content;max-width:min(420px,calc(100vw - 2rem))}:global([data-device=phone]) #toast-region{bottom:calc(var(--tabbar-h, 58px) + .75rem + var(--safe-bottom))}.toast{display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem .6rem .95rem;border-radius:var(--r-pill);font-size:13.5px;font-weight:500;letter-spacing:-.005em;line-height:1.35;pointer-events:all;cursor:default;user-select:none;max-width:100%;word-break:break-word;animation:toastIn .32s var(--ease-out) both;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md, 0 4px 16px rgba(0,0,0,.1))}.toast--out{animation:toastOut .26s var(--ease) forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(8px) scale(.96)}}@keyframes toastOut{to{opacity:0;transform:translateY(4px) scale(.97)}}.toast--info{background:#1d1d1fe0;color:#fff}.toast--success{background:#248a3deb;color:#fff}.toast--warning{background:#9a5b00eb;color:#fff}.toast--error{background:#d70015eb;color:#fff}.toast__close{flex-shrink:0;background:transparent;border:none;color:inherit;opacity:.7;cursor:pointer;padding:2px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:opacity var(--t-fast) var(--ease)}.toast__close:hover{opacity:1}dialog.cm-confirm{border:none;padding:0;border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-lg);max-width:min(400px,calc(100vw - 2rem));width:100%;animation:confirmIn var(--t-med) var(--ease-out) both}dialog.cm-confirm[open]{display:block}dialog.cm-confirm.cm-confirm--out{animation:confirmOut .24s var(--ease) forwards}dialog.cm-confirm::backdrop{background:var(--scrim);animation:backdropIn var(--t-med) var(--ease) both}@keyframes confirmIn{0%{opacity:0;transform:scale(.96) translateY(6px)}}@keyframes confirmOut{to{opacity:0;transform:scale(.97) translateY(4px)}}@keyframes backdropIn{0%{opacity:0}}:global([data-device=phone]) dialog.cm-confirm{position:fixed;bottom:calc(var(--safe-bottom) + .5rem);left:.75rem;right:.75rem;max-width:100%;width:auto;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-lg) var(--radius-lg);margin:0;animation:confirmSheetIn .34s var(--ease-out) both}:global([data-device=phone]) dialog.cm-confirm.cm-confirm--out{animation:confirmSheetOut .24s var(--ease) forwards}@keyframes confirmSheetIn{0%{opacity:0;transform:translateY(24px)}}@keyframes confirmSheetOut{to{opacity:0;transform:translateY(12px)}}.cm-confirm__inner{padding:1.5rem 1.5rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.cm-confirm__title{margin:0;font-size:17px;font-weight:600;letter-spacing:-.018em;color:var(--ink-strong, #000);line-height:1.25}.cm-confirm__body{margin:0;font-size:14px;color:var(--ink-muted);line-height:1.5}.cm-confirm__foot{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}:global([data-device=phone]) .cm-confirm__foot{flex-direction:column-reverse;gap:.5rem}:global([data-device=phone]) .cm-confirm__foot .btn{width:100%;justify-content:center}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
