@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--color-primary: #8b6700;--color-primary-hover: #a67c00;--color-primary-light: #fffbf0;--color-plum: #3d283a;--color-plum-mid: #5a3d52;--color-plum-light: #f5f0f4;--color-text: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-bg: #f1f5f9;--color-bg-subtle: #f8fafc;--color-surface: #ffffff;--color-success: #16a34a;--color-success-bg: #dcfce7;--color-warning: #ca8a04;--color-warning-bg: #fef9c3;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-info: #0284c7;--color-info-bg: #e0f2fe;--header-height: 72px;--container-max: 1300px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .12);--shadow-card: 0 1px 3px rgba(15, 23, 42, .05), 0 4px 16px rgba(61, 40, 58, .06);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.landing-page{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.landing-header{background:#3d283a;color:#fff;padding:1.5rem 0;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.landing-header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo h1{font-size:1.5rem;font-weight:600;margin:0;color:#fff}.landing-nav{display:flex;gap:1.5rem;align-items:center}.nav-link{color:#fff;text-decoration:none;font-weight:500;padding:.5rem 1.5rem;border:2px solid #8b6700;border-radius:5px;transition:all .3s ease}.nav-link:hover{background:#8b6700;transform:translateY(-2px);box-shadow:0 4px 12px #8b67004d}.hero-section{position:relative;overflow:hidden;width:100%}.hero-fullscreen{height:100vh;min-height:100vh;max-height:100vh;width:100%;background:linear-gradient(135deg,#3d283a,#5a3d52);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(139,103,0,0.1)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.3;z-index:0}.hero-content{max-width:1000px;margin:0 auto;padding:2rem;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:-5vh}.hero-logo-container{margin-bottom:2rem;animation:fadeInDown 1s ease-out;display:flex;flex-direction:column;align-items:center;gap:1rem}.hero-logo{max-width:200px;max-height:200px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 4px 20px rgba(139,103,0,.3))}.hero-hospital-name{font-size:2rem;color:#fff;margin:0;font-weight:500;letter-spacing:.5px;text-transform:none}.hero-main-title{font-size:1.9rem;font-weight:600;margin-bottom:3rem;line-height:1.3;color:#8b6700;animation:fadeInUp 1s ease-out .2s both}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-hero{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;font-family:inherit;text-decoration:none;border-radius:5px;transition:all .3s ease;display:inline-block;border:none;cursor:pointer}.btn-hero-primary{background:#8b6700;color:#fff;box-shadow:0 4px 15px #8b670066}.btn-hero-primary:hover{background:#a67c00;transform:translateY(-2px);box-shadow:0 6px 20px #8b670080}.btn-hero-secondary{background:transparent;color:#fff;border:2px solid white}.btn-hero-secondary:hover{background:#fff;color:#3d283a;transform:translateY(-2px)}.features-section{padding:5rem 2rem;background:#f8f9fa}.container{max-width:1200px;margin:0 auto}.section-title{text-align:center;font-size:2.5rem;font-weight:700;color:#3d283a;margin-bottom:3rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.feature-card{background:#fff;padding:2.5rem;border-radius:10px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;text-align:center}.feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #3d283a26}.feature-icon{font-size:3rem;margin-bottom:1.5rem}.feature-title{font-size:1.5rem;font-weight:600;color:#3d283a;margin-bottom:1rem}.feature-description{color:#666;line-height:1.6;font-size:1rem}.cta-section{padding:5rem 2rem;background:linear-gradient(135deg,#3d283a,#5a3d52);color:#fff}.cta-content{text-align:center;max-width:700px;margin:0 auto}.cta-title{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;color:#fff}.cta-description{font-size:1.2rem;margin-bottom:2.5rem;line-height:1.6;color:#fffffff2}.btn-cta{font-size:1.2rem;padding:1.2rem 3rem}.landing-footer-inline{position:absolute;bottom:0;left:0;right:0;background:#2a1d28;text-align:center;color:#fffc;font-size:.9rem;padding:1.5rem 2rem;z-index:1}.landing-footer-inline p{margin:0}@media(max-width:768px){.hero-main-title,.hero-hospital-name{font-size:1.5rem}.hero-logo{max-width:150px;max-height:150px}.landing-footer-inline{font-size:.8rem;padding:1rem}}@media(max-width:480px){.hero-main-title{font-size:1.3rem}.hero-hospital-name{font-size:1.2rem}.hero-logo{max-width:120px;max-height:120px}.hero-content{padding:1.5rem}.landing-footer-inline{font-size:.75rem;padding:1rem .75rem}}.hero-subtitle{color:#ffffffe6;font-size:1.05rem;line-height:1.6;max-width:520px;margin:0 auto 1.75rem}.landing-forms-section{background:#f5f7fa;padding:4rem 2rem}.landing-forms-inner{max-width:960px;margin:0 auto;text-align:center}.landing-forms-title{color:#2c3e50;font-size:1.75rem;margin-bottom:.5rem}.landing-forms-subtitle{color:#6c757d;margin-bottom:2.5rem}.landing-forms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;text-align:left}.landing-form-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #3d283a14;border:1px solid #e8eaed;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.landing-form-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.landing-form-card--ethics:before{background:linear-gradient(90deg,#8b6700,#c9a227)}.landing-form-card--publication:before{background:linear-gradient(90deg,#3d283a,#5a3d52)}.landing-form-card:hover{transform:translateY(-4px);box-shadow:0 10px 32px #3d283a1f}.landing-form-card-icon{font-size:2rem;display:block;margin-bottom:1rem}.landing-form-card h3{color:#2c3e50;font-size:1.15rem;margin-bottom:.75rem}.landing-form-card p{color:#6c757d;font-size:.95rem;line-height:1.55;margin-bottom:1.25rem}.landing-form-card-link{color:#8b6700;font-weight:600;text-decoration:none;font-size:.95rem}.landing-form-card--publication .landing-form-card-link{color:#5a3d52}.landing-form-card-link:hover{text-decoration:underline}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand-panel{background:linear-gradient(145deg,var(--color-plum) 0%,var(--color-plum-mid) 60%,#4a3045 100%);color:#fff;display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(139,103,0,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.06) 0%,transparent 40%);pointer-events:none}.auth-brand-panel:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),#c9a227,var(--color-primary))}.auth-brand-content{position:relative;max-width:420px}.auth-brand-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff8c;margin-bottom:1.25rem}.auth-brand-title{font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-.02em;margin-bottom:1rem}.auth-brand-tagline{font-size:1rem;line-height:1.65;color:#ffffffb8}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem;background:var(--color-bg);position:relative}.auth-back-link{position:absolute;top:1.5rem;left:1.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color .2s}.auth-back-link:hover{color:var(--color-primary)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:2rem}.login-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:2.5rem;width:100%;max-width:440px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light)}.auth-main .login-card{max-width:440px}.login-header{text-align:center;margin-bottom:1.75rem}.login-header h1{color:var(--color-text);margin-bottom:.35rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.login-header p{color:var(--color-text-secondary);font-size:.875rem}.login-form{margin-bottom:0}.auth-hint{margin-bottom:1.25rem;color:var(--color-text-secondary);font-size:.875rem;line-height:1.55}.btn-block{width:100%;margin-top:.5rem;padding:.75rem 1.25rem}.auth-toggle{text-align:center;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border-light)}.auth-toggle p{margin:0;color:var(--color-text-secondary);font-size:.875rem}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:none;font-size:inherit;font-weight:600;font-family:inherit;padding:0;margin-left:.2rem;transition:color .2s}.link-button:hover{color:var(--color-primary-hover);text-decoration:underline}.password-input-wrap{position:relative;display:flex;align-items:center}.password-input-wrap .form-control{padding-right:2.75rem}.password-toggle-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.25rem;cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);line-height:0;transition:color .2s,background .2s}.password-toggle-btn:hover{color:var(--color-text);background:var(--color-bg-subtle)}.password-toggle-btn:focus{outline:none;color:var(--color-text)}.password-row{display:flex;justify-content:flex-end;align-items:center;margin-top:.4rem;flex-wrap:wrap;gap:.5rem}.btn-loading{display:flex;align-items:center;justify-content:center;gap:.5rem}@media(max-width:900px){.auth-page{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-brand-panel{padding:2rem 1.5rem;min-height:auto}.auth-brand-title{font-size:1.5rem}.auth-brand-tagline{font-size:.9rem}.auth-main{padding:2rem 1.25rem 2.5rem}.auth-back-link{position:static;align-self:flex-start;margin-bottom:1rem}.auth-main .login-card{max-width:100%}}@media(max-width:480px){.login-card{padding:1.75rem 1.25rem;border-radius:var(--radius-lg)}}.user-menu{position:relative;display:flex;align-items:center}.user-menu-trigger{display:flex;align-items:center;gap:.625rem;padding:.35rem .5rem .35rem .35rem;height:44px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,box-shadow .2s}.user-menu-trigger:hover{background:#ffffff24;border-color:#ffffff3d}.user-menu-trigger.open,.user-menu-trigger:focus-visible{background:#ffffff29;border-color:#c9a2278c;box-shadow:0 0 0 3px #8b670033;outline:none}.user-menu-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-primary) 0%,#c9a227 100%);font-size:.72rem;font-weight:700;line-height:1;flex-shrink:0;letter-spacing:.03em;color:#fff;box-shadow:0 0 0 2px #ffffff40}.user-menu-identity{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0;padding-right:.15rem}.user-menu-name{font-size:.875rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.user-menu-role-pill{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffffff8c;line-height:1}.user-menu-chevron{flex-shrink:0;opacity:.65;margin-right:.15rem;transition:transform .2s ease,opacity .2s}.user-menu-trigger:hover .user-menu-chevron,.user-menu-trigger.open .user-menu-chevron{opacity:1}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + .625rem);right:0;min-width:260px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:0 16px 48px #0f172a2e,0 0 0 1px #0f172a0f;color:var(--color-text);z-index:1000;overflow:hidden;animation:menuSlide .18s ease}@keyframes menuSlide{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.user-menu-header{display:flex;align-items:center;gap:.875rem;padding:1rem 1.125rem;border-bottom:1px solid var(--color-border-light);background:linear-gradient(180deg,var(--color-bg-subtle) 0%,var(--color-surface) 100%)}.user-menu-avatar--lg{width:40px;height:40px;font-size:.85rem;box-shadow:0 0 0 2px var(--color-border-light),0 2px 8px #8b670040}.user-menu-header-text{min-width:0;flex:1}.user-menu-header-name{display:block;font-weight:700;font-size:.925rem;color:var(--color-text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-header-email{display:block;font-size:.775rem;color:var(--color-text-muted);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-list{list-style:none;margin:0;padding:.375rem}.user-menu-item{display:block;width:100%;padding:.625rem .875rem;border:none;background:none;text-align:left;font-size:.875rem;font-family:inherit;font-weight:500;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);transition:background .12s,color .12s}.user-menu-item:hover{background:var(--color-bg-subtle);color:var(--color-plum)}.user-menu-item-logout{color:var(--color-danger);font-weight:600;margin-top:.25rem;border-top:1px solid var(--color-border-light);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding-top:.75rem}.user-menu-item-logout:hover{background:var(--color-danger-bg);color:#b91c1c}@media(max-width:768px){.user-menu-identity{display:none}.user-menu-trigger{padding:.3rem;width:44px;justify-content:center}.user-menu-chevron{display:none}}@media(max-width:480px){.user-menu-dropdown{right:-.5rem;min-width:calc(100vw - 2rem);max-width:300px}}.dashboard-page{min-height:100vh}.dashboard-intro{margin-bottom:2rem}.dashboard-intro h2{color:var(--color-text);font-size:1.65rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.4rem}.dashboard-intro p{color:var(--color-text-secondary);font-size:.975rem;line-height:1.65;max-width:640px}.form-cards-section{margin-bottom:2.5rem}.form-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.form-type-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-card);border:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:1rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s;position:relative;overflow:hidden}.form-type-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.form-type-card--ethics:before{background:linear-gradient(90deg,var(--color-primary),#c9a227)}.form-type-card--publication:before{background:linear-gradient(90deg,var(--color-plum),var(--color-plum-mid))}.form-type-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border)}.form-type-card-icon{font-size:1.75rem;line-height:1;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-bg-subtle)}.form-type-card--ethics .form-type-card-icon{background:var(--color-primary-light)}.form-type-card--publication .form-type-card-icon{background:var(--color-plum-light)}.form-type-card-body{flex:1}.form-type-card-title{color:var(--color-text);font-size:1.1rem;font-weight:700;margin-bottom:.4rem;letter-spacing:-.01em}.form-type-card-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:.75rem}.form-type-card-meta{font-size:.8rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em}.form-type-card--publication .form-type-card-meta{color:var(--color-plum-mid)}.form-type-card-actions{display:flex;gap:.625rem;flex-wrap:wrap;padding-top:.75rem;border-top:1px solid var(--color-border-light)}.form-type-card-actions .btn{flex:1;min-width:110px}.form-type-card-actions .btn:disabled{opacity:.4;cursor:not-allowed}.applications-section{margin-top:.25rem}.applications-section-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.applications-section-header h3{color:var(--color-text);font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.applications-card{padding:0;overflow:hidden}.applications-card .table{margin:0}.applications-card .table th:first-child,.applications-card .table td:first-child{padding-left:1.5rem}.applications-card .table th:last-child,.applications-card .table td:last-child{padding-right:1.5rem}.applications-empty{padding:3rem 2rem!important}.applications-empty .empty-state{max-width:420px;margin:0 auto}.empty-state-icon{font-size:2.25rem;display:block;margin-bottom:.875rem;opacity:.85}.table-subtext{font-size:.8rem;color:var(--color-text-muted);margin-top:.2rem;font-weight:500}.dashboard-tabs{display:flex;gap:.2rem;background:var(--color-surface);padding:.25rem;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid var(--color-border-light)}.dashboard-tab{background:none;border:none;padding:.5rem 1rem;cursor:pointer;font-size:.85rem;font-weight:500;font-family:inherit;color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background .15s,color .15s;white-space:nowrap}.dashboard-tab.active{color:#fff;background:linear-gradient(135deg,var(--color-plum) 0%,var(--color-plum-mid) 100%);font-weight:600;box-shadow:var(--shadow-xs)}.dashboard-tab:hover:not(.active){color:var(--color-text);background:var(--color-bg-subtle)}@media(max-width:640px){.form-type-card-actions{flex-direction:column}.form-type-card-actions .btn{width:100%}.applications-section-header{flex-direction:column;align-items:flex-start}.dashboard-tabs{width:100%;overflow-x:auto}}.step-content{min-height:360px}.step-content h3{color:var(--color-text);margin-bottom:1.5rem;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;border-bottom:2px solid var(--color-primary);padding-bottom:.625rem}.step-content h4{color:var(--color-text);margin-top:1.5rem;margin-bottom:.875rem;font-size:1rem;font-weight:700}.terms-box{background:var(--color-bg-subtle);padding:1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem;border:1px solid var(--color-border-light);border-left:4px solid var(--color-primary)}.terms-box ol,.terms-box ul{margin-left:1.25rem;line-height:1.75}.terms-box li{margin-bottom:.4rem;color:var(--color-text);font-size:.925rem}.info-box{background:var(--color-info-bg);padding:1.25rem 1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem;border:1px solid #bae6fd;border-left:4px solid var(--color-info)}.info-box p{margin-bottom:.625rem;line-height:1.65;color:var(--color-text);font-size:.925rem}.info-box ul,.info-box ol{margin-left:1.25rem;margin-top:.5rem;line-height:1.75}.info-box li{margin-bottom:.4rem;font-size:.925rem}.co-investigator-section{background:var(--color-bg-subtle);padding:1.25rem 1.5rem;border-radius:var(--radius-md);margin-bottom:1.25rem;border:1px solid var(--color-border-light)}.co-investigator-section h4{color:var(--color-primary);margin-top:0;margin-bottom:.875rem}.award-details-section{background:var(--color-bg-subtle);padding:1.25rem 1.5rem;border-radius:var(--radius-md);margin-top:1rem;border:1px solid var(--color-border-light)}.form-subtitle{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:.925rem;line-height:1.6}.form-intro{color:var(--color-text-secondary);margin-bottom:1.25rem;font-size:.925rem;line-height:1.6}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.radio-group,.radio-label,.checkbox-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;cursor:pointer;font-size:.925rem}.checkbox-label.block{display:flex;align-items:flex-start;margin-bottom:.75rem}.funding-table{margin-bottom:1.5rem}.attachment-block{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-light)}.btn-remove-file{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:.825rem;font-weight:600;font-family:inherit;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:background .15s}.btn-remove-file:hover{background:var(--color-danger-bg)}.form-status-bar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.5rem 0;margin-bottom:.5rem;font-size:.8rem;color:var(--color-text-muted);min-height:1.5rem}.submission-success-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--color-plum) 0%,var(--color-plum-mid) 100%);padding:2rem}.submission-success-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:3rem;max-width:560px;width:100%;box-shadow:var(--shadow-lg);text-align:center;animation:slideUp .4s ease;border:1px solid var(--color-border-light)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.success-icon{margin-bottom:1.5rem;display:flex;justify-content:center}.submission-success-card h2{color:var(--color-success);font-size:1.75rem;margin-bottom:.875rem;font-weight:700;letter-spacing:-.02em}.success-message{font-size:1.05rem;color:var(--color-text);margin-bottom:.4rem;font-weight:600}.success-submessage{font-size:.925rem;color:var(--color-text-secondary);margin-bottom:2rem;line-height:1.65}.btn-success-home{padding:.75rem 2rem;font-size:1rem}.phone-input-group{display:flex;align-items:stretch;border-radius:var(--radius-sm);overflow:hidden;border:1.5px solid var(--color-border)}.phone-input-group .phone-prefix{display:flex;align-items:center;padding:.5rem .75rem;background:var(--color-bg-subtle);color:var(--color-text-secondary);font-weight:600;font-size:.875rem;border-right:1px solid var(--color-border)}.phone-input-group .form-control{border:none;border-radius:0;flex:1}.phone-input-group:focus-within{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b67001f}.form-text.text-muted{display:block;margin-top:.3rem;font-size:.825rem;color:var(--color-text-muted)}.file-list{list-style:none;padding:0;margin-top:.75rem}.file-list li{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;background:var(--color-bg-subtle);margin-bottom:.5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-light);font-size:.875rem}.admin-panel-wrapper{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.admin-layout{display:flex;flex:1;min-height:calc(100vh - var(--header-height))}.sidebar-toggle-btn{background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;padding:0;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:1.1rem;flex-shrink:0}.sidebar-toggle-btn:hover{background:#ffffff38}.toggle-icon{display:inline-block}.admin-sidebar{width:260px;background:var(--color-plum);color:#fff;padding:1.5rem 0;box-shadow:var(--shadow-md);position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden;transition:width .25s ease;flex-shrink:0}.admin-sidebar.collapsed{width:72px}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;padding:0 .75rem}.sidebar-nav-item{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;background:transparent;border:none;color:#ffffffb8;font-size:.9rem;font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:background .15s,color .15s;text-align:left;width:100%;font-family:inherit;justify-content:flex-start;white-space:nowrap}.admin-sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:.75rem}.sidebar-nav-item:hover{background:#ffffff14;color:#fff}.sidebar-nav-item.active{background:var(--color-primary);color:#fff;font-weight:600;box-shadow:0 2px 8px #0003}.nav-icon{font-size:1.1rem;width:22px;text-align:center;flex-shrink:0}.admin-main-content{flex:1;padding:2rem;background:var(--color-bg);overflow-y:auto;min-width:0}.filters-container{background:var(--color-surface);padding:1.25rem 1.5rem;border-radius:var(--radius-lg);margin-bottom:1.5rem;border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs)}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;align-items:end}.filter-item{display:flex;flex-direction:column;gap:.4rem}.filter-item label{font-size:.75rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.search-input{width:100%;padding:.625rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:var(--color-surface)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b67001f}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.75rem}.stat-card{background:var(--color-surface);padding:1.25rem 1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--color-border-light);text-align:left;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),#c9a227)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-value{font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:.25rem;letter-spacing:-.02em;line-height:1}.stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:1rem}.admin-header h2{color:var(--color-text);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0}.filter-group{display:flex;align-items:center}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h3{color:var(--color-text);margin-bottom:1rem;font-size:1.25rem;font-weight:700;border-bottom:2px solid var(--color-primary);padding-bottom:.625rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border-light)}@media(max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;position:relative;top:0;height:auto;padding:.75rem 0}.admin-sidebar.collapsed{width:100%}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:0 .75rem}.sidebar-nav-item{white-space:nowrap;padding:.625rem .875rem;min-width:fit-content}.admin-sidebar.collapsed .sidebar-nav-item{justify-content:flex-start;padding:.625rem .875rem}.admin-main-content{padding:1.25rem}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-header{flex-direction:column;align-items:flex-start}.filter-row{grid-template-columns:1fr}.action-buttons{flex-direction:column}.action-buttons button{width:100%;margin-left:0!important}}.submission-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border-light)}.submission-header h2{color:var(--color-text);font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem;line-height:1.35}.submission-meta{color:var(--color-text-secondary);font-size:.875rem;line-height:1.6}.detail-section{margin-bottom:2rem}.detail-section:last-child{margin-bottom:0}.detail-section-title{font-size:1rem;font-weight:700;color:var(--color-plum);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-primary);display:inline-block}.section-content{line-height:1.75;color:var(--color-text);font-size:.925rem}.section-content h4{color:var(--color-text);margin-top:1.25rem;margin-bottom:.625rem;font-size:.95rem;font-weight:700}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-top:.75rem}.info-grid div{padding:.875rem 1rem;background:var(--color-bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);font-size:.9rem;line-height:1.5}.info-grid div strong{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.25rem}.co-investigator-box{background:var(--color-bg-subtle);padding:1rem 1.25rem;border-radius:var(--radius-sm);margin-bottom:.75rem;border:1px solid var(--color-border-light);border-left:3px solid var(--color-primary)}.co-investigator-box p{margin:.35rem 0;font-size:.9rem}.section-content ul{margin-left:1.25rem;margin-top:.5rem}.section-content li{margin-bottom:.4rem}.field-with-comment{margin-bottom:1.5rem;padding:1rem;background:var(--color-bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--color-border-light)}.field-comment-input{margin-top:.75rem}.field-comment-input label{display:block;font-size:.8rem;font-weight:700;color:var(--color-text-secondary);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.03em}.field-comment-input textarea{font-size:.875rem;min-height:60px}.field-comment-display{margin-top:.625rem;padding:.75rem 1rem;background:var(--color-primary-light);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);font-size:.875rem}.field-comment-display strong{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.field-comments-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border-light)}.review-decision-card{border-left:4px solid var(--color-primary);background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-primary-light) 100%)}.review-decision-hint{color:var(--color-text-secondary);margin-bottom:1.25rem;font-size:.9rem;line-height:1.6}.review-decision-form .form-group{margin-bottom:1rem}.review-decision-form label{display:block;font-weight:600;margin-bottom:.4rem;color:var(--color-text);font-size:.875rem}.review-decision-error{color:var(--color-danger);margin-bottom:1rem;font-size:.875rem}.review-decision-actions{display:flex;gap:.625rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border-light)}@media(max-width:640px){.submission-header,.review-decision-actions{flex-direction:column}.review-decision-actions .btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:inherit;background-color:var(--color-bg);color:var(--color-text)}.app{min-height:100vh}.app-page{min-height:100vh;background:var(--color-bg)}.app-page--dashboard{background:linear-gradient(180deg,#e8ecf1 0%,var(--color-bg) 280px,var(--color-bg) 100%)}.header{background:linear-gradient(135deg,var(--color-plum) 0%,var(--color-plum-mid) 100%);color:#fff;padding:0;min-height:var(--header-height);display:flex;align-items:stretch;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:200}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),#c9a227,var(--color-primary))}.header-content{max-width:var(--container-max);width:100%;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.header-brand{display:flex;flex-direction:column;gap:.15rem;min-width:0}.header h1{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle{font-size:.78rem;font-weight:500;color:#ffffffa6;letter-spacing:.02em}.header-user{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:.5rem}.btn-header{background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;padding:.45rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;font-family:inherit;transition:background .2s,border-color .2s;white-space:nowrap}.btn-header:hover{background:#ffffff38;border-color:#fff6}.btn-header--primary{background:#8b6700d9;border-color:#c9a22780}.btn-header--primary:hover{background:var(--color-primary)}.header-user span{font-size:.9rem}.btn-logout{background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;padding:.45rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;font-family:inherit;transition:background .2s}.btn-logout:hover{background:#ffffff38}.container{max-width:var(--container-max);margin:0 auto;padding:2rem}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-card);border:1px solid var(--color-border-light);margin-bottom:1.5rem}.card-title{font-size:1.1rem;font-weight:700;color:var(--color-text);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-primary);display:inline-block}.btn{padding:.625rem 1.25rem;border:none;border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;transition:all .2s ease;font-weight:600;font-family:inherit;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;line-height:1.4}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 3px #8b67004d}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #8b670059}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#64748b;color:#fff}.btn-secondary:hover:not(:disabled){background:#475569}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:#15803d}.btn-success:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-outline{background:transparent;border:1.5px solid var(--color-primary);color:var(--color-primary);box-shadow:none}.btn-outline:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px)}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.875rem;color:var(--color-text)}.form-group label .required{color:var(--color-danger);margin-left:.2rem}.form-control{width:100%;padding:.7rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:.925rem;font-family:inherit;color:var(--color-text);transition:border-color .2s,box-shadow .2s;background:var(--color-surface)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b67001f}.form-control:disabled{background-color:var(--color-bg-subtle);cursor:not-allowed;opacity:.65;color:var(--color-text-secondary)}textarea.form-control{min-height:120px;resize:vertical}select.form-control{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.5rem}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:.625rem}.checkbox-item,.radio-item{display:flex;align-items:center;gap:.625rem}.checkbox-item input,.radio-item input{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-item input:disabled,.radio-item input:disabled{cursor:not-allowed;opacity:.6}.checkbox-item label,.radio-item label{margin:0;cursor:pointer;font-weight:400;font-size:.925rem}.checkbox-item input:disabled+label,.radio-item input:disabled+label{cursor:not-allowed}.checkbox-multi{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.625rem}.file-upload{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--color-bg-subtle)}.file-upload:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.file-upload input[type=file]{position:absolute;width:0;height:0;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.file-list{margin-top:1rem}.file-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;background:var(--color-bg-subtle);border-radius:var(--radius-sm);margin-bottom:.5rem;border:1px solid var(--color-border-light);font-size:.9rem}.step-indicator{display:flex;justify-content:space-between;margin-bottom:2.5rem;position:relative;padding:0 .5rem}.step-indicator:before{content:"";position:absolute;top:20px;left:2rem;right:2rem;height:2px;background:var(--color-border);z-index:0}.step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.step-number{width:40px;height:40px;border-radius:50%;background:var(--color-border);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;margin-bottom:.5rem;transition:all .2s ease;border:2px solid var(--color-surface);box-shadow:var(--shadow-xs)}.step-number:hover{transform:scale(1.08)}.step.active .step-number{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #8b670059}.step.completed .step-number{background:var(--color-success);color:#fff}.step-label{font-size:.72rem;color:var(--color-text-muted);text-align:center;line-height:1.3;max-width:90px}.step.active .step-label{color:var(--color-primary);font-weight:600}.step.completed .step-label{color:var(--color-text-secondary)}.form-navigation{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-draft{background:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border)}.status-under_review{background:var(--color-warning-bg);color:#854d0e}.status-approved{background:var(--color-success-bg);color:#166534}.status-rejected{background:var(--color-danger-bg);color:#991b1b}.status-revisions_required{background:#fef3c7;color:#92400e}.table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0;margin-top:0;background:var(--color-surface);table-layout:auto}.table th,.table td{padding:.875rem 1.25rem;text-align:left;border-bottom:1px solid var(--color-border-light);vertical-align:middle}.table th{background:var(--color-bg-subtle);font-weight:700;color:var(--color-plum);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--color-primary);position:sticky;top:0;z-index:10;white-space:nowrap}.table th:last-child,.table td:last-child{text-align:right;padding-right:1.5rem}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background:var(--color-bg-subtle)}.table tbody tr:last-child td{border-bottom:none}.action-buttons{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}.action-buttons .btn{padding:.4rem .875rem;font-size:.8rem;white-space:nowrap;min-width:auto;flex-shrink:0;margin:0}.empty-state{text-align:center;padding:3rem 2rem;color:var(--color-text-secondary)}.empty-state h3{margin-bottom:.5rem;color:var(--color-text);font-size:1.1rem}.empty-state p{font-size:.925rem;line-height:1.6}.loading{text-align:center;padding:3rem 2rem;color:var(--color-text-secondary);font-size:.925rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.loading:before{content:"";width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.alert{padding:.875rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem;line-height:1.5}.alert-success{background:var(--color-success-bg);color:#166534;border:1px solid #bbf7d0}.alert-error{background:var(--color-danger-bg);color:#991b1b;border:1px solid #fecaca}.alert-info{background:var(--color-info-bg);color:#075985;border:1px solid #bae6fd}.page-intro{margin-bottom:2rem}.page-intro h2{color:var(--color-text);font-size:1.65rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.4rem}.page-intro p{color:var(--color-text-secondary);font-size:.975rem;line-height:1.65;max-width:640px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.btn-secondary .spinner,.btn-outline .spinner{border:2px solid rgba(100,116,139,.3);border-top-color:#64748b}.btn-success .spinner{border:2px solid rgba(255,255,255,.3);border-top-color:#fff}@media(max-width:768px){.header-content{padding:0 1rem}.header h1{font-size:1rem}.header-subtitle{display:none}.container{padding:1.25rem}.card{padding:1.25rem;border-radius:var(--radius-md)}.step-indicator{flex-wrap:wrap;gap:.5rem}.step-indicator:before{display:none}.step-label{font-size:.65rem;max-width:70px}.form-navigation{flex-direction:column;gap:.75rem}.form-navigation button{width:100%}.table{font-size:.875rem}.table th,.table td{padding:.75rem .625rem}.action-buttons{justify-content:flex-start}.action-buttons .btn{padding:.35rem .7rem;font-size:.775rem}}
