/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}*,:before,:after{box-sizing:border-box}button{cursor:pointer;background:0 0;border:none;padding:0}input,textarea{border:none;outline:none}a{color:inherit;text-decoration:none}img,canvas,svg{max-width:100%;display:block}textarea{height:100%}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}:root{--color-brand-border:#8fbbdf;--color-brand-hover:#6aa6da;--color-surface:#fbfbf8;--color-surface-muted:#f0f4f7;--color-surface-page:#dbe3e9;--color-ink:#0a0a0a;--color-ink-muted:#2d2d2d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.6}body{font-feature-settings:"cv02", "cv03", "cv04", "cv11";min-height:100dvh;margin:0}@supports (padding:env(safe-area-inset-bottom)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}#root{background:var(--color-surface-page);justify-content:center;align-items:center;min-height:100dvh;display:flex}.app-container{width:100%;max-width:840px;height:100%}.panel{background:var(--color-surface);border:1px solid var(--color-brand-border);border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem;gap:1rem;padding:16px;display:grid}@media (width>=640px){.panel{padding:24px}}@media (width>=1024px){.panel{grid-template-columns:repeat(2,1fr)}}.nav-tabs{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow-x:auto}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{white-space:nowrap;border-top:1px solid var(--color-brand-border);width:120px;font-size:inherit;flex-shrink:0;padding:.75rem 1rem;transition:color .15s,background-color .15s,border-color .15s}.nav-tab:focus{outline:none}.nav-tab--first{border-left:1px solid var(--color-brand-border);border-right:1px solid var(--color-brand-border);border-top-left-radius:.5rem}.nav-tab--last{border-right:1px solid var(--color-brand-border);border-top-right-radius:.5rem}.nav-tab--middle{border-right:1px solid var(--color-brand-border)}.nav-tab--inactive{background:var(--color-surface-muted);color:var(--color-ink-muted);font-weight:400}.nav-tab--inactive:hover{background:var(--color-surface)}.nav-tab--active{background:var(--color-surface);color:var(--color-ink);font-weight:600}.form-fields{flex-direction:column;gap:.75rem;display:flex}.form-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.sub-tabs{gap:.5rem;margin-bottom:1rem;display:flex}.sub-tabs--wrap{flex-wrap:wrap}.sub-tab{border:1px solid var(--color-brand-border);border-radius:.25rem;padding:.25rem .75rem;font-size:.75rem;transition:color .15s,background-color .15s,border-color .15s}.sub-tab:focus{outline:none;box-shadow:0 0 0 2px #3b82f6}.sub-tab--inactive{color:var(--color-ink-muted);background:var(--color-surface-muted)}.sub-tab--inactive:hover{background:var(--color-surface)}.sub-tab--active{color:var(--color-ink);background:var(--color-surface);font-weight:700}.field-box{border:1px solid var(--color-brand-border);border-radius:.5rem;transition:border-color .15s;overflow:hidden}.field-box:focus-within{border-color:var(--color-brand-hover)}.field-box__header{border-bottom:1px solid var(--color-brand-border);padding:.25rem .75rem;display:flex}.field-box__header--row{justify-content:space-between;align-items:center}.field-box__header--stack{flex-direction:column;align-items:flex-start}.field-box__label{color:#6b7280;font-size:.75rem;font-weight:500}.field-box__meta{color:#9ca3af;font-size:.75rem}.field-box__input{padding:.5rem .75rem}.form-input{color:#111827;background:0 0;border:0;width:100%;padding:14px 16px;font-size:.875rem}.form-input::placeholder{color:#9ca3af}.form-input:focus{outline:none}.form-textarea{color:#111827;resize:none;background:0 0;border:0;width:100%;padding:.5rem .75rem;font-size:.875rem}.form-textarea::placeholder{color:#9ca3af}.form-textarea:focus{outline:none}.validation-msg{color:#f87171;margin-top:.25rem;font-size:.875rem}.validation-msg p,.validation-msg li{font-size:inherit;color:inherit}.validation-list{flex-direction:column;gap:.25rem;list-style-type:disc;list-style-position:inside;display:flex}.password-toggle{color:#60a5fa;transition:color .15s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover{color:#3b82f6}.password-toggle:focus{outline:none}.password-toggle svg{width:1rem;height:1rem}.date-input-wrap{flex-direction:column;gap:.5rem;padding:0 .75rem .5rem;display:flex}.date-input-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.date-input-group label{color:#9ca3af;font-size:.75rem}.date-field{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;width:100%;padding:.25rem .5rem;font-size:.75rem}.date-field:focus{border-color:#60a5fa;outline:none}.all-day-label{color:#6b7280;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.all-day-label input[type=checkbox]{accent-color:#3b82f6;border:1px solid #d1d5db;border-radius:.25rem}.calendar-display-row{align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.calendar-display-text{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;overflow:hidden}.calendar-display-placeholder{color:#9ca3af}.calendar-display-icon{color:#60a5fa;flex-shrink:0;width:1rem;height:1rem}.qr-card{border:1px solid var(--color-brand-border);background:var(--color-surface);border-radius:.5rem;overflow:hidden}.qr-card__header{border-bottom:1px solid var(--color-brand-border);justify-content:space-between;align-items:center;padding:.25rem .75rem;display:flex}.qr-card__footer{border-top:1px solid var(--color-brand-border)}.qr-card__label{color:#6b7280;font-size:.75rem;font-weight:500}.qr-display{justify-content:center;align-items:center;padding:16px;display:flex}.qr-display-code{border:1px solid var(--color-brand-border);border-radius:8px;padding:16px}@media (width>=640px){.qr-display{padding:32px}.qr-display-code{padding:30px}}.empty-state{text-align:center;flex-direction:column;align-items:center;display:flex}.empty-state__icon-box{justify-content:center;align-items:center;width:4rem;height:4rem;display:flex}.empty-state__icon{color:var(--color-brand-border)}.empty-state__title{color:var(--color-ink-muted);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.empty-state__description{color:color-mix(in srgb, var(--color-ink-muted) 60%, transparent);font-size:.75rem}.qr-error{text-align:center;color:#dc2626}.qr-error__title{margin-bottom:.5rem;font-size:.875rem;font-weight:500}.qr-error__detail{color:#4b5563;margin-bottom:.75rem;font-size:.75rem}.theme-panel{border-top:1px solid var(--color-brand-border)}.theme-panel__summary{color:var(--color-ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem 1rem;font-size:.75rem;font-weight:500}.theme-panel__summary:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #60a5fa}.theme-panel__body{flex-direction:column;gap:.75rem;padding:0 1rem 1rem;display:flex}.theme-panel__field{flex-direction:column;gap:.5rem;display:flex}.theme-panel__colors{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.theme-panel__swatch{border:1px solid var(--color-brand-border);background:var(--color-surface);cursor:pointer;border-radius:6px;width:2.5rem;height:1.75rem;padding:.125rem}.theme-panel__angle{flex:1;align-items:center;gap:.5rem;min-width:8rem;display:flex}.theme-panel__angle input{accent-color:var(--color-brand-hover);flex:1}.theme-panel__check{cursor:pointer;align-items:center;gap:.5rem;display:flex}.theme-panel__check input{accent-color:var(--color-brand-hover)}.theme-panel__reset{color:var(--color-ink-muted);align-self:flex-start;font-size:11px;line-height:18px;text-decoration:underline}.theme-panel__reset:disabled{opacity:.4;cursor:default}.download-box{padding:1rem}.download-box__fields{flex-direction:column;gap:1rem;display:flex}.download-box__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:.75rem;font-size:.875rem}.download-box__row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.download-box__label{color:var(--color-ink-muted);font-size:11px;line-height:18px}.export-toggle{border:1px solid var(--color-brand-border);border-radius:8px;display:flex;overflow:hidden}.export-toggle__btn{border-right:1px solid var(--color-brand-border);padding:.25rem 1rem;font-size:11px;font-weight:500;line-height:18px;transition:color .15s,background-color .15s,border-color .15s}.export-toggle__btn:focus{outline:none;font-weight:600}.export-toggle__btn:last-child{border-right-width:0}.export-toggle__btn--active{background:var(--color-surface);color:var(--color-ink)}.export-toggle__btn--inactive{background:var(--color-surface-muted);color:var(--color-ink-muted)}.btn-download{border-radius:8px;justify-content:center;align-items:center;width:100%;height:48px;font-size:.875rem;font-weight:500;transition:background-color .2s,opacity .2s;display:flex}.btn-download:focus{outline:none;box-shadow:0 0 0 2px #60a5fa}.btn-download--enabled{background:var(--color-brand-hover);color:#fff}.btn-download--enabled:hover{background:#5a96ca}.btn-download--generating{background:color-mix(in srgb, var(--color-brand-border) 50%, transparent);color:#ffffffb3;cursor:not-allowed;pointer-events:none}.btn-download--placeholder{background:color-mix(in srgb, var(--color-brand-border) 40%, transparent);color:#fff9;cursor:not-allowed}.spinner{border-bottom:2px solid #fff;border-radius:9999px;width:1rem;height:1rem;margin-right:.5rem;animation:1s linear infinite spin}.retry-btn{color:#fff;background:#dc2626;border-radius:.25rem;padding:.25rem .75rem;font-size:.875rem;transition:background-color .15s}.retry-btn:hover{background:#b91c1c}.prompt-btn{border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s}.prompt-btn--primary{color:#fff;background:#2563eb;flex:1}.prompt-btn--primary:hover{background:#1d4ed8}.prompt-btn--secondary{color:#374151;background:#f3f4f6}.prompt-btn--secondary:hover{background:#e5e7eb}.prompt-btn--full{width:100%}.error-fallback{text-align:center;justify-content:center;align-items:center;padding:1.5rem;display:flex}.error-fallback__content{max-width:24rem;margin:0 auto}.error-fallback__icon-box{background:#fee2e2;border-radius:9999px;justify-content:center;align-items:center;width:4rem;height:4rem;margin:0 auto 1rem;display:flex}.error-fallback__icon{color:#dc2626;width:2rem;height:2rem}.error-fallback__title{color:#111827;margin-bottom:.5rem;font-size:1.125rem;font-weight:500}.error-fallback__message{color:#4b5563;margin-bottom:1rem;font-size:.875rem}.update-prompt{z-index:50;animation:.3s ease-out slideUp;position:fixed;bottom:1rem;left:1rem;right:1rem}@media (width>=640px){.update-prompt{width:24rem;left:auto;right:1rem}}.update-prompt__card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.update-prompt__body{align-items:flex-start;gap:.75rem;display:flex}.update-prompt__icon-box{background:#eff6ff;border-radius:.5rem;flex-shrink:0;padding:.5rem}.update-prompt__icon-box svg{color:#2563eb;width:1.25rem;height:1.25rem}.update-prompt__text{flex:1;min-width:0}.update-prompt__title{color:#111827;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.update-prompt__description{color:#4b5563;font-size:.875rem}.update-prompt__close{color:#9ca3af;flex-shrink:0;padding:.25rem;transition:color .15s}.update-prompt__close:hover{color:#4b5563}.update-prompt__close svg{width:1rem;height:1rem}.update-prompt__actions{gap:.5rem;margin-top:.75rem;display:flex}.update-prompt__actions--single{margin-top:.75rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.h-full{height:100%}
