:root{--cream-bg:#f5efe3;--cream-surface:#fbf7ef;--cream-sunk:#efe7d7;--mauve:#8c5b7a;--mauve-deep:#6e4460;--mauve-soft:#ead9e3;--ink:#2c2530;--ink-muted:#6e626c;--border:#e2d6c6;--border-strong:#d3c4b0;--focus-ring:#b27c9e;--danger:#a3423f;--radius:10px;--radius-sm:7px;--shadow-sm:0 1px 2px #4a344214;--shadow-md:0 6px 20px #4a34421f;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--cream-bg);color:var(--ink);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.55}h1,h2,h3{color:var(--ink);font-weight:700;line-height:1.2}h1{letter-spacing:-.01em;font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1.02rem}p{margin:.5rem 0}a{color:var(--mauve-deep);text-underline-offset:2px}a:hover{color:var(--mauve)}button{color:#fff;background:var(--mauve);border:1px solid var(--mauve);border-radius:var(--radius-sm);cursor:pointer;padding:.5rem .95rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .12s,border-color .12s}button:hover{background:var(--mauve-deep);border-color:var(--mauve-deep)}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{color:var(--ink);background:var(--cream-surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.5rem .6rem;font-family:inherit;font-size:.95rem}input::placeholder{color:var(--ink-muted)}:where(button,input,select,textarea,a):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.55rem .6rem}thead th{background:var(--cream-sunk);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem}.login-page{background:var(--cream-surface);border:1px solid var(--border);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow-md);text-align:center;margin:3.5rem auto;padding:2rem 1.75rem 2.25rem}.login-page h1{color:var(--mauve-deep);margin:0 0 .25rem}.login-page>p{color:var(--ink-muted);margin:0}.login-page__email-field{text-align:left;color:var(--ink-muted);margin-top:1.75rem;font-size:.85rem;display:block}.login-page__email-field input{box-sizing:border-box;width:100%;margin-top:.4rem;display:block}.login-page__providers{flex-direction:column;gap:.6rem;margin-top:1.75rem;display:flex}.login-page__provider-button{background:var(--cream-bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--ink);padding:.7rem 1rem;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:block}.login-page__provider-button:hover{background:var(--mauve-soft);border-color:var(--mauve);color:var(--mauve-deep)}.complete-profile-form{max-width:480px;margin:4rem auto;padding:0 1.5rem;font-family:system-ui,sans-serif}.complete-profile-form__field{flex-direction:column;gap:.25rem;margin-bottom:1rem;display:flex}.complete-profile-form__plan{margin-bottom:1rem}.complete-profile-form__error{color:#c62828}.account-maintenance{max-width:480px;margin:4rem auto;padding:0 1.5rem;font-family:system-ui,sans-serif}.account-maintenance__field{flex-direction:column;gap:.25rem;margin-bottom:1rem;display:flex}.account-maintenance__save-data{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.account-maintenance__actions{gap:.75rem;display:flex}.account-maintenance__error{color:#c62828}.expandable-block__toggle{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--mauve-deep);text-align:left;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:.5rem;padding:.55rem .25rem;font-size:1.05rem;font-weight:700;display:flex}.expandable-block__toggle:hover{color:var(--mauve);background:0 0}.expandable-block__indicator{width:1em;color:var(--mauve);display:inline-block}.expandable-block__content{padding:.5rem .25rem 1rem 1.5rem}.search-block form[role=search]{gap:.5rem;margin-bottom:.75rem;display:flex}.search-block__controls{justify-content:flex-end;margin-bottom:.5rem;display:flex}.search-block table{border-collapse:collapse;width:100%}.search-block th,.search-block td{text-align:left;border-bottom:1px solid #ddd;padding:.4rem .6rem}.search-block tr[tabindex="0"]{cursor:pointer}.search-block__bulk-actions{gap:.5rem;margin-bottom:.5rem;display:flex}.search-block__delete-selected{color:#b3261e}.search-block__delete-selected:disabled{color:inherit;opacity:.5}.search-block__error{color:#b3261e;margin-bottom:.5rem}.search-block__select-cell,.search-block__delete-cell{white-space:nowrap;width:1%}.search-block__delete-row{cursor:pointer;background:0 0;border:none;padding:.15rem .35rem;font-size:1rem;line-height:1}.search-block__delete-row:disabled{cursor:default;opacity:.4}.search-block__visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pagination{align-items:center;gap:.25rem;margin:.5rem 0;display:flex}.pagination button[aria-current=page]{font-weight:700;text-decoration:underline}.pagination__ellipsis{padding:0 .25rem}.team-users-panel{max-width:720px;margin:2rem auto;padding:0 1.5rem;font-family:system-ui,sans-serif}.team-users-panel__invite,.team-users-panel__transfer-ownership{flex-direction:column;gap:.75rem;max-width:360px;margin-top:2rem;display:flex}.team-users-panel__error{color:#c62828}.free-upload{margin-top:.75rem}.free-upload__error{color:var(--danger);border-radius:var(--radius-sm);background:#f7e3e0;border:1px solid #e6c4c0;margin:0 0 .9rem;padding:.55rem .8rem}.free-upload__dropzone{background:var(--cream-surface);border:1.5px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:.35rem;padding:1.6rem 1rem;display:flex}.free-upload__dropzone:hover{border-color:var(--mauve);background:var(--mauve-soft)}.free-upload__dropzone-title{color:var(--mauve-deep);font-weight:600}.free-upload__dropzone-hint{color:var(--ink-muted);font-size:.85rem}.free-upload__dropzone input[type=file]{max-width:100%;margin-top:.6rem}.free-upload__file-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.free-upload__file-name{font-weight:600}.free-upload__change{border:1px solid var(--border-strong);color:var(--mauve-deep);background:0 0;padding:.35rem .7rem;font-weight:500}.free-upload__change:hover{background:var(--mauve-soft);border-color:var(--mauve)}.free-upload__field{color:var(--ink);margin-bottom:.8rem;font-size:.9rem;display:block}.free-upload__field input{width:100%;margin-top:.3rem;display:block}.free-upload__no-fields{color:var(--ink-muted)}.free-upload__group{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 1rem;padding:.8rem .9rem .3rem}.free-upload__group legend{color:var(--mauve-deep);text-transform:uppercase;letter-spacing:.05em;padding:0 .35rem;font-size:.78rem;font-weight:700}.free-upload__hint{color:var(--ink-muted);font-size:.8rem;font-weight:400}.free-upload__field input[type=file]{background:0 0;border:none;padding:.35rem 0}.free-upload__generate-row{align-items:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.free-upload__format{color:var(--ink-muted);flex-direction:column;gap:.3rem;font-size:.82rem;display:flex}.free-upload__generate{margin-top:.5rem}.free-upload__webservice-header{flex-wrap:wrap;gap:.75rem;display:flex}.free-upload__webservice-header .free-upload__field{flex:12rem}.free-upload__webservice-mapping{align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.free-upload__webservice-mapping select{flex:none}.free-upload__webservice-mapping input{flex:auto}.free-upload__webservice-add{margin-top:.6rem}.create-report-page{max-width:1100px;margin:2rem auto;padding:0 1.5rem;font-family:system-ui,sans-serif}.create-report-page__columns{align-items:flex-start;gap:2rem;display:flex}.create-report-page__mockup{background:#fafafa;border:1px solid #ccc;border-radius:4px;flex:55%;min-width:0;padding:1rem 1.25rem}.create-report-page__section h3{margin-top:0}.create-report-page__placeholder{color:#666;font-style:italic}.create-report-page__form{flex-direction:column;flex:45%;gap:1rem;min-width:0;display:flex}.create-report-page__form label{flex-direction:column;gap:.35rem;font-weight:700;display:flex}.create-report-page__form input[type=text]{padding:.4rem .5rem;font-weight:400}.create-report-page__form textarea{resize:vertical;min-height:6rem;padding:.4rem .5rem;font-family:inherit;font-weight:400}.create-report-page__output-format{flex-direction:column;gap:.35rem;display:flex}.create-report-page__output-format label{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.create-report-page__error{color:#c62828}.create-report-page__figure-slot,.create-report-page__table-slot{border:1px solid #ccc;border-radius:4px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.create-report-page__uploaded-slot ul{margin:.25rem 0 0;padding-left:1.25rem}.variable-description-prompt{max-width:640px;margin:2rem auto;padding:0 1.5rem;font-family:system-ui,sans-serif}.variable-description-prompt__variable{flex-direction:column;gap:.35rem;margin-bottom:1.25rem;display:flex}.variable-description-prompt__variable label{font-weight:700}.variable-description-prompt__variable input{padding:.4rem .5rem}.variable-description-prompt__error{color:#c62828}.create-template-page{max-width:640px;margin:2rem auto;padding:0 1.5rem;font-family:system-ui,sans-serif}.create-template-page form{flex-direction:column;gap:1rem;display:flex}.create-template-page label{flex-direction:column;gap:.35rem;font-weight:700;display:flex}.create-template-page input[type=text]{padding:.4rem .5rem;font-weight:400}.create-template-page__error{color:#c62828}.admin-login-page{text-align:center;max-width:420px;margin:6rem auto;padding:0 1.5rem;font-family:system-ui,sans-serif}.admin-login-page__field{text-align:left;margin-top:1.25rem;font-size:.9rem;display:block}.admin-login-page__field input{box-sizing:border-box;width:100%;margin-top:.35rem;padding:.5rem;display:block}.admin-login-page__error{color:#b00020;margin-top:1rem}.admin-configuration-panel{max-width:720px;font-family:system-ui,sans-serif}.admin-configuration-panel__table{border-collapse:collapse;width:100%}.admin-configuration-panel__table td{padding:.5rem .75rem .5rem 0}.admin-configuration-panel__table input{box-sizing:border-box;width:100%;padding:.4rem}.admin-configuration-panel__error{color:#b00020}.admin-signup-allowlist{margin-top:2rem}.admin-signup-allowlist__hint{color:var(--color-text-muted,#6b6b6b);max-width:60ch;font-size:.9rem}.admin-signup-allowlist__error{color:var(--color-error,#b3261e);font-weight:600}.admin-signup-allowlist__add{align-items:end;gap:.5rem;margin:1rem 0 1.5rem;display:flex}.admin-signup-allowlist__add label{gap:.25rem;font-weight:600;display:grid}.admin-signup-allowlist__add input{min-width:20rem}.admin-signup-allowlist table{border-collapse:collapse}.admin-signup-allowlist th,.admin-signup-allowlist td{text-align:left;border-bottom:1px solid var(--color-border,#ddd);padding:.4rem .8rem}.admin-signup-allowlist__remove{color:var(--color-error,#b3261e)}.admin-signup-allowlist__visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-user-accounts-panel{max-width:960px;font-family:system-ui,sans-serif}.admin-user-accounts-panel__status-cell{align-items:center;gap:.5rem;display:flex}.admin-user-accounts-panel__error{color:#b00020}.admin-user-accounts-panel__move-team{border:1px solid #ccc;max-width:360px;margin-top:1rem;padding:1rem}.admin-user-accounts-panel__move-team label{margin-top:.75rem;display:block}.admin-user-accounts-panel__move-team input,.admin-user-accounts-panel__move-team select{box-sizing:border-box;width:100%;margin-top:.25rem;display:block}.admin-functions-panel{margin-top:2rem}.admin-functions-panel__hint{color:var(--color-text-muted,#6b6b6b);max-width:60ch;font-size:.9rem}.admin-functions-panel__error{color:var(--color-error,#b3261e);font-weight:600}.admin-functions-panel__form{gap:.75rem;max-width:40rem;margin:1rem 0 1.5rem;display:grid}.admin-functions-panel__form label{gap:.25rem;font-weight:600;display:grid}.admin-functions-panel__form input[type=text]{width:100%}.admin-functions-panel__table{border-collapse:collapse;width:100%}.admin-functions-panel__table th,.admin-functions-panel__table td{text-align:left;border-bottom:1px solid var(--color-border,#ddd);vertical-align:top;padding:.5rem .75rem}.admin-functions-panel__desc{color:var(--color-text-muted,#6b6b6b);font-size:.85rem;font-weight:400}.admin-functions-panel__actions{gap:.5rem;display:flex}.admin-functions-panel__delete{color:var(--color-error,#b3261e)}.admin-app{max-width:960px;margin:0 auto;padding:1.5rem;font-family:system-ui,sans-serif}.admin-app__header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-app__header h1{flex:1;margin:0;font-size:1.25rem}.admin-app__username{color:#555;font-size:.9rem}.banner{background:var(--cream-sunk);border-bottom:1px solid var(--border);width:100%;overflow:hidden}.banner__link,.banner picture{display:block}.banner__image{object-fit:cover;object-position:center;width:100%;height:auto;max-height:240px;display:block}.app{max-width:760px;margin:0 auto;padding:1.5rem 1.5rem 4rem}.app__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.app__header h1{margin:0;font-size:1.35rem}.app__title a{color:inherit;text-decoration:none}.app__title a:hover{color:var(--mauve-deep)}.app__header-actions{align-items:center;gap:.6rem;display:flex}.app__gear{width:38px;height:38px;color:var(--mauve-deep);background:var(--cream-surface);border:1px solid var(--border-strong);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.app__gear:hover{background:var(--mauve-soft);color:var(--mauve-deep)}.app__gear svg{width:20px;height:20px;display:block}.app__invitation-banner{background:var(--mauve-soft);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.6rem .9rem;display:flex}.app__invitation-banner button{color:var(--ink-muted);background:0 0;border:none;padding:.1rem .3rem;font-size:1.1rem;line-height:1}.app__invitation-banner button:hover{color:var(--ink)}
