@keyframes dsnySlideInRight{0%{opacity:.85;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes dsnyFadeInBackdrop{0%{opacity:0}to{opacity:1}}.dsny-preview-container{z-index:99999;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.dsny-drawer-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#0f172a73;animation:.2s ease-out forwards dsnyFadeInBackdrop;position:fixed;inset:0}.dsny-left-drawer{z-index:100000;background:#fff;border-left:1px solid #cbd5e1;flex-direction:column;height:100%;max-height:100vh;transition:width .25s cubic-bezier(.16,1,.3,1);animation:.26s cubic-bezier(.16,1,.3,1) forwards dsnySlideInRight;display:flex;position:relative;box-shadow:-10px 0 40px #0f172a52}.pti-attachment-section{border-top:1px dashed #e2e8f0;margin-top:14px;padding-top:12px}.pti-attach-empty-wrapper{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pti-attach-btn{color:#334155;border-radius:var(--radius-sm,8px);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #cbd5e1;align-items:center;gap:7px;padding:6px 14px;font-size:12.5px;font-weight:600;transition:all .18s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.pti-attach-btn:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.pti-attach-hint{color:#94a3b8;font-size:11.5px}.pti-attached-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;width:fit-content;max-width:100%;padding:8px 12px;display:flex;box-shadow:0 1px 3px #0000000a}.pti-thumb-box{cursor:pointer;background:#0f172a;border:1.5px solid #cbd5e1;border-radius:8px;flex-shrink:0;width:72px;height:72px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001a}.pti-thumb-box:hover{border-color:#3b82f6;transform:scale(1.03);box-shadow:0 4px 8px #00000026}.pti-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.pti-thumb-overlay{color:#fff;opacity:0;background:#0f172a73;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.pti-thumb-box:hover .pti-thumb-overlay{opacity:1}.pti-thumb-pdf-box{cursor:pointer;color:#dc2626;text-transform:uppercase;background:#fef2f2;border:1.5px solid #fecaca;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:72px;height:72px;font-size:11px;font-weight:700;display:flex}.pti-attached-info{flex-direction:column;gap:6px;min-width:180px;display:flex}.pti-attached-status{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:5px;width:fit-content;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.pti-attached-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pti-action-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}.pti-action-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.pti-action-btn.btn-remove{color:#dc2626;background:snow;border-color:#fecaca}.pti-action-btn.btn-remove:hover{color:#b91c1c;background:#fee2e2;border-color:#f87171}.pti-lightbox-backdrop{z-index:100000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172abf;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out forwards dsnyFadeInBackdrop;display:flex;position:fixed;inset:0}.pti-lightbox-dialog{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;animation:.22s cubic-bezier(.16,1,.3,1) forwards ptiLightboxPop;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}@keyframes ptiLightboxPop{0%{opacity:.8;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.pti-lightbox-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.pti-lightbox-title{color:#0f172a;font-size:14px;font-weight:700}.pti-lightbox-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.pti-lightbox-close:hover{color:#0f172a;background:#e2e8f0}.pti-lightbox-body{background:#0f172a;justify-content:center;align-items:center;max-height:calc(90vh - 120px);padding:16px;display:flex;overflow:auto}.pti-lightbox-img{object-fit:contain;border-radius:4px;max-width:100%;max-height:calc(85vh - 130px);box-shadow:0 4px 12px #0000004d}.pti-lightbox-footer{background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px;display:flex}.font-size-control-group{-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#f1f5f9;border:1px solid #cbd5e1;gap:2px;padding:2px 4px;transition:all .15s;box-shadow:0 1px 2px #0000000a;border-radius:9999px!important;align-items:center!important;display:inline-flex!important}.font-size-control-group:hover{background:#eef2f6;border-color:#94a3b8}.font-size-btn{color:#475569;cursor:pointer;box-sizing:border-box;height:26px;padding:0 8px;line-height:1;transition:all .15s;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:9999px!important;outline:none!important;justify-content:center!important;align-items:center!important;display:inline-flex!important}.font-size-btn:hover:not(:disabled){color:#1e293b;background:#fff!important;box-shadow:0 1px 3px #0000001a!important}.font-size-btn:active:not(:disabled){transform:scale(.96)}.font-size-btn:disabled{opacity:.35;cursor:not-allowed}.font-size-label-small{letter-spacing:-.5px;margin-left:2px;font-size:11px;font-weight:700}.font-size-label-large{letter-spacing:-.5px;margin-right:2px;font-size:13.5px;font-weight:700}.font-size-indicator{color:#64748b;cursor:pointer;white-space:nowrap;box-sizing:border-box;gap:3px;min-width:48px;height:26px;padding:0 6px;font-family:inherit;font-size:11.5px;font-weight:700;transition:all .15s;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:9999px!important;outline:none!important;justify-content:center!important;align-items:center!important;display:inline-flex!important}.font-size-indicator:hover{color:#1e293b;background:#ffffffd9!important}.font-size-indicator.is-modified{color:#2563eb;font-weight:700;background:#2563eb1a!important}.font-size-indicator.is-modified:hover{color:#1d4ed8;background:#2563eb2e!important}.font-size-reset-hint{opacity:.85;align-items:center;display:inline-flex}[data-theme=dark] .font-size-control-group{background:#1e293b;border-color:#334155}[data-theme=dark] .font-size-control-group:hover{background:#243248;border-color:#475569}[data-theme=dark] .font-size-btn{color:#94a3b8}[data-theme=dark] .font-size-btn:hover:not(:disabled){color:#f8fafc;background:#334155!important;box-shadow:0 1px 3px #0006!important}[data-theme=dark] .font-size-indicator{color:#cbd5e1}[data-theme=dark] .font-size-indicator:hover{color:#fff;background:#334155!important}[data-theme=dark] .font-size-indicator.is-modified{color:#60a5fa;background:#2563eb40!important}[data-theme=dark] .font-size-indicator.is-modified:hover{color:#93c5fd;background:#2563eb59!important}:root{--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-main:#f8fafc;--bg-surface:#fff;--bg-surface-translucent:#ffffffd9;--bg-sidebar:#fff;--bg-sidebar-hover:#f1f5f9;--bg-sidebar-active:#2563eb;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-sidebar:#334155;--text-sidebar-muted:#64748b;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#eff6ff;--color-success:#10b981;--color-success-light:#ecfdf5;--color-warning:#f59e0b;--color-warning-light:#fffbeb;--color-danger:#ef4444;--color-danger-light:#fef2f2;--color-purple:#8b5cf6;--color-purple-light:#f5f3ff;--border-color:#e2e8f0;--border-color-focus:#3b82f6;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000d;--shadow-glow:0 0 20px #2563eb2e;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark],:root[data-theme=dark]{--bg-main:#0b1120;--bg-surface:#1e293b;--bg-surface-translucent:#1e293be0;--bg-sidebar:#0f172a;--bg-sidebar-hover:#1e293b;--bg-sidebar-active:#2563eb;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-sidebar:#e2e8f0;--text-sidebar-muted:#94a3b8;--border-color:#334155;--border-color-focus:#60a5fa;--color-primary-light:#2563eb33;--color-success-light:#10b98133;--color-warning-light:#f59e0b33;--color-danger-light:#ef444433;--color-purple-light:#8b5cf633;--shadow-sm:0 1px 3px 0 #0006;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #00000080}*{box-sizing:border-box;margin:0;padding:0}html{min-height:100%}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;font-size:13px;line-height:1.45}h1{color:var(--text-primary);font-size:16px;font-weight:700}h2{color:var(--text-primary);font-size:15px;font-weight:700}h3{color:var(--text-primary);font-size:13.5px;font-weight:600}#root{min-height:calc(100vh / var(--font-scale,1));flex-direction:column;display:flex}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.app-container{min-height:calc(100vh / var(--font-scale,1));flex:1;display:flex}.sidebar{-webkit-backdrop-filter:blur(28px)saturate(190%)contrast(92%);width:260px;color:var(--text-sidebar);min-height:calc(100vh / var(--font-scale,1));z-index:50;background:#ffffffc7;border-right:1px solid #e2e8f0a6;flex-direction:column;flex-shrink:0;transition:width .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:1px 0 16px #0f172a08}[data-sidebar-theme=dark] .sidebar{-webkit-backdrop-filter:blur(28px)saturate(190%)contrast(92%);--bg-sidebar:#0f172ad1;--bg-sidebar-hover:#1e293bcc;--bg-sidebar-active:#2563eb;--text-sidebar:#e2e8f0;--text-sidebar-muted:#94a3b8;background:#0f172ad1;border-right:1px solid #ffffff14;box-shadow:1px 0 20px #0003}[data-sidebar-theme=dark] .sidebar-brand-title{color:#fff}[data-sidebar-theme=dark] .sidebar-brand{border-bottom:1px solid #ffffff14}[data-sidebar-theme=dark] .sidebar-user{border-top:1px solid #ffffff14}[data-sidebar-theme=dark] .sidebar-user-name{color:#f1f5f9}.sidebar.collapsed{width:72px}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:20px 10px}.sidebar.collapsed .nav-item,.sidebar.collapsed .sidebar-user{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-user-avatar{margin:0}.sidebar-brand{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:20px 18px;display:flex;position:relative}.mobile-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;margin-left:auto;display:none}.hamburger-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:7px;display:inline-flex}.hamburger-btn:hover{background-color:#f1f5f9;border-color:#cbd5e1}.mobile-backdrop{-webkit-backdrop-filter:blur(4px);z-index:45;background:#0f172a80;display:none;position:fixed;inset:0}@media (width<=768px){.sidebar{-webkit-backdrop-filter:blur(35px)saturate(200%)contrast(92%)!important;z-index:9999!important;opacity:0!important;pointer-events:none!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;box-shadow:none!important;background:#ffffffe0!important;border-right:none!important;flex-direction:column!important;padding:0!important;transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .28s!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important;transform:translate(-100%)!important}.sidebar.mobile-open{opacity:1!important;pointer-events:auto!important;transform:translate(0)!important}[data-sidebar-theme=dark] .sidebar{-webkit-backdrop-filter:blur(35px)saturate(200%)contrast(92%)!important;background:#0f172aeb!important}.sidebar.collapsed{width:100vw!important}.sidebar.collapsed .sidebar-brand{justify-content:flex-start!important;padding:18px 24px!important}.sidebar.collapsed .nav-item{justify-content:flex-start!important;padding:14px 20px!important}.sidebar.collapsed .sidebar-user{justify-content:space-between!important;padding:16px 24px!important}.sidebar-brand{background:0 0!important;border-bottom:1px solid #e2e8f0a6!important;padding:18px 24px!important}.mobile-close-btn{width:38px;height:38px;color:var(--text-primary);cursor:pointer;background:#94a3b829;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;transition:all .2s;display:flex!important}.mobile-close-btn:hover{background:#94a3b847;transform:scale(1.06)}.sidebar-nav{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:6px;padding:20px 24px;display:flex;overflow-y:auto}.nav-item{border-radius:14px!important;padding:14px 18px!important;font-size:16px!important;font-weight:600!important}.nav-sub-item{border-radius:12px!important;padding:12px 18px 12px 48px!important;font-size:15px!important}.nav-section-title{letter-spacing:.8px!important;padding:12px 18px 6px!important;font-size:12px!important}.nav-item span:not(.nav-item-icon),.nav-item-text,.nav-sub-item span:not(.nav-sub-item-icon),.nav-sub-item-text,.sidebar-brand-title,.sidebar-user-name{white-space:nowrap!important;text-overflow:ellipsis!important;flex:1!important;min-width:0!important;display:block!important;overflow:hidden!important}.sidebar-user{background:0 0!important;border-top:1px solid #e2e8f0a6!important;padding:18px 24px!important}.mobile-backdrop{-webkit-backdrop-filter:blur(10px);z-index:9998;background:#0f172a66;display:block;position:fixed;inset:0}.content-area{padding:10px!important}.topbar{height:46px!important;padding:0 10px!important}.topbar-left{gap:8px!important}.topbar-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:135px!important;font-size:13.5px!important}.card{margin-bottom:10px!important;padding:12px!important}.welcome-banner{margin-bottom:10px!important;padding:10px 12px!important}.welcome-title{font-size:14px!important}.welcome-subtitle{font-size:11px!important}.stats-grid{grid-template-columns:1fr!important;gap:8px!important;margin-bottom:10px!important}.form-grid-2,.form-grid-3{grid-template-columns:1fr;gap:10px}}.badge-admin{color:#2563eb;background-color:#eff6ff}.badge-investigator{color:#059669;background-color:#ecfdf5}.sidebar-brand-container{align-items:center;max-width:100%;text-decoration:none;display:flex}.sidebar.collapsed .sidebar-brand-container{justify-content:center;align-items:center;width:100%}.sidebar-brand-logo-img{object-fit:contain;max-width:195px;height:42px;transition:transform .2s;display:block}.sidebar.collapsed .sidebar-brand-logo-img{object-fit:cover;object-position:left center;max-width:44px;height:34px}.sidebar-brand-logo{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;font-weight:700;display:flex;box-shadow:0 4px 10px #3b82f666}.sidebar-brand-title{color:var(--text-primary);letter-spacing:-.2px;font-size:16px;font-weight:700}.sidebar-brand-subtitle{color:var(--text-sidebar-muted);text-transform:uppercase;letter-spacing:.8px;margin-top:2px;font-size:10px;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:18px 12px;display:flex;overflow-y:auto}.nav-section-title{color:var(--text-sidebar-muted);text-transform:uppercase;letter-spacing:.9px;padding:12px 12px 6px;font-size:11px;font-weight:700}.nav-item{border-radius:var(--radius-sm);color:var(--text-sidebar);transition:all var(--transition-fast);cursor:pointer;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.nav-item:hover{background-color:var(--bg-sidebar-hover);color:var(--text-primary)}[data-sidebar-theme=dark] .nav-item:hover{color:#fff}.nav-item.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);font-weight:600;box-shadow:0 4px 12px #2563eb47;color:#fff!important}.nav-item.active .nav-item-icon{color:#fff}.nav-item-icon{justify-content:center;align-items:center;font-size:18px;display:flex}.nav-dropdown{flex-direction:column;display:flex}.nav-dropdown-trigger{text-align:left;background:0 0;border:none;width:100%;font-family:inherit;font-size:14px}.nav-dropdown-trigger.parent-active{color:#2563eb;background-color:#2563eb14;font-weight:600}[data-sidebar-theme=dark] .nav-dropdown-trigger.parent-active{color:#93c5fd;background-color:#2563eb33}.nav-dropdown-arrow{color:var(--text-sidebar-muted);justify-content:center;align-items:center;transition:transform .2s;display:flex}.nav-dropdown-arrow.open{transform:rotate(180deg)}.nav-dropdown-menu{border-left:2px solid #e2e8f0;flex-direction:column;gap:2px;margin-top:3px;margin-left:20px;padding-left:10px;transition:all .2s;display:flex}[data-sidebar-theme=dark] .nav-dropdown-menu{border-left-color:#ffffff1f}.nav-sub-item{border-radius:var(--radius-sm);color:var(--text-sidebar);transition:all var(--transition-fast);align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.nav-sub-item:hover{background-color:var(--bg-sidebar-hover);color:var(--text-primary)}[data-sidebar-theme=dark] .nav-sub-item:hover{color:#fff}.nav-sub-item.active{color:#2563eb;background:#2563eb1f;font-weight:600}[data-sidebar-theme=dark] .nav-sub-item.active{color:#93c5fd;background:#2563eb47}.nav-sub-item-icon{justify-content:center;align-items:center;font-size:15px;display:flex}.sidebar-user{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.sidebar-user-avatar{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.sidebar-user-info{flex:1;margin-left:10px;overflow:hidden}.sidebar-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--text-sidebar-muted);font-size:11px}[data-theme=dark] .sidebar-user-name,[data-sidebar-theme=dark] .sidebar-user-name{color:#f8fafc}[data-theme=dark] .sidebar-user-role,[data-sidebar-theme=dark] .sidebar-user-role{color:#94a3b8}.btn-logout{color:#94a3b8;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex}.btn-logout:hover{color:#ef4444;background-color:#ef444426}.main-wrapper{min-width:0;min-height:calc(100vh / var(--font-scale,1));flex-direction:column;flex:1;display:flex;overflow-x:hidden}.topbar{background:var(--bg-surface-translucent);-webkit-backdrop-filter:blur(28px)saturate(190%)contrast(92%);border-bottom:1px solid var(--border-color);z-index:40;justify-content:space-between;align-items:center;height:50px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px -2px #0f172a0a}.topbar-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.topbar-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;overflow:hidden}.topbar-badge{border-radius:var(--radius-full);background-color:var(--color-primary-light);color:var(--color-primary);padding:2px 7px;font-size:10.5px;font-weight:600}.topbar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-theme-btn{border:1px solid var(--border-color);background:var(--bg-surface);width:28px;height:28px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.topbar-theme-btn:hover{background-color:var(--bg-sidebar-hover);border-color:#cbd5e1;transform:scale(1.06)}[data-theme=dark] .topbar-theme-btn:hover{border-color:#475569}.content-area{flex:1;width:100%;max-width:1500px;margin:0 auto;padding:14px 18px}.card{background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);color:var(--text-primary);border-radius:10px;margin-bottom:12px;padding:14px 16px}.card:hover{box-shadow:var(--shadow-md)}.welcome-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.welcome-text{flex:1;min-width:180px}.welcome-title{color:var(--text-primary);margin-bottom:2px;font-size:15px;font-weight:700}.welcome-subtitle{color:var(--text-secondary);margin:0;font-size:11.5px}.welcome-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-color);transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.stat-val{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.15}.stat-label{color:var(--text-secondary);margin-top:1px;font-size:11.5px;font-weight:500}.table-container{border:1px solid var(--border-color);background:var(--bg-surface);border-radius:8px;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.custom-table th{background-color:var(--bg-sidebar-hover);color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:8px 10px;font-weight:600}.custom-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:8px 10px}.custom-table tbody tr{transition:background-color var(--transition-fast)}.custom-table tbody tr:hover{background-color:var(--bg-sidebar-hover)}.btn{cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 1px 3px #2563eb33}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 3px 6px #2563eb40}.btn-secondary{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-sidebar-hover);border-color:#cbd5e1}[data-theme=dark] .btn-secondary:hover{border-color:#475569}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover{background-color:#059669}.btn-sm{border-radius:5px;padding:5px 10px;font-size:11.5px}.btn-icon{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;padding:6px}.btn-icon:hover{background-color:var(--bg-sidebar-hover);color:var(--text-primary)}.badge{border-radius:var(--radius-full);align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-active{background-color:var(--color-success-light);color:var(--color-success)}.badge-inactive{background-color:var(--color-danger-light);color:var(--color-danger)}.badge-pending{background-color:var(--color-warning-light);color:var(--color-warning)}.form-group{margin-bottom:10px}.form-label{color:var(--text-primary);margin-bottom:4px;font-size:11.5px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border-color);background-color:var(--bg-surface);width:100%;color:var(--text-primary);transition:all var(--transition-fast);border-radius:6px;outline:none;padding:6px 10px;font-size:12px}.form-select option{background-color:var(--bg-surface);color:var(--text-primary)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb2e}.form-textarea{resize:vertical;min-height:80px}.form-grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.search-input-wrapper{flex:1;min-width:180px;max-width:320px;position:relative}.search-input-wrapper input{height:32px;padding-left:30px;font-size:12px}.search-icon{color:var(--text-muted);font-size:13px;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.pagination{border-top:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-secondary);border-bottom-right-radius:8px;border-bottom-left-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.pagination-controls{align-items:center;gap:4px;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);box-shadow:var(--shadow-xl);border:1px solid var(--border-color);width:100%;max-width:600px;max-height:90vh;color:var(--text-primary);border-radius:12px;animation:.2s cubic-bezier(.16,1,.3,1) modalPop;overflow-y:auto}@keyframes modalPop{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-title{color:var(--text-primary);font-size:14.5px;font-weight:700}.modal-body{padding:14px 16px}.modal-footer{border-top:1px solid var(--border-color);background-color:var(--bg-sidebar-hover);border-bottom-right-radius:12px;border-bottom-left-radius:12px;justify-content:flex-end;align-items:center;gap:8px;padding:10px 16px;display:flex}.question-card{background:var(--bg-surface);border:1px solid var(--border-color);transition:all var(--transition-fast);border-radius:8px;margin-bottom:10px;padding:10px 12px}.question-card:hover{background:var(--bg-surface);border-color:#cbd5e1}[data-theme=dark] .question-card:hover{border-color:#475569}.question-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.question-number{color:var(--color-primary);letter-spacing:.2px;font-size:11.5px;font-weight:700}.question-title{color:var(--text-primary);margin-bottom:8px;font-size:12.5px;font-weight:600}.radio-group{gap:12px;margin-bottom:8px;display:flex}.radio-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.file-upload-box{border:2px dashed var(--border-color);border-radius:var(--radius-sm);text-align:center;background-color:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:12px}.file-upload-box:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}@media print{.sidebar,.topbar,.btn,.toolbar,.pagination{display:none!important}.content-area{max-width:100%!important;padding:0!important}.card{box-shadow:none!important;border:none!important}}.ios-notification-toast{animation:.35s cubic-bezier(.16,1,.3,1) forwards iosNotificationDrop;-webkit-backdrop-filter:blur(28px)saturate(190%)contrast(92%)!important;color:#0f172a!important;letter-spacing:-.22px!important;background:#ffffffd1!important;border:1px solid #ffffffd9!important;border-radius:22px!important;padding:11px 22px!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Plus Jakarta Sans,sans-serif!important;font-size:13.5px!important;font-weight:550!important;box-shadow:0 16px 38px -6px #0f172a29,0 3px 12px #0f172a0d,inset 0 1px #fffffff2!important}[data-sidebar-theme=dark] .ios-notification-toast,body.dark-mode .ios-notification-toast{color:#f8fafc!important;background:#1e293bd9!important;border:1px solid #ffffff24!important;box-shadow:0 16px 38px -6px #00000080,inset 0 1px #ffffff1a!important}@keyframes iosNotificationDrop{0%{opacity:0;transform:translateY(-16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.topbar-role-badge{letter-spacing:.1px;border-radius:9999px;align-items:center;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-admin{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.badge-investigator{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.badge-dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.dot-admin{background-color:#2563eb;box-shadow:0 0 6px #2563eb80}.dot-investigator{background-color:#10b981;animation:2s ease-in-out infinite pulseDot;box-shadow:0 0 6px #10b98199}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.3)}}.admin-logo{background:linear-gradient(135deg,#1e40af,#3b82f6)!important}.investigator-logo{background:linear-gradient(135deg,#047857,#10b981)!important}.admin-subtitle{color:#2563eb!important;font-weight:600!important}.investigator-subtitle{color:#059669!important;font-weight:600!important}.admin-avatar{background:linear-gradient(135deg,#1e40af,#2563eb)!important}.investigator-avatar{background:linear-gradient(135deg,#065f46,#059669)!important}.admin-role-label{color:#2563eb!important;font-weight:600!important}.investigator-role-label{color:#059669!important;font-weight:600!important}.nav-item-highlight{color:#047857!important;background:#10b98114!important;margin-top:2px!important;font-weight:600!important}.nav-item-highlight:hover{color:#065f46!important;background:#10b98129!important}
