@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-normal-BLlBRtDv.woff2)format("woff2"),url(/assets/alegreya-latin-400-normal-BuQWlRPA.woff)format("woff")}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-italic-BXpar-rJ.woff2)format("woff2"),url(/assets/alegreya-latin-400-italic-CJvUQvZT.woff)format("woff")}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-latin-500-normal-C25lLdV_.woff2)format("woff2"),url(/assets/alegreya-latin-500-normal-B7TqNLeg.woff)format("woff")}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-latin-700-normal-Vpz_43wJ.woff2)format("woff2"),url(/assets/alegreya-latin-700-normal-BS7r-qZs.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-normal-DtLlO8BS.woff2)format("woff2"),url(/assets/alegreya-sans-latin-400-normal-DmA8jeke.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-500-normal-DS713u5J.woff2)format("woff2"),url(/assets/alegreya-sans-latin-500-normal-vXxrTKJT.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-700-normal-DEbcy2sF.woff2)format("woff2"),url(/assets/alegreya-sans-latin-700-normal-BnzUNlma.woff)format("woff")}:root{--canvas:#e6e7e3;--paper:#fff;--ink:#1e1d1a;--ink-2:#3f3d38;--ink-3:#5c5a53;--line:#e5e4df;--line-strong:#d3d2cc;--field-line:#b9b7af;--tint:#f1f1ee;--tint-deep:#e9e9e5;--green:#2e5e3e;--green-deep:#244b31;--green-soft:#eef2ee;--red:#a3221b;--red-soft:#f7ecea;--amber:#8a5a24;--amber-soft:#f4eee4;--font-display:"Alegreya", Georgia, "Times New Roman", serif;--font-sans:"Alegreya Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius:4px;--radius-lg:6px;--max-width:1280px;--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--paper-deep:var(--canvas);--surface:var(--paper);--surface-solid:var(--paper);--surface-muted:var(--tint);--teal-950:var(--ink);--teal-900:var(--ink);--teal-800:var(--green);--teal-700:var(--green);--teal-500:var(--green);--aqua:var(--green);--green-2:var(--green);--gold:var(--green);--gold-soft:var(--tint);--shadow-card:none;--shadow-soft:none;--radius-xl:var(--radius-lg);--ease-spring:var(--ease-out)}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%}body{background:var(--canvas);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.45}body.no-scroll{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;margin:0;padding:0}button:disabled{cursor:not-allowed}a{color:var(--ink);text-decoration:none}a:hover{color:var(--red)}svg{display:block}img{max-width:100%}::selection{background:var(--green);color:#fff}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app-shell{min-height:100vh;padding:0 24px 56px;position:relative}.page{width:100%;max-width:var(--max-width);margin:0 auto}.sheet{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-lg);animation:sheet-in .5s var(--ease-out) both;grid-template-columns:clamp(310px,32%,410px) minmax(0,1fr);display:grid;overflow:hidden}.calendar-column{border-right:1px solid var(--line);min-width:0;padding:36px 32px 32px}.upload-column{min-width:0}.eyebrow{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:12px;font-weight:700}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button-outline{border:1px solid var(--field-line);border-radius:var(--radius);background:var(--paper);min-height:44px;color:var(--ink);transition:border-color .18s var(--ease), background .18s var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:500;display:inline-flex}.button-outline:hover:not(:disabled){border-color:var(--ink);background:var(--paper)}.button-solid{border-radius:var(--radius);background:var(--ink);color:#fff;min-height:48px;transition:background .18s var(--ease), opacity .18s var(--ease);border:0;justify-content:center;align-items:center;gap:9px;padding:0 22px;font-size:16px;font-weight:500;display:inline-flex}.button-solid:hover:not(:disabled){background:#000}.button-solid:disabled{background:var(--tint-deep);color:var(--ink-3)}.link-underline{color:var(--ink);text-underline-offset:3px;font-size:15px;text-decoration:underline}.link-underline:hover{color:var(--red)}@keyframes sheet-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=960px){.sheet{grid-template-columns:minmax(0,1fr)}.calendar-column{border-right:0;border-bottom:1px solid var(--line)}}@media (width<=700px){.app-shell{padding:0 16px 36px}.calendar-column{padding:26px 20px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-header[data-v-04389571]{padding:18px 0 22px}.header-inner[data-v-04389571]{flex-wrap:wrap;align-items:center;gap:12px 32px;display:flex}.brand[data-v-04389571]{color:var(--ink);flex-direction:column;flex:none;display:flex}.brand[data-v-04389571]:hover{color:var(--ink)}.brand-name[data-v-04389571]{font-family:var(--font-display);font-size:27px;font-weight:500;line-height:1.1}.brand-sub[data-v-04389571]{color:var(--ink-3);font-size:14px}.main-nav[data-v-04389571]{flex-wrap:wrap;flex:auto;gap:2px;display:flex}.nav-link[data-v-04389571]{font-family:var(--font-sans);color:var(--ink-2);transition:color .15s var(--ease), box-shadow .15s var(--ease);padding:11px 14px;font-size:16px;font-weight:400;line-height:1.2}.nav-link[data-v-04389571]:hover{color:var(--ink)}.nav-link.is-active[data-v-04389571]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--green);font-weight:700}.header-account[data-v-04389571]{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-left:auto;display:flex}.ftp-link[data-v-04389571]{font-family:var(--font-display);color:var(--green);text-underline-offset:3px;padding:11px 0;font-size:17px;font-style:italic;text-decoration:underline}.ftp-link.is-off[data-v-04389571]{color:var(--red)}.user-name[data-v-04389571]{color:var(--ink-2);white-space:nowrap;font-size:16px}.logout-button[data-v-04389571]{border:1px solid var(--field-line);border-radius:var(--radius);min-height:44px;color:var(--ink);transition:border-color .15s var(--ease), background .15s var(--ease);background:0 0;padding:0 14px;font-size:15px}.logout-button[data-v-04389571]:hover:not(:disabled){border-color:var(--ink);background:var(--paper)}.logout-button[data-v-04389571]:disabled{opacity:.55}@media (width<=900px){.main-nav[data-v-04389571]{border-top:1px solid var(--line-strong);flex-basis:100%;order:3;gap:0;width:100%;margin-top:2px;padding-top:4px}.nav-link[data-v-04389571]{padding:10px 12px}.nav-link[data-v-04389571]:first-child{padding-left:0}.header-account[data-v-04389571]{margin-left:auto}}@media (width<=640px){.app-header[data-v-04389571]{padding:14px 0 16px}.brand-name[data-v-04389571]{font-size:23px}.brand-sub[data-v-04389571]{font-size:13px}.header-account[data-v-04389571]{gap:6px 12px}.ftp-link[data-v-04389571],.user-name[data-v-04389571]{display:none}.logout-button[data-v-04389571]{min-height:40px;padding:0 12px}}.app-loader[data-v-005c846a]{min-height:100vh;color:var(--ink);animation:fade-in .4s var(--ease) both;flex-direction:column;justify-content:center;align-items:center;display:flex}.loader-brand[data-v-005c846a]{font-family:var(--font-display);margin:0;font-size:30px;font-weight:500;line-height:1.1}.loader-title[data-v-005c846a]{font-family:var(--font-display);color:var(--ink-3);margin:8px 0 20px;font-size:17px;font-style:italic}.loader-line[data-v-005c846a]{background:var(--line);width:96px;height:2px;overflow:hidden}.loader-line i[data-v-005c846a]{background:var(--green);width:38%;height:100%;animation:line-sweep-005c846a 1.2s var(--ease) infinite;display:block}@keyframes line-sweep-005c846a{0%{transform:translate(-110%)}to{transform:translate(280%)}}.calendar[data-v-629b29cb]{position:relative}.calendar-head[data-v-629b29cb]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.month-wrap[data-v-629b29cb]{flex:auto;min-width:0;position:relative}.month-button[data-v-629b29cb]{max-width:100%;color:var(--ink);font-family:var(--font-display);text-align:left;transition:color .15s var(--ease);align-items:center;font-size:27px;font-weight:500;line-height:1.15;display:inline-flex}.month-button[data-v-629b29cb]:hover{color:var(--green)}.month-picker[data-v-629b29cb]{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);transform-origin:0 0;width:280px;max-width:calc(100vw - 64px);padding:14px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 38px -28px #1e1d1a8c}.picker-year[data-v-629b29cb]{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-bottom:11px;display:flex}.picker-year-btn[data-v-629b29cb]{border-radius:var(--radius);width:34px;height:34px;color:var(--ink-2);transition:border-color .15s var(--ease), background .15s var(--ease);border:1px solid #0000;place-items:center;display:grid}.picker-year-btn[data-v-629b29cb]:hover:not(:disabled){border-color:var(--line-strong);background:var(--tint)}.picker-year-btn[data-v-629b29cb]:disabled{opacity:.28}.picker-year-btn svg[data-v-629b29cb]{width:15px;height:15px}.picker-year-label[data-v-629b29cb]{flex-direction:column;align-items:center;gap:1px;display:flex}.picker-year-value[data-v-629b29cb]{font-family:var(--font-display);font-size:20px;font-weight:500;line-height:1.1}.picker-year-hint[data-v-629b29cb]{color:var(--ink-3);font-size:11px}.picker-months[data-v-629b29cb]{grid-template-columns:repeat(4,1fr);gap:4px;padding-top:10px;display:grid}.picker-month[data-v-629b29cb]{border-radius:var(--radius);height:38px;color:var(--ink-2);transition:background .15s var(--ease), color .15s var(--ease);font-size:13px;font-weight:500;position:relative}.picker-month[data-v-629b29cb]:hover{background:var(--tint);color:var(--ink)}.picker-month.active[data-v-629b29cb]{background:var(--green);color:#fff}.picker-today-dot[data-v-629b29cb]{background:var(--red);border-radius:50%;width:4px;height:4px;position:absolute;top:6px;right:6px}.calendar-tools[data-v-629b29cb]{align-items:center;gap:4px;margin-left:auto;display:flex}.today-button[data-v-629b29cb]{min-height:44px;color:var(--ink);text-underline-offset:3px;transition:color .15s var(--ease);padding:0 6px;font-size:15px;text-decoration:underline}.today-button[data-v-629b29cb]:hover{color:var(--red)}.nav-button[data-v-629b29cb]{border:1px solid var(--line-strong);border-radius:var(--radius);width:42px;height:42px;color:var(--ink);transition:border-color .15s var(--ease), background .15s var(--ease);background:0 0;place-items:center;display:grid}.nav-button[data-v-629b29cb]:hover{border-color:var(--ink);background:var(--tint)}.nav-button svg[data-v-629b29cb]{width:18px;height:18px}.weekdays[data-v-629b29cb]{color:var(--ink-3);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:28px;font-size:14px;display:grid}.weekdays .is-sunday[data-v-629b29cb]{color:var(--red)}.calendar-stage[data-v-629b29cb]{margin-top:10px;position:relative}.calendar-grid[data-v-629b29cb]{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:52px;row-gap:6px;display:grid}.day-blank[data-v-629b29cb]{height:52px}.day[data-v-629b29cb]{border-radius:var(--radius);width:100%;height:52px;color:var(--ink);font-variant-numeric:tabular-nums;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0;font-size:18px;font-weight:400;display:flex;position:relative}.day[data-v-629b29cb]:hover{background:var(--tint)}.day.is-sunday[data-v-629b29cb]{color:var(--red)}.day.is-today[data-v-629b29cb]:not(.is-selected){box-shadow:inset 0 0 0 1px var(--green)}.day.is-selected[data-v-629b29cb]{z-index:1;background:var(--green);color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);justify-content:flex-start;justify-self:center;width:40px;height:60px;margin-top:-6px;padding-top:14px;font-weight:700}.day.is-selected[data-v-629b29cb]:hover{background:var(--green-deep)}.day-number[data-v-629b29cb]{line-height:1}.day-mark[data-v-629b29cb]{background:var(--green);border-radius:1px;width:16px;height:2px;display:block}.day-dot[data-v-629b29cb]{background:var(--ink-3);opacity:.45;border-radius:50%;width:5px;height:5px;display:block}.day.is-sunday .day-mark[data-v-629b29cb],.day.is-sunday .day-dot[data-v-629b29cb]{background:var(--red)}.loading-line[data-v-629b29cb]{background:var(--line);height:2px;position:absolute;top:-6px;left:0;right:0;overflow:hidden}.loading-line[data-v-629b29cb]:after{content:"";background:var(--green);width:30%;height:100%;animation:loading-sweep-629b29cb 1.1s var(--ease) infinite;display:block}.calendar-error[data-v-629b29cb]{border-radius:var(--radius);background:var(--red-soft);color:var(--red);border:1px solid #a3221b33;margin:14px 0 0;padding:10px 12px;font-size:14px}.calendar-error button[data-v-629b29cb]{text-underline-offset:2px;margin-left:6px;font-weight:700;text-decoration:underline}.month-summary[data-v-629b29cb]{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.month-summary h3[data-v-629b29cb]{font-family:var(--font-sans);color:var(--ink);margin:0;font-size:17px;font-weight:700;line-height:1.3}.month-summary p[data-v-629b29cb]{max-width:36ch;color:var(--ink-3);margin:2px 0 0;font-size:15px;line-height:1.5}.month-summary .summary-note[data-v-629b29cb]{font-family:var(--font-display);color:var(--red);margin-top:14px;font-size:15px;font-style:italic;line-height:1.45}.month-summary .summary-warning[data-v-629b29cb]{font-family:var(--font-display);color:var(--amber);margin-top:8px;font-size:14px;font-style:italic}.month-next-enter-active[data-v-629b29cb],.month-next-leave-active[data-v-629b29cb],.month-prev-enter-active[data-v-629b29cb],.month-prev-leave-active[data-v-629b29cb]{transition:opacity .18s var(--ease), transform .22s var(--ease-out)}.month-next-enter-from[data-v-629b29cb]{opacity:0;transform:translate(10px)}.month-next-leave-to[data-v-629b29cb]{opacity:0;transform:translate(-8px)}.month-prev-enter-from[data-v-629b29cb]{opacity:0;transform:translate(-10px)}.month-prev-leave-to[data-v-629b29cb]{opacity:0;transform:translate(8px)}.picker-enter-active[data-v-629b29cb],.picker-leave-active[data-v-629b29cb]{transition:opacity .15s var(--ease), transform .18s var(--ease-out)}.picker-enter-from[data-v-629b29cb],.picker-leave-to[data-v-629b29cb]{opacity:0;transform:translateY(-4px)}@keyframes loading-sweep-629b29cb{0%{transform:translate(-110%)}to{transform:translate(360%)}}@media (width<=480px){.month-button[data-v-629b29cb]{font-size:24px}.today-button[data-v-629b29cb]{padding:0 8px}.nav-button[data-v-629b29cb]{width:40px;height:40px}.calendar-grid[data-v-629b29cb]{grid-auto-rows:46px}.day-blank[data-v-629b29cb],.day[data-v-629b29cb]{height:46px;font-size:16px}.day.is-selected[data-v-629b29cb]{width:36px;height:54px;margin-top:-4px;padding-top:12px}.weekdays[data-v-629b29cb]{margin-top:22px;font-size:13px}}.hour-row[data-v-1a8da267]{border-bottom:1px solid var(--line);transition:background .15s var(--ease);grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) 112px 175px;align-items:center;gap:8px 24px;padding:14px 0;display:grid}.hour-row.is-drag[data-v-1a8da267]{background:var(--green-soft)}.hour-row.is-disabled[data-v-1a8da267]{opacity:.62}.hour-main[data-v-1a8da267]{min-width:0}.hour-main h3[data-v-1a8da267]{font-family:var(--font-display);color:var(--ink);margin:0;font-size:23px;font-weight:500;line-height:1.2}.hour-main p[data-v-1a8da267]{font-family:var(--font-display);color:var(--ink-3);margin:0;font-size:16px;font-style:italic;line-height:1.3}.hour-file[data-v-1a8da267]{min-width:0;font-size:15px;line-height:1.4}.file-name[data-v-1a8da267]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-size[data-v-1a8da267]{color:var(--ink-3);font-variant-numeric:tabular-nums;display:block}.hour-status[data-v-1a8da267]{white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:15px;font-weight:500;line-height:1.3;display:flex}.hour-status svg[data-v-1a8da267]{flex:none;width:16px;height:16px}.hour-status.is-ok[data-v-1a8da267],.hour-status.is-new[data-v-1a8da267]{color:var(--green)}.hour-status.is-error[data-v-1a8da267]{color:var(--red)}.hour-status.is-off[data-v-1a8da267]{color:var(--ink-3)}.hour-actions[data-v-1a8da267]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px 8px;display:flex}.row-link[data-v-1a8da267]{color:var(--ink);text-underline-offset:3px;white-space:nowrap;padding:10px 8px;font-size:15px;text-decoration:underline}.row-link[data-v-1a8da267]:hover,.row-link.is-alert[data-v-1a8da267]{color:var(--red)}.row-link.is-muted[data-v-1a8da267]{color:var(--ink-3);font-size:14px}.row-link[data-v-1a8da267]:disabled{opacity:.55}.replace-button[data-v-1a8da267]{border:1px solid var(--field-line);border-radius:var(--radius);min-height:44px;color:var(--ink);white-space:nowrap;transition:border-color .15s var(--ease), background .15s var(--ease);background:0 0;padding:0 14px;font-size:15px}.replace-button[data-v-1a8da267]:hover:not(:disabled){border-color:var(--ink);background:var(--tint)}.replace-button[data-v-1a8da267]:disabled{opacity:.5}.row-error[data-v-1a8da267]{color:var(--red);grid-column:1/-1;align-items:flex-start;gap:5px;margin:0;font-size:14px;line-height:1.4;display:flex}.row-error svg[data-v-1a8da267]{flex:none;width:12px;height:12px;margin-top:2px}.row-note-enter-active[data-v-1a8da267],.row-note-leave-active[data-v-1a8da267]{transition:opacity .18s var(--ease)}.row-note-enter-from[data-v-1a8da267],.row-note-leave-to[data-v-1a8da267]{opacity:0}@container hours (width<=720px){.hour-row[data-v-1a8da267]{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:16px 0}.hour-main[data-v-1a8da267]{grid-area:1/1}.hour-status[data-v-1a8da267]{grid-area:1/2;place-self:start end;margin-top:4px}.hour-file[data-v-1a8da267]{grid-area:2/1}.hour-actions[data-v-1a8da267]{grid-area:2/2;justify-content:flex-end;margin-top:0}.row-link[data-v-1a8da267]{padding:10px 4px;font-size:14px}.replace-button[data-v-1a8da267]{min-height:40px;padding:0 10px;font-size:14px}.row-error[data-v-1a8da267]{grid-column:1/-1}}@media (width<=430px){.hour-main h3[data-v-1a8da267]{font-size:21px}.hour-status[data-v-1a8da267]{white-space:normal;text-align:right;justify-content:flex-end;font-size:13px}.row-link[data-v-1a8da267]{padding-left:0}}.upload-panel[data-v-3434083f]{padding:0 40px 36px;position:relative;overflow:hidden;container:hours/inline-size}.day-head[data-v-3434083f]{flex-wrap:wrap;align-items:flex-start;gap:16px 24px;display:flex}.day-ribbon[data-v-3434083f]{background:var(--green);clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%);flex:none;width:22px;height:150px}.day-heading[data-v-3434083f]{flex:320px;min-width:0;padding-top:34px}.day-weekday[data-v-3434083f]{font-family:var(--font-display);color:var(--red);margin:0;font-size:17px;font-style:italic}.day-title[data-v-3434083f]{font-family:var(--font-display);letter-spacing:-.005em;color:var(--ink);margin:4px 0 0;font-size:44px;font-weight:500;line-height:1.1}.day-sub[data-v-3434083f]{color:var(--ink-3);margin:8px 0 0;font-size:16px;line-height:1.45}.day-completion[data-v-3434083f]{text-align:right;flex:none;padding-top:40px}.completion-title[data-v-3434083f]{color:var(--ink-3);margin:0;font-size:16px;font-weight:700}.day-completion.is-complete .completion-title[data-v-3434083f]{color:var(--green)}.completion-copy[data-v-3434083f]{color:var(--ink-3);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:15px}.completion-ticks[data-v-3434083f]{justify-content:flex-end;gap:3px;margin-top:10px;display:flex}.completion-ticks span[data-v-3434083f]{background:var(--line-strong);width:14px;height:4px}.completion-ticks span.is-filled[data-v-3434083f]{background:var(--green)}.bulk-zone[data-v-3434083f]{border:1.5px dashed var(--field-line);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease);flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:26px;padding:16px;display:flex}.bulk-zone[data-v-3434083f]:hover{border-color:var(--ink-3);background:var(--tint)}.bulk-zone.is-drag[data-v-3434083f]{border-color:var(--green);background:var(--green-soft)}.bulk-zone.is-disabled[data-v-3434083f]{opacity:.6;pointer-events:none}.bulk-icon[data-v-3434083f]{color:var(--ink-2);flex:none}.bulk-icon svg[data-v-3434083f]{width:24px;height:24px}.bulk-copy[data-v-3434083f]{flex:280px;min-width:0}.bulk-copy strong[data-v-3434083f]{color:var(--ink);font-size:16px;font-weight:700;display:block}.bulk-copy p[data-v-3434083f]{color:var(--ink-3);margin:2px 0 0;font-size:14px;line-height:1.45}.bulk-button[data-v-3434083f]{border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);min-height:44px;color:var(--ink);transition:background .18s var(--ease);flex:none;padding:0 14px;font-size:15px;font-weight:500}.bulk-button[data-v-3434083f]:hover:not(:disabled){background:var(--tint)}.bulk-button[data-v-3434083f]:disabled{opacity:.5}.hours-title[data-v-3434083f]{font-family:var(--font-display);color:var(--ink);margin:34px 0 0;font-size:22px;font-weight:500;line-height:1.2}.hours-list[data-v-3434083f]{border-top:1px solid var(--ink);margin:12px 0 0;padding:0;list-style:none}.result-banner[data-v-3434083f]{border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:9px;margin-top:16px;padding:11px 13px;display:flex}.result-banner.is-success[data-v-3434083f]{background:var(--green-soft);color:var(--green);border-color:#2e5e3e47}.result-banner.is-warning[data-v-3434083f]{background:var(--amber-soft);color:var(--amber);border-color:#8a5a2447}.result-icon[data-v-3434083f]{flex:none;margin-top:1px}.result-icon svg[data-v-3434083f]{width:17px;height:17px}.result-copy[data-v-3434083f]{flex-direction:column;gap:1px;min-width:0;display:flex}.result-copy strong[data-v-3434083f]{font-size:15px;font-weight:700}.result-copy span[data-v-3434083f]{color:var(--ink-2);font-size:14px;line-height:1.4}.result-close[data-v-3434083f]{border-radius:var(--radius);width:22px;height:22px;color:var(--ink-3);flex:none;place-items:center;margin-left:auto;display:grid}.result-close svg[data-v-3434083f]{width:11px;height:11px}.result-close[data-v-3434083f]:hover{color:var(--ink);background:#1e1d1a0f}.panel-foot[data-v-3434083f]{flex-wrap:wrap;align-items:flex-end;gap:20px 32px;margin-top:28px;display:flex}.foot-info[data-v-3434083f]{flex:340px;min-width:0}.destinations-list[data-v-3434083f]{grid-template-columns:max-content minmax(0,1fr);gap:4px 20px;margin:0;font-size:15px;display:grid}.destinations-list dt[data-v-3434083f]{color:var(--ink-3)}.destinations-list dd[data-v-3434083f]{margin:0;font-weight:500}.destinations-list dd.is-on[data-v-3434083f]{color:var(--green)}.destinations-list dd.is-off[data-v-3434083f]{color:var(--red)}.ftp-hint[data-v-3434083f]{max-width:62ch;font-family:var(--font-display);color:var(--ink-3);margin:12px 0 0;font-size:15px;font-style:italic;line-height:1.45}.ftp-hint.is-off[data-v-3434083f]{color:var(--red)}.ftp-hint code[data-v-3434083f]{font-family:var(--font-mono);font-size:14px;font-style:normal}.foot-actions[data-v-3434083f]{flex:none;align-items:center;gap:18px;margin-left:auto;display:flex}.next-link[data-v-3434083f]{color:var(--ink-2);text-underline-offset:3px;font-size:15px;text-decoration:underline}.next-link[data-v-3434083f]:hover{color:var(--red)}.publish-button[data-v-3434083f]{border-radius:var(--radius);background:var(--ink);color:#fff;min-height:48px;transition:background .18s var(--ease), opacity .18s var(--ease);border:0;justify-content:center;align-items:center;gap:9px;padding:0 22px;font-size:16px;font-weight:500;display:inline-flex}.publish-button[data-v-3434083f]:hover:not(:disabled){background:#000}.publish-button[data-v-3434083f]:disabled{background:var(--tint-deep);color:var(--ink-3)}.publish-button svg[data-v-3434083f]{width:16px;height:16px}.spinner[data-v-3434083f]{border:1.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.progress-track[data-v-3434083f]{background:0 0;height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.progress-track span[data-v-3434083f]{background:var(--green);width:0;height:100%;transition:width .3s var(--ease);display:block}.progress-track.is-processing span[data-v-3434083f]{background:var(--green);animation:pulse-progress-3434083f 1s var(--ease) infinite alternate}.result-enter-active[data-v-3434083f],.result-leave-active[data-v-3434083f]{transition:opacity .18s var(--ease), transform .2s var(--ease-out)}.result-enter-from[data-v-3434083f],.result-leave-to[data-v-3434083f]{opacity:0;transform:translateY(-4px)}@keyframes pulse-progress-3434083f{0%{opacity:1}to{opacity:.4}}@media (width<=960px){.upload-panel[data-v-3434083f]{padding:0 32px 32px}.day-heading[data-v-3434083f]{padding-top:30px}}@media (width<=700px){.upload-panel[data-v-3434083f]{padding:0 22px 28px}.day-ribbon[data-v-3434083f]{width:18px;height:120px}.day-head[data-v-3434083f]{gap:12px 16px}.day-heading[data-v-3434083f]{flex:1 1 0;padding-top:22px}.day-title[data-v-3434083f]{font-size:34px}.day-completion[data-v-3434083f]{text-align:left;width:100%;padding-top:0}.completion-ticks[data-v-3434083f]{justify-content:flex-start}.bulk-zone[data-v-3434083f]{padding:14px 16px}.panel-foot[data-v-3434083f]{align-items:stretch}.foot-actions[data-v-3434083f]{flex-wrap:wrap;justify-content:space-between;width:100%;margin-left:0}.publish-button[data-v-3434083f],.next-link[data-v-3434083f]{width:100%}}@media (width<=430px){.day-title[data-v-3434083f]{font-size:29px}.bulk-button[data-v-3434083f]{width:100%}.hours-title[data-v-3434083f]{margin-top:28px}}.drawer-veil[data-v-33425674]{z-index:190;background:#1e1d1a4d;position:fixed;inset:0}.drawer[data-v-33425674]{z-index:200;background:var(--paper);border-left:1px solid var(--line-strong);flex-direction:column;width:min(440px,100vw);padding:30px 30px 26px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-20px 0 50px -40px #1e1d1a99}.drawer-head[data-v-33425674]{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.drawer-head .eyebrow[data-v-33425674]{font-family:var(--font-display);letter-spacing:0;text-transform:none;color:var(--red);font-size:16px;font-style:italic;font-weight:400}.drawer-head h2[data-v-33425674]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:2px 0 0;font-size:32px;font-weight:500;line-height:1.08}.drawer-sub[data-v-33425674]{color:var(--ink-3);margin:5px 0 0;font-size:15px}.close-button[data-v-33425674]{border:1px solid var(--line-strong);border-radius:var(--radius);width:40px;height:40px;color:var(--ink-2);transition:border-color .15s var(--ease), background .15s var(--ease);background:0 0;flex:none;place-items:center;display:grid}.close-button svg[data-v-33425674]{width:15px;height:15px}.close-button[data-v-33425674]:hover{border-color:var(--ink);background:var(--tint)}.acervo-total[data-v-33425674]{border:1px solid var(--line);border-radius:var(--radius);background:var(--tint);justify-content:space-between;align-items:flex-end;gap:18px;margin-top:26px;padding:18px;display:flex}.total-main[data-v-33425674]{flex-direction:column;gap:3px;display:flex}.total-number[data-v-33425674]{font-family:var(--font-display);letter-spacing:-.02em;color:var(--green);font-variant-numeric:lining-nums;font-size:46px;font-weight:500;line-height:.9}.total-caption[data-v-33425674]{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:13px;font-weight:700}.total-side[data-v-33425674]{color:var(--ink-3);font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;display:flex}.years-list[data-v-33425674]{flex-direction:column;gap:16px;margin-top:26px;display:flex}.year-row[data-v-33425674]{opacity:0;animation:year-in-33425674 .35s var(--ease-out) both;animation-delay:calc(var(--i) * 25ms + 40ms)}.year-row.is-empty[data-v-33425674]{opacity:.4}.year-line[data-v-33425674]{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.year-label[data-v-33425674]{font-family:var(--font-display);color:var(--ink-2);font-variant-numeric:lining-nums;font-size:21px;font-weight:500}.year-count[data-v-33425674]{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:14px}.year-bar[data-v-33425674]{background:var(--line);height:2px;overflow:hidden}.year-bar span[data-v-33425674]{background:var(--green);transform-origin:0;height:100%;animation:bar-grow-33425674 .6s var(--ease-out) both;animation-delay:calc(var(--i) * 25ms + 90ms);display:block}.year-row.is-empty .year-bar span[data-v-33425674]{background:var(--line-strong)}.empty-acervo[data-v-33425674]{color:var(--ink-3);margin:0;font-size:15px}.drawer-foot[data-v-33425674]{margin-top:auto;padding-top:28px}.drawer-foot p[data-v-33425674]{max-width:340px;color:var(--ink-3);margin:0;font-size:14px;line-height:1.5}.drawer-actions[data-v-33425674]{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.drawer-actions code[data-v-33425674]{border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);color:var(--ink-2);background:var(--tint);padding:5px 8px;font-size:12px}.drawer-actions button[data-v-33425674]{color:var(--green);text-underline-offset:3px;align-items:center;gap:5px;font-size:14px;font-weight:500;text-decoration:underline;display:inline-flex}.drawer-actions button svg[data-v-33425674]{width:12px;height:12px}.drawer-actions button[data-v-33425674]:hover{color:var(--red)}.veil-enter-active[data-v-33425674],.veil-leave-active[data-v-33425674]{transition:opacity .2s var(--ease)}.veil-enter-from[data-v-33425674],.veil-leave-to[data-v-33425674]{opacity:0}.drawer-enter-active[data-v-33425674],.drawer-leave-active[data-v-33425674]{transition:transform .3s var(--ease-out)}.drawer-enter-from[data-v-33425674],.drawer-leave-to[data-v-33425674]{transform:translate(100%)}@keyframes year-in-33425674{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-grow-33425674{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=560px){.drawer[data-v-33425674]{padding:24px 20px 22px}.drawer-head h2[data-v-33425674]{font-size:29px}}.security-veil[data-v-52f09678]{z-index:190;background:#1e1d1a4d;position:fixed;inset:0}.security-drawer[data-v-52f09678]{z-index:200;background:var(--paper);border-left:1px solid var(--line-strong);width:min(480px,100vw);padding:30px 30px 24px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-20px 0 50px -40px #1e1d1a99}.security-head[data-v-52f09678]{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.security-head .eyebrow[data-v-52f09678]{font-family:var(--font-display);letter-spacing:0;text-transform:none;color:var(--red);font-size:16px;font-style:italic;font-weight:400}.security-head h2[data-v-52f09678]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:2px 0 0;font-size:32px;font-weight:500;line-height:1.08}.security-sub[data-v-52f09678]{color:var(--ink-3);margin:5px 0 0;font-size:15px}.security-close[data-v-52f09678]{border:1px solid var(--line-strong);border-radius:var(--radius);width:40px;height:40px;color:var(--ink-2);transition:border-color .15s var(--ease), background .15s var(--ease);background:0 0;flex:none;place-items:center;display:grid}.security-close svg[data-v-52f09678]{width:15px;height:15px}.security-close[data-v-52f09678]:hover{border-color:var(--ink);background:var(--tint)}.security-stats[data-v-52f09678]{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:26px;display:grid;overflow:hidden}.security-stats>div[data-v-52f09678]{background:var(--tint);flex-direction:column;gap:2px;padding:13px 12px;display:flex}.security-stats strong[data-v-52f09678]{font-family:var(--font-display);color:var(--green);font-variant-numeric:lining-nums;font-size:28px;font-weight:500;line-height:.95}.security-stats span[data-v-52f09678]{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:700}.security-error[data-v-52f09678]{border-radius:var(--radius);background:var(--red-soft);color:var(--red);border:1px solid #a3221b33;margin:18px 0 0;padding:10px 12px;font-size:14px}.security-error button[data-v-52f09678]{text-underline-offset:2px;margin-left:5px;font-weight:700;text-decoration:underline}.security-section[data-v-52f09678]{margin-top:28px}.section-title[data-v-52f09678]{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.section-title h3[data-v-52f09678]{font-family:var(--font-display);color:var(--ink);margin:0;font-size:22px;font-weight:500}.section-title>span[data-v-52f09678]{color:var(--ink-3);font-size:13px}.refresh-button[data-v-52f09678]{color:var(--green);text-underline-offset:3px;align-items:center;gap:4px;font-size:14px;text-decoration:underline;display:inline-flex}.refresh-button svg[data-v-52f09678]{width:12px;height:12px}.refresh-button[data-v-52f09678]:hover:not(:disabled){color:var(--red)}.refresh-button[data-v-52f09678]:disabled{opacity:.55}.security-empty[data-v-52f09678]{color:var(--ink-3);padding:18px 2px;font-size:14px}.ban-list[data-v-52f09678],.event-list[data-v-52f09678]{margin:0;padding:0;list-style:none}.ban-list[data-v-52f09678]{flex-direction:column;gap:10px;margin-top:12px;display:flex}.ban-item[data-v-52f09678]{border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:var(--radius);background:var(--paper);padding:14px}.ban-item.is-critical[data-v-52f09678]{border-left-color:var(--red)}.ban-item.is-info[data-v-52f09678]{border-left-color:var(--green)}.ban-top[data-v-52f09678]{justify-content:space-between;align-items:center;gap:10px;display:flex}.ban-ip[data-v-52f09678]{color:var(--ink);font-size:14px}.ban-severity[data-v-52f09678]{letter-spacing:.04em;text-transform:uppercase;color:var(--amber);font-size:12px;font-weight:700}.ban-item.is-critical .ban-severity[data-v-52f09678]{color:var(--red)}.ban-reason[data-v-52f09678]{color:var(--ink-2);margin:5px 0 0;font-size:14px;line-height:1.4}.ban-meta[data-v-52f09678]{color:var(--ink-3);flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:13px;display:flex}.unban-button[data-v-52f09678]{border:1px solid var(--field-line);border-radius:var(--radius);min-height:40px;color:var(--green);background:var(--paper);transition:border-color .15s var(--ease), background .15s var(--ease);margin-top:10px;padding:0 13px;font-size:14px;font-weight:500}.unban-button[data-v-52f09678]:hover:not(:disabled){border-color:var(--green);background:var(--green-soft)}.unban-button[data-v-52f09678]:disabled{opacity:.5}.events-section[data-v-52f09678]{padding-bottom:4px}.event-list[data-v-52f09678]{margin-top:4px}.event-item[data-v-52f09678]{border-bottom:1px solid var(--line);gap:10px;padding:11px 0;display:flex}.event-dot[data-v-52f09678]{background:var(--green);border-radius:50%;flex:none;width:6px;height:6px;margin-top:7px}.event-item.is-warning .event-dot[data-v-52f09678]{background:var(--amber)}.event-item.is-critical .event-dot[data-v-52f09678]{background:var(--red)}.event-copy[data-v-52f09678]{flex:1;min-width:0}.event-line[data-v-52f09678]{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.event-line strong[data-v-52f09678]{color:var(--ink-2);font-size:15px;font-weight:700}.event-line span[data-v-52f09678]{color:var(--ink-3);white-space:nowrap;font-size:12px}.event-path[data-v-52f09678]{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:12px;overflow:hidden}.event-detail[data-v-52f09678]{color:var(--red);word-break:break-word;margin:3px 0 0;font-size:13px;line-height:1.4}.event-time[data-v-52f09678]{color:var(--ink-3);margin-top:3px;font-size:12px;display:block}.security-foot[data-v-52f09678]{border-top:1px solid var(--line);margin-top:26px;padding-top:16px}.security-foot p[data-v-52f09678]{color:var(--ink-3);margin:0;font-size:14px;line-height:1.5}.security-foot code[data-v-52f09678]{border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);color:var(--ink-2);background:var(--tint);margin-top:10px;padding:4px 8px;font-size:12px;display:inline-block}.veil-enter-active[data-v-52f09678],.veil-leave-active[data-v-52f09678]{transition:opacity .2s var(--ease)}.veil-enter-from[data-v-52f09678],.veil-leave-to[data-v-52f09678]{opacity:0}.drawer-enter-active[data-v-52f09678],.drawer-leave-active[data-v-52f09678]{transition:transform .3s var(--ease-out)}.drawer-enter-from[data-v-52f09678],.drawer-leave-to[data-v-52f09678]{transform:translate(100%)}@media (width<=560px){.security-drawer[data-v-52f09678]{padding:24px 20px 22px}.security-head h2[data-v-52f09678]{font-size:29px}.security-stats strong[data-v-52f09678]{font-size:24px}}.plans-veil[data-v-3d9cdd7b]{z-index:190;background:#1e1d1a4d;position:fixed;inset:0}.plans-drawer[data-v-3d9cdd7b]{z-index:200;background:var(--paper);border-left:1px solid var(--line-strong);width:min(520px,100vw);padding:30px 30px 24px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-20px 0 50px -40px #1e1d1a99}.plans-head[data-v-3d9cdd7b]{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.plans-head .eyebrow[data-v-3d9cdd7b]{font-family:var(--font-display);letter-spacing:0;text-transform:none;color:var(--red);font-size:16px;font-style:italic;font-weight:400}.plans-head h2[data-v-3d9cdd7b]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:2px 0 0;font-size:32px;font-weight:500;line-height:1.08}.plans-sub[data-v-3d9cdd7b]{color:var(--ink-3);margin:5px 0 0;font-size:15px;line-height:1.4}.plans-close[data-v-3d9cdd7b]{border:1px solid var(--line-strong);border-radius:var(--radius);width:40px;height:40px;color:var(--ink-2);transition:border-color .15s var(--ease), background .15s var(--ease);background:0 0;flex:none;place-items:center;display:grid}.plans-close svg[data-v-3d9cdd7b]{width:15px;height:15px}.plans-close[data-v-3d9cdd7b]:hover{border-color:var(--ink);background:var(--tint)}.plans-stats[data-v-3d9cdd7b]{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:26px;display:grid;overflow:hidden}.plans-stats>div[data-v-3d9cdd7b]{background:var(--tint);flex-direction:column;gap:2px;padding:13px 12px;display:flex}.plans-stats strong[data-v-3d9cdd7b]{font-family:var(--font-display);color:var(--green);font-variant-numeric:lining-nums;font-size:28px;font-weight:500;line-height:.95}.plans-stats span[data-v-3d9cdd7b]{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:700}.plans-toolbar[data-v-3d9cdd7b]{flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px;display:flex}.plans-toolbar p[data-v-3d9cdd7b]{color:var(--ink-3);margin:0;font-size:14px;line-height:1.5}.plans-toolbar-actions[data-v-3d9cdd7b]{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.new-plan[data-v-3d9cdd7b]{border-radius:var(--radius);background:var(--ink);color:#fff;min-height:40px;transition:background .15s var(--ease);padding:0 14px;font-size:14px;font-weight:500}.new-plan[data-v-3d9cdd7b]:hover{background:#000}.sync-all[data-v-3d9cdd7b]{border:1px solid var(--field-line);border-radius:var(--radius);min-height:40px;color:var(--ink);background:var(--paper);transition:border-color .15s var(--ease), background .15s var(--ease);padding:0 13px;font-size:14px}.sync-all[data-v-3d9cdd7b]:hover:not(:disabled){border-color:var(--ink);background:var(--tint)}.sync-all[data-v-3d9cdd7b]:disabled{opacity:.45}.plans-error[data-v-3d9cdd7b]{border-radius:var(--radius);background:var(--red-soft);color:var(--red);border:1px solid #a3221b33;margin:18px 0 0;padding:10px 12px;font-size:14px}.plans-error button[data-v-3d9cdd7b]{text-underline-offset:2px;margin-left:5px;font-weight:700;text-decoration:underline}.plans-empty[data-v-3d9cdd7b]{color:var(--ink-3);padding:26px 2px;font-size:14px}.plans-list[data-v-3d9cdd7b]{flex-direction:column;gap:10px;margin:18px 0 0;padding:0;list-style:none;display:flex}.plan-item[data-v-3d9cdd7b]{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:16px}.plan-item.is-inactive[data-v-3d9cdd7b]{opacity:.6}.plan-top[data-v-3d9cdd7b]{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.plan-price[data-v-3d9cdd7b]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--green);font-variant-numeric:lining-nums;font-size:28px;font-weight:500}.plan-price span[data-v-3d9cdd7b]{font-family:var(--font-sans);letter-spacing:0;color:var(--ink-3);margin-left:3px;font-size:13px;font-weight:400}.plan-status[data-v-3d9cdd7b]{letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.plan-status.is-on[data-v-3d9cdd7b]{color:var(--green)}.plan-status.is-off[data-v-3d9cdd7b]{color:var(--amber)}.plan-item h3[data-v-3d9cdd7b]{color:var(--ink);margin:3px 0 0;font-size:16px;font-weight:700}.plan-description[data-v-3d9cdd7b]{color:var(--ink-3);margin:3px 0 0;font-size:14px;line-height:1.4}.plan-meta[data-v-3d9cdd7b]{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:9px;display:flex}.plan-meta .mono[data-v-3d9cdd7b]{color:var(--ink-2);font-size:12px}.plan-base[data-v-3d9cdd7b]{color:var(--ink-3);font-size:12px}.plan-warning[data-v-3d9cdd7b]{color:var(--amber);font-size:13px}.plan-sync[data-v-3d9cdd7b]{font-size:12px;font-weight:700}.plan-sync.is-synced[data-v-3d9cdd7b]{color:var(--green)}.plan-sync.is-pending[data-v-3d9cdd7b]{color:var(--amber)}.plan-sync.is-failed[data-v-3d9cdd7b]{color:var(--red)}.plan-sync-error[data-v-3d9cdd7b]{border-radius:var(--radius);background:var(--red-soft);color:var(--red);overflow-wrap:anywhere;margin:8px 0 0;padding:7px 9px;font-size:13px;line-height:1.4}.plan-actions[data-v-3d9cdd7b]{flex-wrap:wrap;gap:6px 14px;margin-top:11px;display:flex}.plan-action[data-v-3d9cdd7b]{color:var(--green);text-underline-offset:3px;font-size:14px;text-decoration:underline}.plan-action[data-v-3d9cdd7b]:hover{color:var(--red)}.plan-action[data-v-3d9cdd7b]:disabled{opacity:.45}.plan-action.is-danger[data-v-3d9cdd7b]{color:var(--red)}.plans-foot[data-v-3d9cdd7b]{border-top:1px solid var(--line);margin-top:26px;padding-top:16px}.plans-foot p[data-v-3d9cdd7b]{color:var(--ink-3);margin:0;font-size:14px;line-height:1.5}.plans-foot code[data-v-3d9cdd7b]{font-family:var(--font-mono);color:var(--ink-2);font-size:12px}.back-button[data-v-3d9cdd7b]{color:var(--green);text-underline-offset:3px;margin-top:22px;font-size:14px;text-decoration:underline}.back-button[data-v-3d9cdd7b]:hover{color:var(--red)}.plan-form[data-v-3d9cdd7b]{margin-top:18px}.plan-label[data-v-3d9cdd7b]{color:var(--ink);margin:18px 0 6px;font-size:15px;font-weight:700;display:block}.plan-label span[data-v-3d9cdd7b]{color:var(--ink-3);margin-left:4px;font-size:13px;font-weight:400}.plan-input[data-v-3d9cdd7b]{border:1px solid var(--field-line);border-radius:var(--radius);background:var(--paper);width:100%;height:44px;color:var(--ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);outline:none;padding:0 12px;font-size:16px}.plan-input[data-v-3d9cdd7b]:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.plan-input.mono[data-v-3d9cdd7b]{font-family:var(--font-mono);font-size:14px}.form-row[data-v-3d9cdd7b]{grid-template-columns:1fr .65fr;gap:12px;display:grid}.plan-help[data-v-3d9cdd7b]{color:var(--ink-3);margin:6px 0 0;font-size:13px;line-height:1.4}.plan-help code[data-v-3d9cdd7b]{font-family:var(--font-mono);font-size:12px}.active-toggle[data-v-3d9cdd7b]{color:var(--ink-2);align-items:center;gap:9px;margin-top:22px;font-size:15px;display:inline-flex}.toggle-track[data-v-3d9cdd7b]{background:var(--line-strong);width:38px;height:22px;transition:background .15s var(--ease);border-radius:999px;padding:3px;display:block}.toggle-track i[data-v-3d9cdd7b]{background:var(--paper);width:16px;height:16px;transition:transform .2s var(--ease-out);border-radius:50%;display:block}.active-toggle.is-on .toggle-track[data-v-3d9cdd7b]{background:var(--green)}.active-toggle.is-on .toggle-track i[data-v-3d9cdd7b]{transform:translate(16px)}.form-error[data-v-3d9cdd7b]{color:var(--red);margin:14px 0 0;font-size:14px;line-height:1.4}.form-actions[data-v-3d9cdd7b]{justify-content:flex-end;align-items:center;gap:14px;margin-top:26px;display:flex}.form-cancel[data-v-3d9cdd7b]{min-height:44px;color:var(--ink-3);text-underline-offset:3px;padding:0 12px;font-size:15px;text-decoration:underline}.form-cancel[data-v-3d9cdd7b]:hover{color:var(--red)}.form-save[data-v-3d9cdd7b]{border-radius:var(--radius);background:var(--ink);color:#fff;min-height:44px;transition:background .15s var(--ease), opacity .15s var(--ease);padding:0 20px;font-size:15px;font-weight:500}.form-save[data-v-3d9cdd7b]:hover:not(:disabled){background:#000}.form-save[data-v-3d9cdd7b]:disabled{opacity:.5}.veil-enter-active[data-v-3d9cdd7b],.veil-leave-active[data-v-3d9cdd7b]{transition:opacity .2s var(--ease)}.veil-enter-from[data-v-3d9cdd7b],.veil-leave-to[data-v-3d9cdd7b]{opacity:0}.drawer-enter-active[data-v-3d9cdd7b],.drawer-leave-active[data-v-3d9cdd7b]{transition:transform .3s var(--ease-out)}.drawer-enter-from[data-v-3d9cdd7b],.drawer-leave-to[data-v-3d9cdd7b]{transform:translate(100%)}@media (width<=560px){.plans-drawer[data-v-3d9cdd7b]{padding:24px 20px 22px}.plans-head h2[data-v-3d9cdd7b]{font-size:28px}.plans-toolbar-actions[data-v-3d9cdd7b]{justify-content:flex-end;width:100%}.form-row[data-v-3d9cdd7b]{grid-template-columns:1fr .7fr}}.toast-stack[data-v-82fe55df]{z-index:300;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;width:min(390px,100vw - 32px);display:flex;position:fixed;bottom:24px;right:24px}.toast[data-v-82fe55df]{border:1px solid var(--line-strong);border-left:3px solid var(--green);border-radius:var(--radius);background:var(--paper);pointer-events:auto;align-items:flex-start;gap:10px;width:100%;padding:13px 14px;display:flex;box-shadow:0 14px 34px -26px #1e1d1a8c}.toast.is-error[data-v-82fe55df]{border-left-color:var(--red)}.toast.is-warning[data-v-82fe55df]{border-left-color:var(--amber)}.toast.is-info[data-v-82fe55df]{border-left-color:var(--ink-3)}.toast-icon[data-v-82fe55df]{color:var(--green);flex:none;margin-top:1px}.toast.is-error .toast-icon[data-v-82fe55df]{color:var(--red)}.toast.is-warning .toast-icon[data-v-82fe55df]{color:var(--amber)}.toast.is-info .toast-icon[data-v-82fe55df]{color:var(--ink-3)}.toast-icon svg[data-v-82fe55df]{width:18px;height:18px}.toast-copy[data-v-82fe55df]{flex-direction:column;gap:2px;min-width:0;display:flex}.toast-copy strong[data-v-82fe55df]{color:var(--ink);font-size:15px;font-weight:700;line-height:1.3}.toast-copy p[data-v-82fe55df]{color:var(--ink-3);margin:0;font-size:14px;line-height:1.45}.toast-close[data-v-82fe55df]{border-radius:var(--radius);width:22px;height:22px;color:var(--ink-3);transition:background .15s var(--ease), color .15s var(--ease);flex:none;place-items:center;margin-left:auto;display:grid}.toast-close svg[data-v-82fe55df]{width:11px;height:11px}.toast-close[data-v-82fe55df]:hover{background:var(--tint);color:var(--ink)}.toast-enter-active[data-v-82fe55df]{transition:opacity .2s var(--ease), transform .24s var(--ease-out)}.toast-leave-active[data-v-82fe55df]{transition:opacity .15s var(--ease), transform .18s var(--ease);width:100%;position:absolute;right:0}.toast-enter-from[data-v-82fe55df]{opacity:0;transform:translateY(8px)}.toast-leave-to[data-v-82fe55df]{opacity:0;transform:translate(16px)}.toast-move[data-v-82fe55df]{transition:transform .25s var(--ease)}@media (width<=560px){.toast-stack[data-v-82fe55df]{bottom:16px;right:16px}}.login-screen[data-v-99546bad]{background:var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:48px 24px;display:flex}.login-sheet[data-v-99546bad]{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:100%;max-width:1040px;min-height:600px;animation:sheet-in .5s var(--ease-out) both;flex-wrap:wrap;display:flex;overflow:hidden}.login-frontispiece[data-v-99546bad]{border-right:1px solid var(--line);flex:420px;gap:28px;min-width:0;padding:0 48px 44px 40px;display:flex}.login-ribbon[data-v-99546bad]{background:var(--green);clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%);flex:none;width:26px;height:200px}.login-front-copy[data-v-99546bad]{flex-direction:column;flex:auto;min-width:0;padding-top:52px;display:flex}.login-eyebrow[data-v-99546bad]{font-family:var(--font-display);color:var(--red);margin:0;font-size:18px;font-style:italic;line-height:1.3}.login-front-copy h1[data-v-99546bad]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:6px 0 0;font-size:64px;font-weight:500;line-height:1}.login-lead[data-v-99546bad]{max-width:34ch;font-family:var(--font-display);color:var(--ink-2);margin:28px 0 0;font-size:20px;line-height:1.55}.login-today[data-v-99546bad]{margin-top:auto;padding-top:48px}.today-date[data-v-99546bad]{color:var(--ink-3);margin:0;font-size:15px}.today-weekday[data-v-99546bad]{font-family:var(--font-display);color:var(--red);margin:2px 0 0;font-size:17px;font-style:italic;line-height:1.4}.login-panel[data-v-99546bad]{flex:360px;min-width:0;padding:52px 48px 44px}.login-panel h2[data-v-99546bad]{font-family:var(--font-display);color:var(--ink);margin:0;font-size:34px;font-weight:500;line-height:1.15}.login-sub[data-v-99546bad]{color:var(--ink-3);margin:6px 0 0;font-size:16px;line-height:1.45}.login-notice[data-v-99546bad]{border-radius:var(--radius);background:var(--tint);color:var(--ink);align-items:flex-start;gap:10px;margin:24px 0 0;padding:12px 14px;font-size:15px;line-height:1.45;display:flex}.login-notice svg[data-v-99546bad]{width:18px;height:18px;color:var(--ink-2);flex:none;margin-top:2px}.login-blocked[data-v-99546bad]{border-radius:var(--radius);background:var(--red-soft);color:var(--red);border:1px solid #a3221b38;margin:20px 0 0;padding:12px 14px}.login-blocked strong[data-v-99546bad]{font-size:15px;font-weight:700}.login-blocked p[data-v-99546bad]{color:var(--ink-2);margin:3px 0 0;font-size:14px;line-height:1.45}.login-blocked small[data-v-99546bad]{color:var(--red);margin-top:6px;font-size:13px;display:block}.login-form[data-v-99546bad]{flex-direction:column;gap:20px;margin-top:24px;display:flex}.field-group[data-v-99546bad]{flex-direction:column;gap:6px;display:flex}.login-label[data-v-99546bad]{color:var(--ink);font-size:15px;font-weight:700}.login-input[data-v-99546bad]{border:1px solid var(--field-line);border-radius:var(--radius);background:var(--paper);width:100%;height:48px;color:var(--ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);outline:none;padding:0 14px;font-size:17px}.login-input[data-v-99546bad]::placeholder{color:var(--ink-3);opacity:.75}.login-input[data-v-99546bad]:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.login-input[data-v-99546bad]:disabled{opacity:.55}.password-field[data-v-99546bad]{border:1px solid var(--field-line);border-radius:var(--radius);background:var(--paper);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);align-items:stretch;display:flex;overflow:hidden}.password-field[data-v-99546bad]:focus-within{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.password-field input[data-v-99546bad]{min-width:0;height:46px;color:var(--ink);background:0 0;border:0;outline:none;flex:auto;padding:0 14px;font-size:17px}.password-toggle[data-v-99546bad]{border-left:1px solid var(--line);background:var(--paper);min-width:88px;color:var(--ink);text-underline-offset:3px;flex:none;font-size:15px;text-decoration:underline}.password-toggle[data-v-99546bad]:hover{color:var(--red)}.login-error[data-v-99546bad]{color:var(--red);margin:-4px 0 0;font-size:15px;line-height:1.4}.login-submit[data-v-99546bad]{border-radius:var(--radius);background:var(--ink);color:#fff;min-height:50px;transition:background .18s var(--ease), opacity .18s var(--ease);border:0;justify-content:center;align-items:center;gap:9px;margin-top:4px;font-size:17px;font-weight:500;display:inline-flex}.login-submit[data-v-99546bad]:hover:not(:disabled){background:#000}.login-submit[data-v-99546bad]:disabled{opacity:.6}.login-spinner[data-v-99546bad]{border:1.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.login-foot[data-v-99546bad]{border-top:1px solid var(--line);max-width:44ch;color:var(--ink-3);margin:28px 0 0;padding-top:20px;font-size:15px;line-height:1.5}.login-error-enter-active[data-v-99546bad],.login-error-leave-active[data-v-99546bad]{transition:opacity .18s var(--ease), transform .18s var(--ease)}.login-error-enter-from[data-v-99546bad],.login-error-leave-to[data-v-99546bad]{opacity:0;transform:translateY(-2px)}@media (width<=860px){.login-screen[data-v-99546bad]{padding:32px 20px}.login-frontispiece[data-v-99546bad]{border-right:0;border-bottom:1px solid var(--line);flex:100%;padding:0 40px 32px}.login-ribbon[data-v-99546bad]{width:20px;height:140px}.login-front-copy[data-v-99546bad]{padding-top:36px}.login-front-copy h1[data-v-99546bad]{font-size:52px}.login-lead[data-v-99546bad]{margin-top:20px;font-size:18px}.login-today[data-v-99546bad]{padding-top:28px}.login-panel[data-v-99546bad]{flex:100%;padding:36px 40px}}@media (width<=560px){.login-screen[data-v-99546bad]{padding:20px 14px}.login-frontispiece[data-v-99546bad]{gap:18px;padding:0 24px 26px 22px}.login-ribbon[data-v-99546bad]{width:16px;height:112px}.login-front-copy[data-v-99546bad]{padding-top:24px}.login-eyebrow[data-v-99546bad]{font-size:16px}.login-front-copy h1[data-v-99546bad]{font-size:42px}.login-lead[data-v-99546bad]{margin-top:16px;font-size:17px;line-height:1.5}.login-today[data-v-99546bad]{padding-top:22px}.login-panel[data-v-99546bad]{padding:28px 22px 30px}.login-panel h2[data-v-99546bad]{font-size:29px}.login-sub[data-v-99546bad]{font-size:15px}}.boot-wrap[data-v-0328355d]{min-height:100vh}.app-shell.is-login[data-v-0328355d]{padding:0}.boot-error[data-v-0328355d]{place-items:center;min-height:100vh;padding:32px 20px;display:grid}.boot-card[data-v-0328355d]{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--paper);text-align:center;width:min(480px,100%);padding:40px 36px 34px}.boot-card h1[data-v-0328355d]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:10px 0 0;font-size:38px;font-weight:500;line-height:1.08}.boot-message[data-v-0328355d]{max-width:380px;color:var(--ink-3);margin:12px auto 0;font-size:16px;line-height:1.5}.boot-retry[data-v-0328355d]{border-radius:var(--radius);background:var(--ink);color:#fff;min-height:48px;transition:background .18s var(--ease);justify-content:center;align-items:center;gap:9px;margin-top:24px;padding:0 22px;font-size:16px;font-weight:500;display:inline-flex}.boot-retry[data-v-0328355d]:hover{background:#000}.boot-retry svg[data-v-0328355d]{width:15px;height:15px}.boot-logout[data-v-0328355d]{color:var(--ink-3);text-underline-offset:3px;margin:14px auto 0;font-size:15px;text-decoration:underline;display:block}.boot-logout[data-v-0328355d]:hover{color:var(--red)}.boot-code[data-v-0328355d]{border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);color:var(--ink-3);background:var(--tint);margin-top:20px;padding:5px 9px;font-size:12px;display:inline-block}@media (width<=520px){.boot-card[data-v-0328355d]{padding:30px 22px 26px}.boot-card h1[data-v-0328355d]{font-size:31px}}
