:root{color:#16202a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f8fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:#12345b;font-weight:700}a:hover{color:#0b2746}:focus-visible{outline-offset:2px;outline:3px solid #12345b59}.auth-page,.dashboard-page,.page-loading{background:linear-gradient(#ffffffb8,#f4f8fce6),#f4f8fc;justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.auth-card,.dashboard-card{background:#fff;border:1px solid #d9e3ee;border-radius:18px;width:min(100%,460px);padding:36px;box-shadow:0 18px 48px #12345b1f}.dashboard-card{width:min(100%,680px)}.brand-mark{color:#12345b;letter-spacing:0;margin:0 0 14px;font-size:.88rem;font-weight:800}h1{color:#12345b;letter-spacing:0;margin:0;font-size:clamp(2rem,7vw,2.8rem);line-height:1.05}.auth-subtitle{color:#64748b;margin:12px 0 0;line-height:1.6}.auth-form{gap:18px;margin-top:28px;display:grid}.form-field{gap:8px;display:grid}.form-field label{color:#16202a;font-size:.95rem;font-weight:700}.input-wrap{background:#fff;border:1px solid #d9e3ee;border-radius:10px;align-items:center;transition:border-color .16s,box-shadow .16s;display:flex}.input-wrap:focus-within{border-color:#12345b;box-shadow:0 0 0 4px #12345b1a}.input-wrap input,.input-wrap select{color:#16202a;background:0 0;border:0;border-radius:10px;width:100%;min-height:48px;padding:0 14px}.input-wrap input:focus,.input-wrap select:focus{outline:0}.ghost-button{color:#12345b;cursor:pointer;background:0 0;border:0;border-left:1px solid #d9e3ee;align-self:stretch;min-width:64px;padding:0 12px;font-weight:800}.ghost-button:hover{background:#f4f8fc}.primary-button{color:#fff;cursor:pointer;background:#12345b;border:0;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:50px;padding:0 18px;font-weight:800;text-decoration:none;transition:background .16s,transform .16s,box-shadow .16s;display:inline-flex}.primary-button:hover:not(:disabled){color:#fff;background:#0b2746;transform:translateY(-1px);box-shadow:0 12px 24px #12345b38}.primary-button:focus-visible{color:#fff}.primary-button:active:not(:disabled){color:#fff;background:#071d35;transform:translateY(0)}.primary-button:disabled{cursor:not-allowed;opacity:.62}.secondary-button{color:#12345b;cursor:pointer;background:#fff;border:1px solid #c7d4e4;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:800;text-decoration:none;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.secondary-button:hover:not(:disabled){color:#0b2746;background:#f4f8fc;border-color:#12345b}.secondary-button:disabled{cursor:not-allowed;opacity:.56}.danger-button{color:#b91c1c;cursor:pointer;background:#fff7f7;border:1px solid #fecaca;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:800;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.danger-button:hover:not(:disabled){background:#fee2e2;border-color:#b91c1c}.danger-button.strong{color:#fff;background:#b91c1c}.danger-button.strong:hover:not(:disabled){background:#991b1b}.danger-button:disabled{cursor:not-allowed;opacity:.56}.nav-button{width:auto}.password-help{color:#64748b;margin:-4px 0 0;font-size:.92rem;line-height:1.5}.form-message{border-radius:10px;margin:0;padding:12px 14px;font-weight:700;line-height:1.45}.form-message.success{color:#15803d;background:#e9f8ef}.form-message.error{color:#b91c1c;background:#fff1f1}.auth-links{justify-content:space-between;gap:16px;margin-top:22px;font-size:.95rem;display:flex}.auth-links.single{justify-content:center}.checkbox-field{color:#16202a;align-items:center;gap:10px;font-weight:700;display:inline-flex}.checkbox-field input{accent-color:#12345b;width:18px;height:18px}.user-details{gap:14px;margin:30px 0;display:grid}.user-details div{background:#f8fbfe;border:1px solid #d9e3ee;border-radius:12px;justify-content:space-between;gap:18px;padding:14px;display:flex}.user-details dt{color:#64748b;font-weight:700}.user-details dd{color:#16202a;text-align:right;margin:0;font-weight:800}.page-loading{color:#12345b;font-weight:800}.dashboard-actions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.datasets-page{background:linear-gradient(#ffffffc7,#f4f8fcf0),#f4f8fc;min-height:100vh;padding:32px}.datasets-header{justify-content:space-between;align-items:flex-start;gap:24px;width:min(100%,1180px);margin:0 auto 24px;display:flex}.datasets-back-link{min-width:132px}.datasets-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.datasets-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:20px;width:min(100%,1180px);margin:0 auto;display:grid}.my-datasets-layout{align-items:start}.datasets-single-column{gap:18px;width:min(100%,1180px);margin:0 auto;display:grid}.datasets-sidebar,.dataset-notes,.dataset-workspace,.admin-panel,.upload-panel,.files-panel,.empty-workspace,.owner-group-card,.dataset-card{background:#fff;border:1px solid #d9e3ee;border-radius:14px;padding:22px;box-shadow:0 14px 36px #12345b14}.datasets-sidebar{align-self:start}.dataset-workspace{gap:18px;min-width:0;display:grid}.dataset-details-layout{grid-template-columns:minmax(0,7fr) minmax(280px,3fr);align-items:start;gap:18px;display:grid}.dataset-main-column{flex-direction:column;gap:18px;min-width:0;display:flex}.dataset-upload-section{gap:18px;min-width:0;display:grid}.dataset-details-layout .dataset-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.dataset-details-layout .dataset-summary>div{overflow-wrap:anywhere;min-width:0}.dataset-details-layout .dataset-summary>.status-badge{flex-shrink:0}.dataset-main-column .files-table-head,.dataset-main-column .files-table-row{grid-template-columns:minmax(0,1fr) 76px 96px 208px}.dataset-main-column .files-table-row>span{overflow-wrap:anywhere}.dataset-notes{flex-direction:column;gap:16px;min-width:0;height:540px;display:flex}.dataset-notes>h2{border-bottom:1px solid #d9e3ee;flex-shrink:0;padding-bottom:12px}.dataset-notes-history{overflow-wrap:anywhere;flex:1;min-height:0;overflow-y:auto}.dataset-note{border-bottom:1px solid #d9e3ee;padding:12px 0}.dataset-note:first-child{padding-top:0}.dataset-note-heading{justify-content:space-between;align-items:start;gap:8px;font-size:.9rem;display:flex}.dataset-note-heading strong{min-width:0}.dataset-note time,.dataset-note-limit{color:#64748b;font-size:.82rem}.dataset-note-text{white-space:pre-wrap;margin:8px 0 0;line-height:1.55}.dataset-note-delete{flex-shrink:0;min-height:30px;padding:0 8px;font-size:.78rem}.dataset-form.dataset-notes-composer{border-top:1px solid #d9e3ee;flex-shrink:0;gap:12px;margin-top:0;padding-top:16px}.dataset-form.dataset-notes-composer textarea{min-height:84px;max-height:160px}.admin-panel{gap:18px;min-width:0;display:grid}.datasets-page h2{color:#12345b;letter-spacing:0;margin:0;font-size:1.25rem;line-height:1.2}.section-note{color:#64748b;margin:8px 0 0;line-height:1.55}.dataset-form{gap:16px;margin-top:18px;display:grid}.dataset-form textarea{resize:vertical;color:#16202a;background:#fff;border:1px solid #d9e3ee;border-radius:10px;width:100%;min-height:104px;padding:12px 14px}.dataset-form textarea:focus{border-color:#12345b;outline:0;box-shadow:0 0 0 4px #12345b1a}.dataset-list{gap:10px;margin-top:28px;display:grid}.owner-group-card .dataset-list{margin-top:16px}.owner-group-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.owner-group-card{min-width:0}.owner-card-heading{grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:12px;display:grid}.owner-email{overflow-wrap:anywhere;min-width:0}.owner-dataset-count{color:#64748b;white-space:nowrap;font-weight:800;line-height:1.2}.owner-view-more{width:100%;margin-top:16px}.owner-datasets-modal{width:min(100%,760px);max-height:min(80vh,720px);overflow:auto}.owner-datasets-modal .dataset-list{margin-top:18px}.modal-close-button{flex:none}.dataset-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.dataset-card-link,.dataset-row-link{color:inherit;text-decoration:none}.dataset-card{background:#f8fbfe;align-content:space-between;gap:18px;min-height:210px;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:grid}.dataset-card-link:hover .dataset-card{background:#eef5fb;border-color:#12345b;transform:translateY(-1px);box-shadow:0 16px 34px #12345b1f}.dataset-meta,.dataset-detail-meta{color:#64748b;gap:8px;font-size:.9rem;font-weight:700;display:grid}.dataset-detail-meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:0}.dataset-detail-meta div{background:#f8fbfe;border:1px solid #d9e3ee;border-radius:10px;padding:12px}.dataset-detail-meta dt{color:#64748b;font-weight:700}.dataset-detail-meta dd{color:#16202a;overflow-wrap:anywhere;margin:4px 0 0;font-weight:800}.dataset-open-action,.empty-state-action{width:max-content}.section-heading,.dataset-summary,.progress-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading span{color:#64748b;font-weight:800}.dataset-row{color:#16202a;text-align:left;cursor:pointer;background:#f8fbfe;border:1px solid #d9e3ee;border-radius:10px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;width:100%;padding:12px;display:grid}.dataset-row-content{min-width:0}.dataset-row .status-badge{white-space:nowrap;flex-shrink:0;align-self:center}.dataset-row-link{cursor:pointer}.dataset-row:hover,.dataset-row.active{background:#eef5fb;border-color:#12345b}.dataset-row strong,.files-table-row strong{overflow-wrap:anywhere;display:block}.dataset-row small,.files-table-row small,.file-meta{color:#64748b;margin-top:4px;font-size:.88rem;display:block}.status-badge{color:#12345b;text-transform:uppercase;background:#e8f0f8;border-radius:999px;justify-content:center;align-items:center;min-width:78px;padding:5px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.status-active,.status-ready,.status-completed{color:#166534;background:#dcfce7}.status-uploading{color:#1d4ed8;background:#dbeafe}.status-pending,.status-initiated,.status-interrupted{color:#92400e;background:#fef3c7}.status-failed{color:#b91c1c;background:#fee2e2}.status-aborted,.status-expired,.status-archived,.status-unknown{color:#475569;background:#e2e8f0}.upload-panel{gap:16px;display:grid}.upload-versioning-notice{color:#b91c1c;font-size:.9rem;font-weight:400}.upload-versioning-notice code{font-size:.95em}.file-picker{color:#12345b;text-align:center;cursor:pointer;background:#f8fbfe;border:1px dashed #aebed1;border-radius:12px;justify-content:center;align-items:center;min-height:68px;padding:18px;font-weight:800;display:flex}.file-picker input,.hidden-file-input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.upload-actions{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.upload-progress{background:#f8fbfe;border:1px solid #d9e3ee;border-radius:12px;gap:10px;padding:14px;display:grid}.active-upload-title{color:#12345b;overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.35}.progress-track{background:#d9e3ee;border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-fill{border-radius:inherit;background:#12345b;height:100%;transition:width .12s}.progress-grid{color:#64748b;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;font-size:.9rem;font-weight:700;display:grid}.files-table{gap:8px;margin-top:14px;display:grid}.users-table-wrap{width:100%;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;min-width:760px}.users-table th,.users-table td{color:#16202a;text-align:left;vertical-align:middle;border-bottom:1px solid #d9e3ee;padding:12px}.users-table th{color:#64748b;text-transform:uppercase;font-size:.82rem;font-weight:900}.users-table td:nth-child(2){overflow-wrap:anywhere}.users-table td:last-child{text-align:right}.user-status-pill{text-transform:uppercase;border-radius:999px;justify-content:center;min-width:84px;padding:5px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.status-yes{color:#166534;background:#dcfce7}.status-no{color:#475569;background:#e2e8f0}.recoverable-uploads{gap:10px;display:grid}.files-table-head,.files-table-row{grid-template-columns:minmax(180px,1.6fr) minmax(90px,.6fr) minmax(96px,.6fr) minmax(110px,auto);align-items:center;gap:12px;display:grid}.files-table-head{color:#64748b;text-transform:uppercase;padding:0 12px 4px;font-size:.82rem;font-weight:900}.files-table-row{background:#f8fbfe;border:1px solid #d9e3ee;border-radius:10px;min-height:64px;padding:12px}.files-table-row>span{min-width:0}.file-actions{justify-content:flex-end;gap:8px;display:flex}.empty-workspace{align-content:center;min-height:260px}.empty-workspace.compact{min-height:180px}.modal-backdrop{z-index:20;background:#0f172a6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-modal{background:#fff;border:1px solid #d9e3ee;border-radius:14px;width:min(100%,420px);padding:24px;box-shadow:0 24px 64px #0f172a42}.confirm-modal p{color:#475569;margin:12px 0 0;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.dataset-create-container{width:100%;max-width:960px;margin-left:auto;margin-right:auto}.questionnaire-form,.questionnaire-answer-sections{gap:24px;display:grid}.questionnaire-section{background:#fff;border:1px solid #d9e3ee;border-radius:16px;padding:24px;box-shadow:0 12px 30px #0f172a0f}.questionnaire-section>h2{color:#0f172a;margin:0 0 22px}.questionnaire-subsection+.questionnaire-subsection{margin-top:28px}.questionnaire-subsection>h3{color:#1e3a5f;margin:0 0 14px;font-size:1.05rem}.questionnaire-question-list{gap:14px;display:grid}.questionnaire-question,.questionnaire-answer{background:#f8fbfe;border:1px solid #e2e8f0;border-radius:12px;padding:18px}.questionnaire-question-label{color:#172033;align-items:flex-start;gap:10px;margin-bottom:6px;line-height:1.45;display:flex}.questionnaire-notes{color:#64748b;margin:6px 0 14px;font-size:.9rem;line-height:1.55}.questionnaire-question input,.questionnaire-question select,.questionnaire-question textarea{color:#0f172a;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px}.questionnaire-question textarea{resize:vertical}.questionnaire-hybrid-input{gap:8px;display:grid}.questionnaire-size-input{grid-template-columns:minmax(0,1fr) minmax(90px,140px);gap:10px;display:grid}.questionnaire-multi-select{min-width:0;position:relative}.questionnaire-multi-select-control{color:#0f172a;cursor:text;background:#fff;border:1px solid #cbd5e1;border-radius:9px;align-items:center;gap:8px;min-height:46px;padding:6px 8px 6px 10px;transition:border-color .16s,box-shadow .16s;display:flex}.questionnaire-multi-select-control:focus,.questionnaire-multi-select-control.open{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f624}.questionnaire-multi-select-values{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.questionnaire-multi-select-placeholder{color:#64748b;padding:3px 1px}.questionnaire-multi-select-chip{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:4px 5px 4px 9px;font-size:.84rem;font-weight:700;line-height:1.25;display:inline-flex}.questionnaire-multi-select-chip>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.questionnaire-multi-select-chip button,.questionnaire-multi-select-toggle,.questionnaire-multi-select-option{font:inherit}.questionnaire-multi-select-chip button{color:#1e40af;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.questionnaire-multi-select-chip button:hover,.questionnaire-multi-select-chip button:focus-visible{background:#dbeafe;outline:none}.questionnaire-multi-select-toggle{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.2rem;display:inline-flex}.questionnaire-multi-select-toggle:hover{background:#f1f5f9}.questionnaire-multi-select-dropdown{z-index:40;background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;gap:8px;max-height:min(360px,100vh - 32px);padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 18px 40px #0f172a2e}.questionnaire-multi-select-dropdown.opens-above{top:auto;bottom:calc(100% + 6px)}.questionnaire-question .questionnaire-multi-select-search{flex:none;padding:9px 10px}.questionnaire-multi-select-options{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow-y:auto}.questionnaire-multi-select-group+.questionnaire-multi-select-group{border-top:1px solid #e2e8f0;margin-top:8px;padding-top:8px}.questionnaire-multi-select-group-label{z-index:1;color:#1e3a5f;background:#fff;padding:5px 8px;font-size:.8rem;font-weight:800;position:sticky;top:0}.questionnaire-multi-select-option{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:minmax(0,1fr) 20px;gap:10px;width:100%;padding:9px 10px;display:grid}.questionnaire-multi-select-option:hover,.questionnaire-multi-select-option.active{background:#f1f5f9}.questionnaire-multi-select-option.selected{color:#1e40af;background:#eff6ff;font-weight:700}.questionnaire-multi-select-check{color:#2563eb;text-align:center;font-weight:900}.questionnaire-multi-select-empty{color:#64748b;text-align:center;margin:0;padding:18px 10px}.questionnaire-hybrid-input label{color:#475569;font-size:.84rem;font-weight:800}.questionnaire-actions{background:#fffffff5;border:1px solid #d9e3ee;border-radius:12px;justify-content:flex-end;gap:12px;padding:14px;display:flex;position:sticky;bottom:16px;box-shadow:0 12px 30px #0f172a1f}.questionnaire-answer h4{color:#172033;margin:10px 0 0;line-height:1.45}.questionnaire-answer-value{color:#334155;border-top:1px solid #e2e8f0;gap:8px;padding-top:12px;display:grid}.answer-empty{color:#64748b;font-style:italic}.answer-chip-list{flex-wrap:wrap;gap:7px;display:flex}.answer-chip{color:#075985;background:#e0f2fe;border-radius:999px;padding:5px 9px;font-size:.86rem;font-weight:700}.hybrid-answer{gap:12px;display:grid}.hybrid-answer>div{gap:7px;display:grid}@media (width<=560px){.dataset-details-layout .dataset-detail-meta{grid-template-columns:minmax(0,1fr)}.auth-card,.dashboard-card{padding:28px 20px}.auth-links,.user-details div{flex-direction:column}.user-details dd{text-align:left}.dashboard-actions,.upload-actions,.progress-grid,.modal-actions{grid-template-columns:1fr}.modal-actions{display:grid}.questionnaire-section{padding:18px 14px}.questionnaire-actions{display:grid;position:static}.questionnaire-size-input{grid-template-columns:minmax(0,1fr) 100px}}@media (width<=1024px){.dataset-details-layout{grid-template-columns:minmax(0,1fr)}.dataset-main-column{display:contents}.dataset-details-layout>.dataset-notes{order:1;height:480px}.dataset-upload-section{order:2}.dataset-main-column>.files-panel{order:3}}@media (width<=860px){.datasets-page{padding:24px 16px}.datasets-header,.dataset-summary{flex-direction:column;align-items:stretch}.datasets-header-actions{justify-content:stretch}.datasets-header-actions .secondary-button{flex:150px}.datasets-layout{grid-template-columns:1fr}.owner-group-list{grid-template-columns:repeat(2,minmax(0,1fr))}.files-table-head{display:none}.files-table-row,.dataset-main-column .files-table-row{grid-template-columns:1fr}.file-actions{justify-content:stretch}.file-actions .secondary-button,.file-actions .danger-button{width:100%}}@media (width<=620px){.owner-group-list{grid-template-columns:1fr}.owner-datasets-modal .section-heading{flex-direction:column;align-items:stretch}}
