:root{color-scheme:light dark;--v-bg:light-dark(#e9e6e7,#272d36);--v-surface:light-dark(#f8f6f5,#343b47);--v-field:light-dark(#fffdfb,#2b323d);--v-ink:light-dark(#463f3d,#f2eeea);--v-muted:light-dark(#5e5653,#d0c6bf);--v-line:light-dark(#b8aca6,#657184);--v-soft:light-dark(#dedbdc,#414b5a);--v-brand:light-dark(#dedad7,#b6aea7);--v-brand-ink:#343d4a;--v-primary:light-dark(#344c6a,#b9c8dc);--v-primary-ink:light-dark(#fff,#1d2a3b);--v-hover:light-dark(#293f5a,#cbd5e2);--v-link:light-dark(#354d6d,#ccd9ec);--v-focus:light-dark(#49658b,#d9c49c);--v-pending-bg:light-dark(#f3e7d0,#4b3f2b);--v-pending-ink:light-dark(#6d4b18,#f4d59b);--v-active-bg:light-dark(#e2ece3,#294337);--v-active-ink:light-dark(#315b40,#c5e6d1);--v-info-bg:light-dark(#e1e7ef,#34495e);--v-info-ink:light-dark(#354b6b,#d1e0f0);--v-error-bg:light-dark(#f3e1dd,#4c3437);--v-error-ink:light-dark(#7e3834,#f1c6bf);--v-slate:#6b7c98;--v-taupe:#ab978c;--v-gray:#7b7f8a;--v-font:Georgia,"Times New Roman",serif;--v-radius:16px;--ink:var(--v-ink);--muted:var(--v-muted);--line:var(--v-line);--paper:var(--v-bg);--white:var(--v-surface);--green:var(--v-primary);--teal:var(--v-soft);--orange:var(--v-muted);font-family:var(--v-font);font-size:17px;line-height:1.6;color:var(--v-ink);background:var(--v-bg);accent-color:var(--v-primary)}
:root[data-appearance=light]{color-scheme:light}:root[data-appearance=dark]{color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:0;background:var(--v-bg);color:var(--v-ink)}button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--v-link);text-underline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--v-focus);outline-offset:3px}input,select,textarea{color:var(--v-ink);background:var(--v-field);border:1px solid var(--v-line);border-radius:10px;min-width:0;font-size:17px;padding:11px 13px;min-height:48px}input::placeholder,textarea::placeholder{color:var(--v-muted);opacity:1}input:focus,textarea:focus,select:focus{border-color:var(--v-focus)}button,.primary,.secondary{min-height:44px}h1,h2,h3{color:var(--v-ink);font-family:var(--v-font);line-height:1.25}h1{letter-spacing:-.9px}h2{letter-spacing:-.45px}p,li{line-height:1.65}summary{cursor:pointer}.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--v-primary);border:1px solid var(--v-primary);color:var(--v-primary-ink);border-radius:10px;font-weight:700;font-size:17px;padding:12px 19px;text-decoration:none;min-height:48px;box-shadow:none}.primary:hover:not(:disabled){background:var(--v-hover);border-color:var(--v-hover)}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--v-surface);border:1px solid var(--v-line);color:var(--v-ink);border-radius:10px;font-size:16px;padding:10px 15px;text-decoration:none;min-height:44px}.secondary:hover:not(:disabled){background:var(--v-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.appearance-control{position:relative;flex:none}.appearance-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--v-line);border-radius:10px;background:var(--v-surface);color:var(--v-ink);padding:9px 13px;font-size:16px;min-height:44px}.appearance-symbol{font-family:Arial,sans-serif;font-size:19px}.appearance-options{position:absolute;z-index:20;top:calc(100% + 8px);right:0;min-width:175px;padding:7px;border:1px solid var(--v-line);border-radius:12px;background:var(--v-surface);box-shadow:0 9px 25px #141c2926}.appearance-options button{display:block;width:100%;padding:10px 13px;min-height:44px;text-align:left;font-size:16px;background:transparent;border:0;border-radius:8px;color:var(--v-ink)}.appearance-options button[aria-pressed=true]{background:var(--v-soft);font-weight:700}.appearance-options button:hover{background:var(--v-soft)}
.account-bar{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:17px max(24px,calc((100% - 1140px)/2));border-bottom:1px solid var(--v-line);background:var(--v-surface);width:100%;margin:0}.account-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap}.account-actions .secondary,.account-actions #open-admin{background:transparent;border:0;border-radius:8px;color:var(--v-ink);font-size:16px;padding:8px 0;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.account-actions .secondary:hover,.account-actions #open-admin:hover{color:var(--v-link);background:transparent;text-decoration:underline}.account-actions #open-admin[hidden]{display:none!important}.account-connection{margin:0;background:var(--v-error-bg);color:var(--v-error-ink);padding:12px 24px;font-size:16px;line-height:1.6}#account-dialog{width:calc(100% - 32px);max-width:540px;max-height:calc(100dvh - 40px);overflow:auto;margin:auto;border:1px solid var(--v-line);border-radius:20px;background:var(--v-surface);color:var(--v-ink);padding:28px;font-family:var(--v-font);box-shadow:0 18px 70px #151b3233}#account-dialog::backdrop,#delete-account-dialog::backdrop{background:#18202c99;backdrop-filter:blur(3px)}#account-dialog h2{font-size:30px;margin:0 0 20px}#account-dialog h3{font-size:23px;margin:28px 0 17px}#account-dialog label{display:grid;gap:8px;font-size:16px;margin:17px 0;color:var(--v-ink)}#account-dialog input{width:100%;font-size:17px;background:var(--v-field);color:var(--v-ink);border:1px solid var(--v-line);border-radius:10px;padding:11px 13px}#account-dialog input[readonly]{background:var(--v-soft);color:var(--v-muted)}#account-dialog button{margin-top:6px}#close-account{float:right;padding:8px 12px}#profile-form,#password-form{clear:both}#account-status{font-size:16px;line-height:1.6;color:var(--v-muted);min-height:24px}
@media(max-width:700px){.account-bar{padding:14px 20px}.account-actions{width:100%;gap:10px 20px;justify-content:flex-start}.account-actions .secondary,.account-actions #open-admin{font-size:16px}.appearance-toggle{font-size:16px}.appearance-options{left:0;right:auto}#account-dialog{padding:24px 21px}#account-dialog h2{font-size:28px}#account-dialog h3{font-size:22px}.account-actions .appearance-control{margin-left:auto}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.icon-credits{border-top:1px solid var(--v-line);margin-top:25px;padding-top:13px}.icon-credits summary{font-size:15px;color:var(--v-muted);padding:9px 0;min-height:44px}.icon-credits p{font-size:15px;color:var(--v-muted);line-height:1.6;margin:9px 0}

body.planner-page footer.page-bottom-space,body.admin-page footer.page-bottom-space{display:block;height:calc(36px + env(safe-area-inset-bottom,0px));margin:0;padding:0;border:0;flex:none;pointer-events:none}@media(max-width:700px){body.planner-page footer.page-bottom-space,body.admin-page footer.page-bottom-space{height:calc(28px + env(safe-area-inset-bottom,0px))}}

.access-page{background:var(--v-brand)}.access-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px max(24px,calc((100% - 1100px)/2));background:var(--v-surface);border-bottom:1px solid var(--v-line)}.access-toolbar>span{font-size:16px;color:var(--v-muted)}.access-layout{max-width:1160px;margin:40px auto 60px;padding:20px 30px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:70px;align-items:start}.welcome{padding:35px 0;min-width:0;color:var(--v-brand-ink)}.access-logo{display:block;width:100%;max-width:365px;height:auto;object-fit:contain;margin:0 0 40px}.welcome h1{font-size:42px;font-weight:700;line-height:1.2;letter-spacing:-1px;color:var(--v-brand-ink);margin:0}.welcome h1 em{font-style:italic}.welcome>p{font-size:21px;line-height:1.6;color:var(--v-brand-ink);max-width:360px;margin:22px 0 0}.entry-area{min-width:0}.login-card{background:var(--v-surface);border:1px solid var(--v-line);border-radius:20px;padding:27px 30px 30px;max-width:500px;margin-left:auto}.access-tabs{display:flex;gap:5px;padding:5px;background:var(--v-soft);border-radius:12px;margin-bottom:27px}.access-tabs button{flex:1;min-width:0;border:0;padding:10px 8px;min-height:44px;background:transparent;border-radius:9px;color:var(--v-muted);font-size:16px;line-height:1.5}.access-tabs button[aria-pressed=true]{background:var(--v-surface);color:var(--v-ink);font-weight:700}.access-page h2{font-size:31px;font-weight:700;letter-spacing:-.6px;margin:0 0 12px}.access-page h3{font-size:22px;margin:0 0 15px}.subtle{font-size:17px;line-height:1.65;color:var(--v-muted);margin:0 0 24px}.access-page label{display:block;font-size:16px;line-height:1.5;margin:19px 0 8px}.access-page input{display:block;width:100%;font-size:17px}.input-field{display:flex;align-items:center;gap:10px;border:1px solid var(--v-line);background:var(--v-field);border-radius:10px;padding:0 12px;min-height:48px}.input-field:focus-within{outline:3px solid var(--v-focus);outline-offset:3px}.input-field input{flex:1;border:0;border-radius:0;background:transparent;min-width:0;padding:11px 0}.input-field input:focus-visible{outline:none}.mail-icon{font-family:Arial,sans-serif;font-size:23px;line-height:1;color:var(--v-muted)}.show-password{flex:none;min-height:44px;border:0;background:transparent;color:var(--v-link);padding:8px 0;font-size:15px}.access-page .primary{width:100%;margin-top:10px}.status{font-size:16px;line-height:1.65;color:var(--v-error-ink);margin:12px 0;overflow-wrap:anywhere}.status:empty{margin:16px 0 0}.help{border-top:1px solid var(--v-line);margin-top:26px;padding-top:22px;font-size:16px;line-height:1.65}.help p{margin:0 0 7px}.help .subtle{font-size:16px}.contact{display:inline-block;overflow-wrap:anywhere;font-size:16px}.field-hint{font-size:15px;line-height:1.65;color:var(--v-muted);margin:9px 0 0}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.challenge{margin-top:18px;min-width:0}.pending-label{display:inline-flex;padding:7px 12px;border:1px solid var(--v-line);border-radius:9px;background:var(--v-pending-bg);color:var(--v-pending-ink);font-size:15px;line-height:1.5;font-weight:700;margin-bottom:18px}.registered-data{background:var(--v-soft);padding:15px 17px;border-radius:12px;margin:0 0 24px}.access-page dt{font-size:16px;color:var(--v-muted)}.access-page dd{font-size:17px;margin:4px 0 13px;overflow-wrap:anywhere}.access-page dd:last-child{margin-bottom:0}.payment{border-top:1px solid var(--v-line);padding-top:23px;margin-bottom:22px}.payment img{display:block;max-width:100%;height:auto;margin:0 auto 19px;border-radius:10px}.payment dl{margin:0}.paid-note{font-size:16px;line-height:1.65;color:var(--v-muted);margin:20px 0 0}.paid-note strong{display:block;color:var(--v-ink);margin-bottom:7px}.back-link{display:block;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--v-link);padding:12px 4px;margin:13px auto 0;font-size:16px;min-height:44px}.no-script{padding:20px;text-align:center;font-size:17px;color:var(--v-brand-ink)}
@media(max-width:850px){.access-layout{gap:35px;padding:15px 25px}.welcome h1{font-size:36px}.welcome>p{font-size:19px}.login-card{padding:25px 23px}.access-logo{margin-bottom:32px}.access-tabs button{padding:10px 6px}}
@media(max-width:700px){.access-toolbar{padding:15px 21px}.access-toolbar>span{font-size:15px}.access-layout{display:block;margin:0 auto;padding:27px 21px 37px;max-width:500px}.welcome{padding:0 0 29px}.access-logo{width:290px;max-width:100%;margin:0 0 23px}.welcome h1{font-size:33px;line-height:1.2;letter-spacing:-.8px}.welcome h1 br{display:none}.welcome>p{font-size:19px;margin-top:16px;max-width:none}.login-card{max-width:none;border-radius:17px;margin:0;padding:25px 22px}.access-page h2{font-size:29px}.name-fields{grid-template-columns:1fr;gap:0}.access-tabs{margin-bottom:25px}.access-page label{font-size:16px}.access-page input{font-size:17px}}

.session-check{min-height:calc(100svh - 90px);padding:35px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;color:var(--v-brand-ink)}.session-check img{display:block;width:min(340px,85vw);height:auto;object-fit:contain}.session-check p{font-size:20px;line-height:1.6;max-width:520px;margin:0}.session-check-spinner{display:block;width:28px;height:28px;border:3px solid var(--v-line);border-top-color:var(--v-primary);border-radius:50%;animation:session-spin .8s linear infinite}body[data-session-state="unavailable"] .session-check-spinner{display:none}@keyframes session-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.session-check-spinner{animation:none}}
