:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;display:block}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--shadow2: 0 1px 0 rgba(17, 24, 39, .04);--r16: 16px;--r18: 18px}.search>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:16px}.iconbtn{width:42px;height:42px;border-radius:14px;background:var(--panelSoft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:.2s ease;cursor:pointer;position:relative}.iconbtn:hover{border-color:var(--teal);color:var(--teal)}.iconbtn i{font-size:18px}.notification-badge{position:absolute;top:4px;right:4px;background:var(--teal);color:#fff;font-size:10px;font-weight:700;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center}.profile-dropdown{position:relative}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 40px #00000026;z-index:100;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-menu-header{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--panelSoft)}.profile-avatar{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--teal),#25918e);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-avatar i{font-size:24px;color:#fff}.profile-info{display:flex;flex-direction:column;min-width:0}.profile-name{font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu-divider{height:1px;background:var(--line)}.profile-menu-list{list-style:none;margin:0;padding:8px}.profile-menu-list li{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:500;color:var(--ink);border-radius:10px;cursor:pointer;transition:.15s ease}.profile-menu-list li:hover{background:var(--panelSoft)}.profile-menu-list li i{font-size:18px;color:var(--muted);width:20px;text-align:center}.profile-menu-list li:hover i{color:var(--teal)}.profile-menu-list li.logout,.profile-menu-list li.logout i{color:#ef4444}.profile-menu-list li.logout:hover{background:#ef44441a}@media(max-width:768px){.topbar{padding:10px 12px}.brand{min-width:auto}.brand-logo{height:36px}.search{display:none}.iconbtn{width:36px;height:36px;border-radius:12px}.iconbtn i{font-size:16px}.profile-menu{width:260px;right:-10px}}.app-footer{border-top:1px solid var(--line);padding:12px 16px;color:var(--muted2);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;margin-top:auto}.app-footer a{color:var(--teal);text-decoration:none;font-weight:800}.app-footer a:hover{text-decoration:underline}.secure-badge{display:inline-flex;align-items:center;gap:4px;color:#16a34a}.secure-badge i{font-size:12px}@media(max-width:768px){.app-footer{flex-direction:column;text-align:center;gap:8px}}body:has(.dashboard-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;justify-content:initial!important;align-items:initial!important}.dashboard-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--shadow2: 0 1px 0 rgba(17, 24, 39, .04);--r16: 16px;--r18: 18px}.dashboard-app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px;color:var(--muted)}.loading-spinner{width:48px;height:48px;border:4px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow2);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;min-width:220px;text-decoration:none;color:inherit}.brand-logo{height:44px;width:auto;display:block}.controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:nowrap;margin-left:auto;min-width:0}.search{position:relative;width:min(520px,46vw);min-width:260px;flex:0 1 auto}.search input{width:100%;height:42px;border-radius:16px;border:1px solid var(--line2);background:var(--panelSoft);color:var(--ink);padding:0 14px 0 44px;outline:none;transition:.2s ease;font-size:14px}.search input:focus{border-color:#2aa6a673;box-shadow:0 0 0 4px #2aa6a61f;background:#fff}.search>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted2);font-size:14px;pointer-events:none}.search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r16);box-shadow:var(--shadow);max-height:400px;overflow-y:auto;z-index:100}.search-section{padding:8px 0;border-bottom:1px solid var(--line)}.search-section:last-child{border-bottom:none}.search-section-title{padding:4px 14px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted2)}.search-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:.15s ease}.search-item:hover{background:#2aa6a614}.search-item i{color:var(--teal);font-size:16px}.search-empty{padding:20px;text-align:center;color:var(--muted)}.iconbtn{width:42px;height:42px;border-radius:16px;border:1px solid var(--line2);background:var(--panelSoft);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;transition:.2s ease;cursor:pointer;position:relative}.iconbtn:hover{border-color:#2aa6a659;box-shadow:0 0 0 4px #2f6fff14;transform:translateY(-1px)}.iconbtn.small{width:34px;height:34px;border-radius:12px}.notification-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.pill{height:42px;border-radius:16px;padding:0 14px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line2);background:var(--panelSoft);color:var(--muted);font-size:12px;white-space:nowrap}.pill strong{color:var(--ink);font-weight:900}.main{flex:1 1 auto;padding:16px}.headline{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:10px 6px 14px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}.headline-title{font-size:22px;margin:6px 0 0;font-weight:900}.gradient-text{background:linear-gradient(90deg,var(--teal),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.meta{font-size:12px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.meta i{margin-right:4px}.fw-semibold{font-weight:600}.dashboard-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:0}.grid-col-left,.grid-col-right{min-width:0;padding:0 20px}.grid-col-left{border-right:1px solid var(--line)}.grid-col-center{min-width:0;padding:0 24px}.grid-col-right{border-left:1px solid var(--line)}.cardx{height:100%}.card-head{padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.card-head .title{display:flex;align-items:center;gap:10px;font-weight:900;font-size:13px;letter-spacing:.2px}.chip{font-size:11px;color:var(--muted);border:1px solid var(--line2);background:var(--panelSoft);padding:4px 10px;border-radius:999px;white-space:nowrap}.card-body{padding:12px 0 14px;color:var(--muted);font-size:12px}.navlist{list-style:none;padding:0;margin:0}.navlist li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r16);border:1px solid transparent;transition:.18s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.navlist li:hover{background:#2f6fff0d;border-color:var(--line);transform:translateY(-1px)}.navlist i{width:18px;text-align:center;color:var(--teal);font-size:15px;flex-shrink:0}.navlist .label{color:var(--ink);font-weight:900;font-size:12px}.navlist .sub{font-size:11px;color:var(--muted2);margin-top:2px}.navlist .right{margin-left:auto;color:var(--muted2);font-size:12px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-title{font-size:11px;letter-spacing:.16em;color:var(--muted2);text-transform:uppercase}.section-header .title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:900;color:var(--ink)}.divider-soft{border:none;border-top:1px solid var(--line);margin:12px 0}.overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.kicker{font-size:11px;letter-spacing:.16em;color:var(--muted2);text-transform:uppercase}.welcome-text{margin-top:4px;color:var(--muted);font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.stat-card{display:flex;align-items:center;gap:12px;padding:14px;background:linear-gradient(135deg,#2aa6a60f,#2f6fff0a);border:1px solid var(--line);border-radius:var(--r16);transition:.2s ease}.stat-card:hover{border-color:#2aa6a659;transform:translateY(-2px);box-shadow:0 4px 12px #2aa6a61f}.stat-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--teal),var(--blue));display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0}.stat-value{font-size:20px;font-weight:900;color:var(--ink)}.stat-label{font-size:11px;color:var(--muted2);margin-top:2px}.task{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:var(--r16);border:1px solid var(--line);background:#2f6fff0a;margin-top:10px}.task i{margin-top:2px;color:var(--teal);font-size:16px;flex-shrink:0}.task .t{color:var(--ink);font-weight:900;font-size:12px;margin:0}.task .d{margin:2px 0 0;color:var(--muted2);font-size:11px;line-height:1.35}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--muted2);gap:8px}.empty-state i{font-size:28px;color:var(--teal);opacity:.5}.empty-state p{margin:0;font-size:12px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.calendar-title{font-size:12px;font-weight:900;color:var(--ink);letter-spacing:.2px}.calendar-nav{display:flex;gap:8px}.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px;padding:10px;border-radius:16px;border:1px solid var(--line);background:#fff}.mini-cal .dow{color:var(--muted2);font-size:10px;text-align:center;font-weight:900;letter-spacing:.08em}.mini-cal .cell{height:28px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);border:1px solid transparent;cursor:pointer;transition:.15s ease;position:relative}.mini-cal .cell:hover{border-color:var(--line);background:#2aa6a60f}.mini-cal .cell.today{color:var(--teal);font-weight:700;border-color:#2aa6a666}.mini-cal .cell.active{color:#fff;border-color:var(--blue);background:linear-gradient(135deg,var(--teal),var(--blue));box-shadow:0 2px 8px #2f6fff4d;font-weight:900}.mini-cal .cell.has-events:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--teal)}.mini-cal .cell.active.has-events:after{background:#fff}.mini-cal .cell .event-dot{display:none}.mini-cal .cell.muted{color:#0b122038;cursor:default}.mini-cal .cell.muted:hover{border-color:transparent;background:transparent}.date-filter-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:12px;background:linear-gradient(135deg,#2aa6a61a,#2f6fff14);border:1px solid rgba(42,166,166,.3);border-radius:var(--r16);gap:12px}.date-filter-banner .filter-info{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink)}.date-filter-banner .filter-info i{color:var(--teal);font-size:14px}.date-filter-banner .filter-info strong{color:var(--blue)}.clear-filter-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:.2s ease}.clear-filter-btn:hover{color:var(--ink);border-color:var(--teal);background:#2aa6a60d}.clear-filter-btn i{font-size:10px}.dashboard-footer{border-top:1px solid var(--line);padding:12px 16px;color:var(--muted2);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff}.footer-links{display:flex;align-items:center;gap:12px}.dashboard-footer a{color:var(--teal);text-decoration:none;font-weight:800}.dashboard-footer a:hover{text-decoration:underline}.footer-divider{color:#0b122040}.priority-notes-list{display:flex;flex-direction:column;gap:10px}.priority-note-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:linear-gradient(135deg,#e11d480a,#e11d4814);border:1px solid rgba(225,29,72,.15);border-radius:var(--r16);transition:all .2s ease}.priority-note-item:hover{border-color:#e11d4859;background:linear-gradient(135deg,#e11d480f,#e11d481f);transform:translateY(-1px);box-shadow:0 4px 12px #e11d481a}.priority-badge{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#e11d48,#be123c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.priority-note-item .note-content{flex:1;min-width:0}.priority-note-item .note-text{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.priority-note-item .note-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.priority-note-item .study-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#0891b21a;border-radius:10px;font-size:11px;font-weight:600;color:var(--teal)}.priority-note-item .study-tag i{font-size:10px}.priority-note-item .tags{display:flex;gap:4px}.priority-note-item .tag{padding:2px 6px;background:#6366f11a;border-radius:8px;font-size:10px;font-weight:600;color:#6366f1}.priority-note-item .pin-icon{color:#e11d48;font-size:14px;opacity:.7}.empty-priority-notes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;gap:8px}.empty-priority-notes i{font-size:24px;color:#e11d48;opacity:.3}.empty-priority-notes p{margin:0;font-size:12px;color:var(--muted2)}.add-note-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;margin-top:6px;background:#e11d4814;border:1px solid rgba(225,29,72,.2);border-radius:12px;color:#e11d48;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease}.add-note-btn:hover{background:#e11d4826;border-color:#e11d4859}.mt-2{margin-top:8px}@media(max-width:1200px){.dashboard-grid{grid-template-columns:1fr 1.5fr 1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.dashboard-grid{grid-template-columns:1fr;gap:24px}.grid-col-left,.grid-col-center,.grid-col-right{order:initial;padding:0 0 24px;border:none;border-bottom:1px solid var(--line)}.grid-col-right{border-bottom:none}.search{width:min(480px,55vw)}.stats-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.controls{flex-wrap:wrap;justify-content:flex-start;width:100%}.search{width:100%;min-width:100%;order:3}.brand{min-width:unset}.headline{flex-direction:column;align-items:flex-start}.meta{justify-content:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr)}.overview-header{flex-direction:column}.pill{width:100%;justify-content:center}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.topbar{padding:10px 12px}.main{padding:12px}.brand-logo{height:36px}}.admin-setup-wizard{display:flex;flex-direction:column;min-height:100%;padding:20px;background:var(--bg-secondary, #f8fafc)}.admin-setup-wizard .wizard-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.admin-setup-wizard .btn-back{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line2, #e2e8f0);border-radius:10px;background:var(--bg-primary, #fff);color:var(--text, #1e293b);font-weight:600;cursor:pointer;transition:all .2s}.admin-setup-wizard .btn-back:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--line, #cbd5e1)}.admin-setup-wizard .wizard-breadcrumb{flex:1;font-size:14px;color:var(--muted, #64748b);font-weight:500}.setup-wizard-steps{display:flex;align-items:center;gap:24px;padding:16px 24px;background:var(--bg-primary, #fff);border-radius:12px;border:1px solid var(--line2, #e2e8f0);margin-bottom:20px}.add-new-buttons{display:flex;gap:12px;padding-right:24px;border-right:2px solid var(--line2, #e2e8f0)}.add-new-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.add-new-btn i{font-size:12px}.add-new-btn.ta{background:#2aa6a61a;color:#2aa6a6}.add-new-btn.ta:hover:not(:disabled){background:#2aa6a633}.add-new-btn.study{background:#3b82f61a;color:#3b82f6}.add-new-btn.study:hover:not(:disabled){background:#3b82f633}.add-new-btn.analysis{background:#8b5cf61a;color:#8b5cf6}.add-new-btn.analysis:hover:not(:disabled){background:#8b5cf633}.add-new-btn.assign-users{background:#10b9811a;color:#10b981}.add-new-btn.assign-users:hover:not(:disabled){background:#10b98133}.add-new-btn:disabled{opacity:.4;cursor:not-allowed}.setup-type-label{font-size:16px;font-weight:700;color:var(--text, #1e293b);padding-right:24px;border-right:2px solid var(--line2, #e2e8f0)}.step-indicators{display:flex;align-items:center;gap:8px;flex:1}.step-dot{display:flex;align-items:center;gap:8px;flex:1;position:relative}.dot-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--bg-secondary, #f1f5f9);color:var(--muted, #64748b);border:2px solid var(--line2, #e2e8f0);position:relative;z-index:1;transition:all .3s}.step-dot.active .dot-circle{background:#2aa6a6;color:#fff;border-color:#2aa6a6;box-shadow:0 0 0 4px #2aa6a626}.step-dot.completed .dot-circle{background:#10b981;color:#fff;border-color:#10b981}.dot-label{font-size:12px;font-weight:600;color:var(--muted, #64748b);white-space:nowrap}.step-dot.active .dot-label{color:var(--text, #1e293b)}.admin-setup-wizard .error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:20px;color:#dc2626}.admin-setup-wizard .error-banner button{margin-left:auto;background:none;border:none;color:#dc2626;cursor:pointer;padding:4px}.admin-setup-wizard .wizard-content{flex:1;background:var(--bg-primary, #fff);border-radius:16px;border:1px solid var(--line2, #e2e8f0);padding:24px}.setup-type-selection{text-align:center;padding:40px 20px}.setup-type-selection .selection-title{font-size:28px;font-weight:800;color:var(--text, #1e293b);margin-bottom:8px}.setup-type-selection .selection-subtitle{font-size:16px;color:var(--muted, #64748b);margin-bottom:40px}.setup-type-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:0 auto}.setup-type-card{display:flex;align-items:center;gap:20px;padding:24px;background:var(--bg-primary, #fff);border:2px solid var(--line2, #e2e8f0);border-radius:16px;cursor:pointer;transition:all .3s;text-align:left}.setup-type-card:hover{border-color:#2aa6a6;box-shadow:0 4px 20px #2aa6a626;transform:translateY(-2px)}.setup-type-card.study-setup:hover{border-color:#3b82f6;box-shadow:0 4px 20px #3b82f626}.setup-type-card.domain-setup:hover{border-color:#8b5cf6;box-shadow:0 4px 20px #8b5cf626}.setup-type-card .card-icon{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.setup-type-card.study-setup .card-icon{background:#3b82f61a;color:#3b82f6}.setup-type-card.domain-setup .card-icon{background:#8b5cf61a;color:#8b5cf6}.setup-type-card .card-content{flex:1}.setup-type-card .card-content h3{font-size:18px;font-weight:700;color:var(--text, #1e293b);margin-bottom:4px}.setup-type-card .card-content p{font-size:14px;color:var(--muted, #64748b);margin-bottom:12px}.setup-type-card .card-flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.setup-type-card .card-flow span{padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:6px;font-size:11px;font-weight:600;color:var(--text, #1e293b)}.setup-type-card .card-flow i{font-size:10px;color:var(--muted, #94a3b8)}.setup-type-card .card-arrow{font-size:28px;color:var(--muted, #94a3b8);transition:transform .3s}.setup-type-card:hover .card-arrow{transform:translate(4px);color:#2aa6a6}.setup-step-content{max-width:800px;margin:0 auto}.step-header{display:flex;align-items:baseline;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--line2, #e2e8f0)}.step-header .step-label{font-size:22px;font-weight:700;color:var(--text, #1e293b)}.step-header .step-hint{font-size:14px;color:var(--muted, #64748b)}.search-box{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-primary, #fff);border:2px solid var(--line2, #e2e8f0);border-radius:12px;margin-bottom:16px;transition:border-color .2s}.search-box:focus-within{border-color:#2aa6a6}.search-box i.bi-search{font-size:16px;color:var(--muted, #64748b)}.search-box input{flex:1;border:none;background:transparent;font-size:15px;color:var(--text, #1e293b);outline:none}.search-box input::placeholder{color:var(--muted, #94a3b8)}.search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-secondary, #f1f5f9);border:none;border-radius:6px;color:var(--muted, #64748b);cursor:pointer;transition:all .2s}.search-clear:hover{background:var(--line2, #e2e8f0);color:var(--text, #1e293b)}.selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.selection-grid.phase-grid{grid-template-columns:repeat(4,1fr);max-width:600px}.selection-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;background:var(--bg-primary, #fff);border:2px solid var(--line2, #e2e8f0);border-radius:14px;cursor:pointer;transition:all .2s;text-align:center}.selection-card:hover{border-color:#2aa6a6;background:#2aa6a608}.selection-card.selected{border-color:#2aa6a6;background:#2aa6a614}.selection-card .card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#2aa6a61a;color:#2aa6a6}.selection-card .card-name{font-size:14px;font-weight:700;color:var(--text, #1e293b)}.selection-card .card-meta{font-size:12px;color:var(--muted, #64748b)}.selection-card.phase-card .phase-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.selection-list{display:flex;flex-direction:column;gap:10px}.selection-item{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--bg-primary, #fff);border:2px solid var(--line2, #e2e8f0);border-radius:12px;cursor:pointer;transition:all .2s}.selection-item:hover{border-color:#2aa6a6;background:#2aa6a608}.selection-item.selected{border-color:#2aa6a6;background:#2aa6a614}.selection-item .item-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;background:#2aa6a61a;color:#2aa6a6;flex-shrink:0}.selection-item .item-icon.ta-icon{background:#2aa6a61a;color:#2aa6a6}.selection-item .item-icon.study-icon{background:#3b82f61a;color:#3b82f6}.selection-item .item-icon.analysis-icon{background:#8b5cf61a;color:#8b5cf6}.selection-item .item-content{flex:1;min-width:0}.selection-item .item-name{font-size:15px;font-weight:700;color:var(--text, #1e293b)}.selection-item .item-subtitle{font-size:13px;color:var(--muted, #64748b);margin-top:2px}.selection-item .item-code{font-size:12px;color:var(--muted, #94a3b8);font-weight:500;margin-top:2px}.selection-item .item-meta{display:flex;align-items:center;gap:8px}.selection-item .analysis-count,.selection-item .study-count{font-size:12px;color:var(--muted, #64748b);background:var(--bg-secondary, #f1f5f9);padding:4px 10px;border-radius:6px;white-space:nowrap}.selection-item .item-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;background:#8b5cf61a;color:#8b5cf6}.selection-item .item-arrow{font-size:16px;color:var(--muted, #94a3b8)}.cdisc-selection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.cdisc-card{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;background:var(--bg-primary, #fff);border:3px solid var(--line2, #e2e8f0);border-radius:16px;cursor:pointer;transition:all .3s;text-align:center}.cdisc-card:hover{transform:translateY(-4px)}.cdisc-card.sdtm:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f633}.cdisc-card.adam:hover{border-color:#8b5cf6;box-shadow:0 8px 24px #8b5cf633}.cdisc-card.selected{transform:translateY(-4px)}.cdisc-card.sdtm.selected{border-color:#3b82f6;background:#3b82f60d;box-shadow:0 8px 24px #3b82f633}.cdisc-card.adam.selected{border-color:#8b5cf6;background:#8b5cf60d;box-shadow:0 8px 24px #8b5cf633}.cdisc-card .cdisc-icon{width:70px;height:70px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:32px}.cdisc-card.sdtm .cdisc-icon{background:#3b82f61a;color:#3b82f6}.cdisc-card.adam .cdisc-icon{background:#8b5cf61a;color:#8b5cf6}.cdisc-card .cdisc-name{font-size:24px;font-weight:800;color:var(--text, #1e293b)}.cdisc-card .cdisc-desc{font-size:14px;color:var(--muted, #64748b)}.cdisc-card .cdisc-info{font-size:12px;color:var(--muted, #94a3b8);padding:8px 16px;background:var(--bg-secondary, #f1f5f9);border-radius:8px}.study-form{max-width:500px}.study-form .form-group{margin-bottom:20px}.study-form .form-group label{display:block;font-size:14px;font-weight:600;color:var(--text, #1e293b);margin-bottom:8px}.study-form .form-group label .required{color:#ef4444;margin-left:4px}.study-form .form-input{width:100%;padding:12px 16px;font-size:15px;border:2px solid var(--line2, #e2e8f0);border-radius:10px;background:var(--bg-primary, #fff);color:var(--text, #1e293b);transition:border-color .2s}.study-form .form-input:focus{outline:none;border-color:#2aa6a6}.study-form .form-input::placeholder{color:var(--muted, #94a3b8)}.study-form .form-summary{padding:16px;background:var(--bg-secondary, #f8fafc);border-radius:10px;margin-bottom:24px}.study-form .summary-row{display:flex;align-items:center;gap:8px;padding:6px 0}.study-form .summary-label{font-size:13px;color:var(--muted, #64748b)}.study-form .summary-value{font-size:14px;font-weight:600;color:var(--text, #1e293b)}.btn-create-study{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,#2aa6a6,#1e8585);border:none;border-radius:12px;cursor:pointer;transition:all .2s}.btn-create-study:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #2aa6a64d}.btn-create-study:disabled{opacity:.6;cursor:not-allowed}.upload-section{max-width:600px;margin:0 auto}.upload-info{padding:16px;background:#2aa6a60f;border-radius:12px;margin-bottom:24px}.upload-info .info-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;color:var(--text, #1e293b)}.upload-info .info-row i{color:#2aa6a6;margin-top:2px}.upload-area{border:2px dashed var(--line2, #e2e8f0);border-radius:14px;padding:40px;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:20px}.upload-area:hover{border-color:#2aa6a6;background:#2aa6a608}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted, #64748b)}.upload-placeholder i{font-size:40px;color:#2aa6a6}.upload-placeholder .upload-hint{font-size:12px;color:var(--muted, #94a3b8)}.file-selected{display:flex;align-items:center;justify-content:center;gap:12px}.file-selected i.bi-file-earmark-excel{font-size:32px;color:#10b981}.file-selected .file-name{font-size:15px;font-weight:600;color:var(--text, #1e293b)}.file-selected .btn-remove-file{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fee2e2;color:#ef4444;border:none;border-radius:8px;cursor:pointer;font-size:14px}.btn-upload{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:12px;cursor:pointer;transition:all .2s;margin-bottom:20px}.btn-upload:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #8b5cf64d}.btn-upload:disabled{opacity:.6;cursor:not-allowed}.upload-result{padding:20px;border-radius:12px;margin-bottom:20px}.upload-result.success{background:#10b98114;border:1px solid rgba(16,185,129,.3)}.upload-result.error{background:#ef444414;border:1px solid rgba(239,68,68,.3)}.upload-result .result-header{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;margin-bottom:16px}.upload-result.success .result-header{color:#10b981}.upload-result.error .result-header{color:#ef4444}.upload-result .result-section{margin-bottom:14px}.upload-result .result-section strong{display:block;font-size:13px;color:var(--text, #1e293b);margin-bottom:8px}.upload-result .domain-tags{display:flex;flex-wrap:wrap;gap:6px}.upload-result .domain-tag{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:var(--bg-secondary, #f1f5f9);color:var(--text, #1e293b)}.upload-result .domain-tag.assigned{background:#10b98126;color:#059669}.upload-result .domain-tag.skipped{background:#f59e0b26;color:#d97706}.upload-result .result-section.warnings ul{margin:0;padding-left:20px;font-size:13px;color:#d97706}.upload-result .result-actions{display:flex;gap:12px;margin-top:20px}.upload-result .btn-complete{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;cursor:pointer;transition:all .2s}.upload-result .btn-complete:hover{transform:translateY(-2px);box-shadow:0 4px 16px #10b9814d}.upload-result .btn-secondary{padding:12px 20px;font-size:14px;font-weight:600;color:var(--text, #1e293b);background:var(--bg-secondary, #f1f5f9);border:none;border-radius:10px;cursor:pointer;transition:all .2s}.upload-result .btn-secondary:hover{background:var(--line2, #e2e8f0)}.archive-notice{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:10px;font-size:13px;color:#92400e}.archive-notice i{font-size:18px;color:#f59e0b}.spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.admin-notice{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:#f59e0b1a;border-radius:10px;margin-top:20px;font-size:13px;color:#92400e}.create-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.create-modal{background:var(--bg-primary, #fff);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 60px #00000040;animation:modalSlideIn .3s ease}.create-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line2, #e2e8f0)}.create-modal-header h3{font-size:18px;font-weight:700;color:var(--text, #1e293b);margin:0}.modal-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f1f5f9);border:none;border-radius:8px;color:var(--muted, #64748b);cursor:pointer;transition:all .2s}.modal-close-btn:hover{background:var(--line2, #e2e8f0);color:var(--text, #1e293b)}.create-modal-body{padding:24px}.modal-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:20px;color:#dc2626;font-size:14px}.form-info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#2aa6a614;border-radius:10px;margin-bottom:20px;color:var(--text, #1e293b);font-size:14px}.form-info i{color:#2aa6a6}.create-modal .form-group{margin-bottom:18px}.create-modal .form-group label{display:block;font-size:14px;font-weight:600;color:var(--text, #1e293b);margin-bottom:8px}.create-modal .form-group label .required{color:#ef4444;margin-left:4px}.create-modal .form-input,.create-modal .form-select,.create-modal .form-textarea{width:100%;padding:12px 16px;font-size:15px;border:2px solid var(--line2, #e2e8f0);border-radius:10px;background:var(--bg-primary, #fff);color:var(--text, #1e293b);transition:border-color .2s}.create-modal .form-input:focus,.create-modal .form-select:focus,.create-modal .form-textarea:focus{outline:none;border-color:#2aa6a6}.create-modal .form-textarea{min-height:80px;resize:vertical}.create-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--line2, #e2e8f0);background:var(--bg-secondary, #f8fafc);border-radius:0 0 16px 16px}.create-modal .btn-cancel{padding:10px 20px;font-size:14px;font-weight:600;color:var(--muted, #64748b);background:var(--bg-primary, #fff);border:1px solid var(--line2, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .2s}.create-modal .btn-cancel:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9)}.create-modal .btn-create{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,#2aa6a6,#1e8585);border:none;border-radius:10px;cursor:pointer;transition:all .2s}.create-modal .btn-create:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #2aa6a64d}.create-modal .btn-create:disabled,.create-modal .btn-cancel:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.setup-type-cards,.cdisc-selection-grid{grid-template-columns:1fr}.selection-grid.phase-grid{grid-template-columns:repeat(2,1fr)}.setup-wizard-steps{flex-direction:column;align-items:flex-start}.add-new-buttons{border-right:none;border-bottom:2px solid var(--line2, #e2e8f0);padding-right:0;padding-bottom:12px;width:100%;flex-wrap:wrap}.create-modal{margin:20px}}body:has(.admin-config-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;justify-content:initial!important;align-items:initial!important}.admin-config-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--shadow2: 0 1px 0 rgba(17, 24, 39, .04);--r16: 16px;--r18: 18px;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b}.admin-config-app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.admin-config-app .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px;color:var(--muted)}.admin-config-app .loading-spinner{width:48px;height:48px;border:4px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite}.admin-config-app .loading-spinner.small{width:24px;height:24px;border-width:2px}.accent-line{height:2px;background:linear-gradient(90deg,#0000,#2aa6a6f2,#2f6fffb3,#0000)}.admin-config-app .topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow2);position:sticky;top:0;z-index:10}.admin-config-app .brand{display:flex;align-items:center;gap:12px;min-width:180px;text-decoration:none;color:inherit}.admin-config-app .brand-logo{height:44px;width:auto;display:block}.admin-config-app .page-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;background:linear-gradient(90deg,var(--teal),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.admin-config-app .page-title i{font-size:20px;color:var(--teal);background:none;-webkit-background-clip:unset}.admin-config-app .config-count{font-size:12px;font-weight:600;padding:4px 10px;background:var(--panelSoft);border:1px solid var(--line);border-radius:20px;color:var(--muted);margin-left:8px}.admin-config-app .controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:nowrap;min-width:0}.admin-config-app .icon-btn{width:38px;height:38px;border-radius:12px;background:var(--panelSoft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:.2s ease;cursor:pointer}.admin-config-app .icon-btn:hover{border-color:var(--teal);color:var(--teal)}.admin-config-app .icon-btn i{font-size:17px}.admin-config-app .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--blue));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;cursor:pointer}.admin-config-app .user-chip{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border-radius:20px;background:var(--panelSoft);border:1px solid var(--line)}.admin-config-app .user-chip-text{font-size:13px;font-weight:700;color:var(--ink)}.admin-main{display:flex;flex:1;min-height:0}.admin-sidebar{width:260px;background:var(--panelSoft);border-right:1px solid var(--line);padding:20px 0;overflow-y:auto;flex-shrink:0}.sidebar-back{padding:0 16px 16px;border-bottom:1px solid var(--line);margin-bottom:16px}.sidebar-back .back-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:13px;font-weight:600;border:1px solid var(--line2);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;transition:.15s ease}.sidebar-back .back-btn:hover{background:var(--bg);border-color:var(--teal);color:var(--teal)}.sidebar-back .back-btn i{font-size:16px}.sidebar-group{margin-bottom:24px}.group-label{padding:8px 20px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}.sidebar-nav{list-style:none;padding:0;margin:0}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:.15s ease;border-left:3px solid transparent}.nav-item:hover{background:#2aa6a60f;color:var(--ink)}.nav-item.active{background:#2aa6a61a;color:var(--teal);border-left-color:var(--teal)}.nav-item i{font-size:16px;width:20px;text-align:center}.admin-content{flex:1;padding:24px;overflow-y:auto;min-width:0}.content-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}.section-info h2{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;margin:0 0 8px;color:var(--ink)}.section-info h2 i{color:var(--teal)}.section-info p{margin:0;font-size:13px;color:var(--muted)}.content-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-box{position:relative}.search-box i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted2);font-size:14px}.search-box input{width:220px;height:40px;padding:0 12px 0 38px;border:1px solid var(--line);border-radius:12px;background:var(--panelSoft);font-size:13px;color:var(--ink);transition:.2s ease}.search-box input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px #2aa6a61a}.toggle-disabled{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);cursor:pointer}.toggle-disabled input{accent-color:var(--teal)}.btn-primary{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;background:linear-gradient(135deg,var(--teal),var(--blue));border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:.2s ease;white-space:nowrap}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2aa6a64d}.btn-secondary{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;background:var(--panelSoft);border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:.2s ease;white-space:nowrap}.btn-secondary:hover{border-color:var(--teal);color:var(--teal)}.data-table-container{background:var(--panel);border:1px solid var(--line);border-radius:var(--r18);overflow:hidden}.table-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px;color:var(--muted)}.empty-table{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px;text-align:center}.empty-table i{font-size:48px;color:var(--line)}.empty-table p{margin:0;color:var(--muted);font-size:14px}.data-table th{padding:14px 16px;text-align:left;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted2);background:var(--panelSoft);border-bottom:1px solid var(--line)}.data-table td{padding:14px 16px;font-size:13px;color:var(--ink);border-bottom:1px solid var(--line)}.data-table tbody tr:hover{background:#2aa6a608}.data-table tbody tr.disabled-row{opacity:.6}.data-table tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700}.status-badge.active{background:#22c55e1a;color:var(--success)}.status-badge.inactive{background:#ef44441a;color:var(--danger)}.color-preview{display:inline-block;width:20px;height:20px;border-radius:6px;border:1px solid var(--line)}.text-success{color:var(--success)}.text-muted{color:var(--muted2)}.actions-cell{display:flex;gap:8px}.action-btn{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--panelSoft);color:var(--muted);cursor:pointer;transition:.15s ease;display:flex;align-items:center;justify-content:center}.action-btn:hover{border-color:var(--teal);color:var(--teal)}.action-btn.edit:hover{border-color:var(--blue);color:var(--blue)}.action-btn.disable:hover{border-color:var(--danger);color:var(--danger)}.action-btn.enable:hover{border-color:var(--success);color:var(--success)}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:40px 20px;box-sizing:border-box}.modal-content{background:var(--panel);border-radius:var(--r18);box-shadow:var(--shadow);width:100%;max-width:520px;max-height:calc(100vh - 80px);overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-header h3{display:flex;align-items:center;gap:12px;margin:0;font-size:18px;font-weight:800;color:var(--ink)}.modal-close{width:36px;height:36px;border:none;border-radius:10px;background:var(--panelSoft);color:var(--muted);cursor:pointer;transition:.15s ease}.modal-close:hover{background:#ef44441a;color:var(--danger)}.modal-body{padding:24px;overflow-y:auto;flex:1;max-height:calc(85vh - 160px);scrollbar-width:thin;scrollbar-color:var(--teal) var(--line)}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:var(--line);border-radius:3px}.modal-body::-webkit-scrollbar-thumb{background:var(--teal);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--blue)}.form-error{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:var(--danger);font-size:13px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--ink)}.form-group label .required{color:var(--danger);margin-left:4px}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panelSoft);font-size:14px;color:var(--ink);transition:.2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px #2aa6a61a}.form-group textarea{min-height:80px;resize:vertical}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input{width:18px;height:18px;accent-color:var(--teal)}.color-input-group{display:flex;gap:12px;align-items:center}.color-input-group input[type=color]{width:48px;height:40px;padding:2px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.color-input-group input[type=text]{flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--line);background:var(--panelSoft);flex-shrink:0;min-height:72px;box-sizing:border-box}@media(max-width:992px){.admin-main{flex-direction:column}.admin-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--line);padding:12px 0;display:flex;overflow-x:auto;gap:8px}.sidebar-group{margin-bottom:0;display:flex;align-items:center;gap:4px;flex-shrink:0}.group-label{padding:8px 12px;white-space:nowrap}.sidebar-nav{display:flex;gap:4px}.nav-item{padding:8px 12px;border-radius:12px;border-left:none;white-space:nowrap}.nav-item.active{border-left:none;background:var(--teal);color:#fff}.nav-item span{display:none}}@media(max-width:768px){.admin-header{flex-direction:column;align-items:flex-start;gap:12px}.content-header{flex-direction:column;align-items:flex-start}.content-actions{width:100%;justify-content:flex-start}.search-box input{width:100%;min-width:200px}.data-table{display:block;overflow-x:auto}}@media(max-width:480px){.admin-content{padding:16px}.modal-content{max-height:100vh;border-radius:0}.admin-config-app .topbar{flex-wrap:wrap;padding:10px 12px}.admin-config-app .page-title{font-size:14px;order:2;width:100%;justify-content:center;margin-top:8px}.admin-config-app .controls{gap:8px}}.admin-config-app .dashboard-footer{border-top:1px solid var(--line);padding:12px 16px;color:var(--muted2);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;margin-top:auto}.admin-config-app .footer-links{display:flex;align-items:center;gap:12px}.admin-config-app .dashboard-footer a{color:var(--teal);text-decoration:none;font-weight:800}.admin-config-app .dashboard-footer a:hover{text-decoration:underline}.admin-config-app .footer-divider{color:#0b122040}.wizard-setup-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r18);overflow:hidden}.wizard-setup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 12px;flex-wrap:wrap}.wizard-setup-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-config-app .wizard-steps{display:flex;align-items:center;justify-content:flex-start;gap:0;padding:14px 18px;background:var(--panelSoft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.admin-config-app .wizard-steps .step{padding:10px 18px;font-size:13px;font-weight:600;color:var(--muted);border:1px solid var(--line);background:var(--panel);transition:.2s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-config-app .wizard-steps .step:first-child{border-radius:10px 0 0 10px}.admin-config-app .wizard-steps .step:last-of-type{border-radius:0 10px 10px 0}.admin-config-app .wizard-steps .step.active{background:var(--teal);color:#fff;border-color:var(--teal)}.admin-config-app .wizard-steps .step.completed{background:#2aa6a614;color:var(--teal);border-color:#2aa6a673}.wizard-setup-body{padding:18px}.wizard-setup-note{font-size:13px;color:var(--muted);line-height:1.5;background:var(--panelSoft);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.action-btn.delete{color:var(--danger)}.action-btn.delete:hover{background:#ef44441f;color:var(--danger)}.status-badge.active,.status-badge.completed{background:#22c55e1f;color:#16a34a}.status-badge.in_progress,.status-badge.in-progress{background:#2f6fff1f;color:var(--blue)}.status-badge.planned{background:#9ca3af26;color:#6b7280}.status-badge.on_hold,.status-badge.on-hold{background:#f59e0b1f;color:#d97706}.status-badge.cancelled,.status-badge.inactive{background:#ef44441f;color:var(--danger)}.form-group select{width:100%;padding:10px 32px 10px 12px;border:1px solid var(--line2);border-radius:12px;font-size:14px;background:var(--bg);color:var(--ink);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='%236b7280' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-group select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #2aa6a626}.form-group input[type=date]{width:100%;padding:10px 12px;border:1px solid var(--line2);border-radius:12px;font-size:14px;background:var(--bg);color:var(--ink)}.form-group input[type=date]:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #2aa6a626}.sidebar-group:first-child .group-label{color:var(--teal);font-weight:700}.content-actions .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;border:1px solid var(--line2);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;transition:.15s ease}.content-actions .btn-secondary:hover{background:var(--panelSoft);border-color:var(--teal);color:var(--teal)}.content-actions .btn-secondary i{font-size:14px}.wizard-panel-fullscreen{min-height:calc(100vh - 200px);background:var(--bg);border-radius:16px;overflow:hidden;border:1px solid var(--line)}.workflow-type-selection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.workflow-setup-card{position:relative;display:flex;align-items:center;gap:1.25rem;padding:1.75rem;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.workflow-setup-card:before{content:"";position:absolute;inset:0;border-radius:16px;padding:2px;background:linear-gradient(135deg,var(--accent-start),var(--accent-end));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.4;transition:opacity .3s}.workflow-setup-card:hover:before{opacity:1}.workflow-setup-card.data-collection{--accent-start: #0891b2;--accent-end: #06b6d4;background:linear-gradient(135deg,#0891b214,#06b6d408)}.workflow-setup-card.analysis-submission{--accent-start: #7c3aed;--accent-end: #a855f7;background:linear-gradient(135deg,#7c3aed14,#a855f708)}.workflow-setup-card.study-setup{--accent-start: #3b82f6;--accent-end: #60a5fa;background:linear-gradient(135deg,#3b82f614,#60a5fa08)}.workflow-setup-card.domain-setup{--accent-start: #8b5cf6;--accent-end: #a78bfa;background:linear-gradient(135deg,#8b5cf614,#a78bfa08)}.workflow-setup-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000026}.workflow-setup-card .card-icon-wrapper{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.workflow-setup-card.data-collection .card-icon-wrapper{background:linear-gradient(135deg,#0891b2,#06b6d4)}.workflow-setup-card.analysis-submission .card-icon-wrapper{background:linear-gradient(135deg,#7c3aed,#a855f7)}.workflow-setup-card .card-icon-wrapper i{font-size:1.75rem;color:#fff}.workflow-setup-card .card-content{flex:1}.workflow-setup-card .card-content h3{font-size:1.125rem;font-weight:600;color:var(--ink);margin-bottom:.375rem}.workflow-setup-card .card-content p{font-size:.875rem;color:var(--muted);margin-bottom:.875rem;line-height:1.4}.workflow-setup-card .card-flow-steps{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.workflow-setup-card .flow-step{padding:.25rem .5rem;background:#0000000d;border-radius:6px;font-size:.75rem;color:var(--muted);font-weight:500}.workflow-setup-card .card-flow-steps i{font-size:.625rem;color:var(--muted2)}.workflow-setup-card .card-action-arrow{font-size:1.75rem;color:var(--muted2);transition:all .3s}.workflow-setup-card:hover .card-action-arrow{transform:translate(4px)}.workflow-setup-card.data-collection:hover .card-action-arrow{color:#0891b2}.workflow-setup-card.analysis-submission:hover .card-action-arrow{color:#7c3aed}.workflow-setup-card.study-setup:hover .card-action-arrow{color:#3b82f6}.workflow-setup-card.domain-setup:hover .card-action-arrow{color:#8b5cf6}.wizard-info-section{margin-bottom:2rem;padding:1.5rem;background:var(--panelSoft);border-radius:16px;border:1px solid var(--line)}.wizard-info-section h4{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:1rem}.wizard-info-section h4 i{color:var(--teal)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.info-item{display:flex;gap:.875rem}.info-number{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--teal) 0%,#1f9999 100%);color:#fff;font-weight:700;font-size:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-item strong{display:block;font-size:.875rem;color:var(--ink);margin-bottom:.25rem}.info-item p{font-size:.8125rem;color:var(--muted);line-height:1.4}.quick-links-section{padding:1.5rem;background:var(--panelSoft);border-radius:16px;border:1px solid var(--line)}.quick-links-section h4{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:1rem}.quick-links-section h4 i{color:#f59e0b}.quick-links-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.quick-link{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:all .2s}.quick-link:hover{border-color:var(--teal);box-shadow:0 4px 12px #2aa6a61a;transform:translateY(-2px)}.quick-link i{font-size:1.5rem;color:var(--teal)}.quick-link span{font-size:.8125rem;font-weight:500;color:var(--ink);text-align:center}@media(max-width:900px){.workflow-type-selection-grid,.info-grid{grid-template-columns:1fr}.quick-links-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.workflow-setup-card{flex-direction:column;text-align:center}.workflow-setup-card .card-content{text-align:center}.workflow-setup-card .card-flow-steps{justify-content:center}.workflow-setup-card .card-action-arrow{display:none}.quick-links-grid{grid-template-columns:1fr}}.workflow-wizard{--bg: #ffffff;--bg-soft: #f8fafc;--ink: #0f172a;--muted: #64748b;--muted2: #94a3b8;--line: rgba(0, 0, 0, .08);--line2: rgba(0, 0, 0, .12);--teal: #0891b2;--purple: #7c3aed;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;min-height:100%;display:flex;flex-direction:column;background:var(--bg);padding:1.5rem;border-radius:16px;border:1px solid var(--line)}.wizard-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.wizard-header-right{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.wizard-quick-add{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.quick-add-label{font-size:.75rem;font-weight:700;color:var(--muted)}.quick-add-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;background:var(--bg-soft);border:1px solid var(--line2);border-radius:999px;color:var(--ink);cursor:pointer;transition:all .2s;font-size:.75rem;font-weight:600}.quick-add-btn:hover:not(:disabled){border-color:#0891b28c;box-shadow:0 4px 14px #0891b21f;transform:translateY(-1px)}.quick-add-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.quick-add-step{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--line2);color:var(--muted);font-size:.75rem;font-weight:800}.quick-add-text{white-space:nowrap}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-soft);border:1px solid var(--line2);border-radius:10px;color:var(--muted);font-size:.875rem;cursor:pointer;transition:all .2s}.btn-back:hover{background:#f1f5f9;color:var(--ink);border-color:var(--teal)}.workflow-type-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;color:#fff;font-size:.875rem;font-weight:600}.workflow-type-badge i{font-size:1rem}.wizard-steps-indicator{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:1.5rem;position:relative}.wizard-steps-indicator:before{content:"";position:absolute;top:16px;left:15%;right:15%;height:2px;background:var(--line);z-index:0}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1;flex:1;max-width:150px}.step-number{width:32px;height:32px;border-radius:50%;background:var(--bg);border:2px solid var(--line2);color:var(--muted);font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .3s}.step-indicator.active .step-number{background:linear-gradient(135deg,#0891b2,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 4px 12px #0891b24d}.step-indicator.completed .step-number{background:var(--success);border-color:transparent;color:#fff}.step-label{font-size:.75rem;color:var(--muted);text-align:center;white-space:nowrap}.step-indicator.active .step-label{color:var(--ink);font-weight:600}.step-indicator.completed .step-label{color:var(--success)}.selection-path{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#0891b214;border:1px solid rgba(8,145,178,.2);border-radius:10px;color:var(--teal);font-size:.875rem;margin-bottom:1.5rem}.selection-path i{color:var(--teal)}.error-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:var(--danger);font-size:.875rem;margin-bottom:1rem}.workflow-type-selection{text-align:center;padding:2rem 0}.selection-title{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:.5rem}.selection-title i{color:var(--teal)}.selection-subtitle{color:var(--muted);font-size:1rem;margin-bottom:2rem}.workflow-type-cards{display:flex;flex-direction:column;gap:1rem;max-width:600px;margin:0 auto}.workflow-type-card{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:var(--bg);border:2px solid var(--line);border-radius:16px;cursor:pointer;transition:all .3s;text-align:left}.workflow-type-card:hover{border-color:var(--accent-color);transform:translate(4px);box-shadow:0 8px 24px #00000014}.card-icon{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-icon i{font-size:1.75rem;color:#fff}.card-content{flex:1}.card-title{font-size:1.125rem;font-weight:700;color:var(--ink);margin-bottom:.25rem}.card-description{font-size:.875rem;color:var(--muted);margin-bottom:.75rem}.card-steps{display:flex;flex-wrap:wrap;gap:.5rem}.step-badge{padding:.25rem .625rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;font-size:.75rem;color:var(--muted);font-weight:500}.card-arrow{color:var(--muted2);font-size:1.5rem;transition:all .3s}.workflow-type-card:hover .card-arrow{color:var(--accent-color);transform:translate(4px)}.wizard-content,.wizard-step-content{flex:1;display:flex;flex-direction:column}.search-box{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;margin-bottom:1rem}.search-box:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #0891b21a}.search-box i{color:var(--muted);font-size:1rem}.search-box input{flex:1;background:transparent;border:none;color:var(--ink);font-size:.875rem;outline:none}.search-box input::placeholder{color:var(--muted2)}.selection-list{flex:1;display:flex;flex-direction:column;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;overflow:hidden}.list-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg);border-bottom:1px solid var(--line)}.list-header-right{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.list-label{font-size:.875rem;font-weight:600;color:var(--ink)}.list-count{font-size:.75rem;color:var(--muted)}.list-items{flex:1;overflow-y:auto;padding:.5rem;max-height:400px;background:var(--bg)}.list-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;border-radius:10px;cursor:pointer;transition:all .2s;margin-bottom:.25rem;border:1px solid transparent}.list-item:hover{background:var(--bg-soft);border-color:var(--line)}.list-item.selected{background:#0891b214;border:1px solid rgba(8,145,178,.3)}.item-icon{width:42px;height:42px;border-radius:12px;background:var(--bg-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0}.item-icon i{font-size:1.125rem;color:var(--muted)}.list-item.selected .item-icon{background:#0891b21a;border-color:#0891b24d}.list-item.selected .item-icon i{color:var(--teal)}.item-content{flex:1;min-width:0}.item-name{font-size:.9375rem;font-weight:600;color:var(--ink);margin-bottom:.25rem}.item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--muted)}.item-code,.item-subtitle{color:var(--muted)}.item-type{padding:.125rem .5rem;background:#7c3aed1a;color:var(--purple);border-radius:6px;font-weight:500}.item-location{display:flex;align-items:center;gap:.25rem}.item-count{color:var(--muted)}.item-arrow{color:var(--muted2);transition:transform .2s}.list-item:hover .item-arrow{color:var(--muted);transform:translate(2px)}.status-badge{padding:.125rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-badge.active,.status-badge.in_progress{background:#10b9811f;color:#059669}.status-badge.planned,.status-badge.pending{background:#f59e0b1f;color:#d97706}.status-badge.completed{background:#3b82f61f;color:#2563eb}.status-badge.on_hold{background:#ef44441f;color:#dc2626}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--muted)}.loading-state .spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--muted);text-align:center}.empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.4}.empty-state p{font-size:.9375rem;margin-bottom:1rem}.btn-create{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#0891b2,#0e7490);border:none;border-radius:10px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-create:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0891b240}.btn-create.btn-create-sm{padding:.4rem .75rem;border-radius:999px;font-size:.75rem}.wizard-modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.wizard-modal{width:min(560px,100%);background:var(--bg);border-radius:16px;border:1px solid var(--line);box-shadow:0 24px 60px #00000040;overflow:hidden}.wizard-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}.wizard-modal-header h3{margin:0;font-size:1rem;color:var(--ink);font-weight:800}.wizard-modal-close{background:none;border:none;cursor:pointer;color:var(--muted);padding:.25rem}.wizard-modal-close:hover{color:var(--ink)}.wizard-modal-body{padding:1rem 1.25rem}.wizard-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.9rem 1.25rem;border-top:1px solid var(--line);background:var(--bg-soft)}.wizard-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--muted);font-weight:700;cursor:pointer;transition:all .2s}.wizard-btn-secondary:hover:not(:disabled){border-color:#0891b259;color:var(--ink)}.wizard-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.wizard-modal-error{display:flex;align-items:center;gap:.5rem;padding:.75rem .9rem;border-radius:12px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:var(--danger);font-size:.875rem;margin-bottom:1rem}.wizard-form-row{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.wizard-form-row label{font-size:.8125rem;color:var(--muted);font-weight:700}.wizard-form-row input,.wizard-form-row textarea{padding:.65rem .75rem;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--ink);font-size:.875rem;outline:none}.wizard-form-row textarea{min-height:88px;resize:vertical}.wizard-form-row input:focus,.wizard-form-row textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0891b21a}.required{color:var(--danger);margin-left:.25rem}.wizard-hint{margin-top:.5rem;padding:.75rem .85rem;border-radius:12px;border:1px dashed var(--line2);background:var(--bg-soft);color:var(--muted);font-size:.75rem;line-height:1.4}.package-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;padding:1rem;background:var(--bg)}.package-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;background:var(--bg);border:2px solid var(--line);border-radius:14px;cursor:pointer;transition:all .2s;text-align:center}.package-card:hover{border-color:var(--purple);transform:translateY(-2px);box-shadow:0 8px 20px #7c3aed1a}.package-card.selected{background:#7c3aed0f;border-color:var(--purple);box-shadow:0 4px 16px #7c3aed26}.package-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#7c3aed,#5b21b6);display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.package-icon i{font-size:1.5rem;color:#fff}.package-name{font-size:.875rem;font-weight:700;color:var(--ink);margin-bottom:.25rem}.package-description{font-size:.75rem;color:var(--muted);line-height:1.4}.config-summary{padding:1.5rem}.config-summary h4{font-size:1.125rem;font-weight:700;color:var(--ink);margin-bottom:1rem}.summary-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:1.5rem}.summary-row{display:flex;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid var(--line)}.summary-row:last-child{border-bottom:none}.summary-row .label{color:var(--muted);font-size:.875rem}.summary-row .value{color:var(--ink);font-size:.875rem;font-weight:600}.config-options{margin-bottom:1.5rem}.config-note{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:10px;color:#b45309;font-size:.875rem;line-height:1.5}.config-note i{flex-shrink:0;margin-top:.125rem;color:var(--warning)}.btn-complete{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-complete:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10b98140}@media(max-width:768px){.workflow-wizard{padding:1rem}.quick-add-label{display:none}.quick-add-btn{padding:.3rem .5rem}.quick-add-text{font-size:.7rem}.wizard-steps-indicator{flex-wrap:wrap;gap:.5rem}.wizard-steps-indicator:before{display:none}.step-indicator{flex:0 0 auto}.step-label{font-size:.625rem}.workflow-type-card{flex-direction:column;text-align:center}.card-content{text-align:center}.card-steps{justify-content:center}.card-arrow{display:none}.package-grid{grid-template-columns:repeat(2,1fr)}}.analysis-page{min-height:100vh;background:var(--bg);color:var(--text)}.analysis-main{padding:24px;max-width:1200px;margin:0 auto}.analysis-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.analysis-header-left{display:flex;align-items:flex-start;gap:12px}.analysis-title h1{margin:0;font-size:22px;font-weight:800}.analysis-title p{margin:6px 0 0;color:var(--muted);font-size:13px}.analysis-back-btn{border:1px solid var(--border);background:transparent;color:var(--text);padding:8px 10px;border-radius:10px;cursor:pointer}.analysis-back-btn:hover{background:#ffffff0a}.analysis-card{border:1px solid var(--border);background:#ffffff05;border-radius:14px;padding:14px}.analysis-card h3{margin:0 0 10px;font-size:15px;font-weight:800}.analysis-row{display:flex;gap:14px;flex-wrap:wrap}.analysis-col{flex:1;min-width:280px}.analysis-error{margin:12px 0;padding:10px 12px;border-radius:12px;border:1px solid rgba(239,68,68,.4);background:#ef444414;color:#fecaca;display:flex;align-items:center;gap:8px}.analysis-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.analysis-actions input[type=file]{max-width:320px}.analysis-btn-primary{background:var(--primary);color:#fff;border:none;padding:10px 12px;border-radius:10px;font-weight:700;cursor:pointer}.analysis-btn-primary:disabled{opacity:.6;cursor:not-allowed}.analysis-btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);padding:8px 14px;border-radius:10px;font-weight:600;cursor:pointer;font-size:13px;transition:all .2s ease}.analysis-btn-secondary:hover{background:#7c3aed14;border-color:var(--primary);color:var(--primary)}.analysis-table{width:100%;border-collapse:collapse;margin-top:10px}.analysis-table th,.analysis-table td{text-align:left;padding:10px;border-bottom:1px solid var(--border);vertical-align:top;font-size:13px}.analysis-table th{color:var(--muted);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.analysis-file-name{display:flex;gap:8px;align-items:center;font-weight:700}.analysis-action-btn{border:1px solid var(--border);background:transparent;color:var(--text);padding:6px 8px;border-radius:10px;cursor:pointer;margin-right:6px}.analysis-action-btn.delete{border-color:#ef444466;color:#fecaca}.analysis-action-btn:hover{background:#ffffff0a}.analysis-results{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.results-summary{animation:fadeIn .4s ease-out}.validation-issues{animation:fadeIn .3s ease-out}.analysis-table input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.analysis-table tr:hover{background:#ffffff05}.quick-analysis-card{border:1px dashed var(--border);background:#0891b208}.analysis-btn-primary:not(:disabled):hover{box-shadow:0 4px 20px #7c3aed4d;transform:translateY(-1px);transition:all .2s ease}.domain-results-list,.dataset-results-list,.tfl-results-list{max-height:500px;overflow-y:auto}.validation-status-passed{background:#0596691a;color:#059669;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.validation-status-failed{background:#dc26261a;color:#dc2626;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.validation-status-warning{background:#d977061a;color:#d97706;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.domain-card,.dataset-card{transition:border-color .2s ease}.domain-card:hover,.dataset-card:hover{border-color:var(--primary)}.analysis-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;margin-right:8px}@media(max-width:768px){.analysis-row{flex-direction:column}.analysis-col{min-width:100%}.results-summary{grid-template-columns:repeat(2,1fr)!important}}.study-page{--bg: #ffffff;--bg-soft: #f8fafc;--ink: #0f172a;--muted: #64748b;--muted2: #94a3b8;--line: rgba(0, 0, 0, .08);--line2: rgba(0, 0, 0, .12);--teal: #0891b2;--purple: #7c3aed;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;min-height:100vh;display:flex;flex-direction:column;background:var(--bg-soft);color:var(--ink)}.study-nav{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg);border-bottom:1px solid var(--line)}.nav-icon{width:40px;height:40px;border-radius:10px;background:var(--bg-soft);border:1px solid var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.nav-icon:hover{background:#f1f5f9;color:var(--ink);border-color:var(--teal)}.nav-icon:disabled{opacity:.4;cursor:not-allowed}.study-main{flex:1;padding:1.5rem;max-width:1200px;margin:0 auto;width:100%}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:var(--muted)}.loading-state .spinner{width:48px;height:48px;border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:12px;color:var(--danger);font-size:.875rem;margin-bottom:1.5rem}.error-banner i{color:var(--danger)}.error-banner button{margin-left:auto;background:none;border:none;color:var(--danger);cursor:pointer;padding:.25rem}.study-dashboard{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.workflows-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0 2rem}.workflows-header h1{font-size:1.75rem;font-weight:800;color:var(--ink);margin:0}.add-new-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:12px;color:#fff;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .2s}.add-new-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #7c3aed4d}.add-new-btn i{font-size:1rem}.workflow-type-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2.5rem}.workflow-type-card{position:relative;padding:1.75rem;background:var(--bg);border-radius:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;border:2px solid transparent}.workflow-type-card:before{content:"";position:absolute;inset:0;border-radius:20px;padding:2px;background:linear-gradient(135deg,var(--accent-start),var(--accent-end));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.3;transition:opacity .3s}.workflow-type-card:hover:before{opacity:1}.workflow-type-card.data-collection{--accent-start: #0891b2;--accent-end: #06b6d4}.workflow-type-card.analysis-submission{--accent-start: #7c3aed;--accent-end: #a855f7}.workflow-type-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.workflow-type-card .card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.workflow-type-card .card-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center}.workflow-type-card.data-collection .card-icon{background:linear-gradient(135deg,#0891b2,#06b6d4)}.workflow-type-card.analysis-submission .card-icon{background:linear-gradient(135deg,#7c3aed,#a855f7)}.workflow-type-card .card-icon i{font-size:1.75rem;color:#fff}.workflow-type-card .card-badge{padding:.375rem .75rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:20px;font-size:.75rem;color:var(--muted);font-weight:500}.workflow-type-card .card-title{font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:.5rem}.workflow-type-card .card-description{font-size:.875rem;color:var(--muted);margin-bottom:1rem;line-height:1.5}.workflow-type-card .card-flow{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.75rem;color:var(--muted);flex-wrap:wrap}.workflow-type-card .card-flow span{padding:.25rem .625rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;color:var(--muted);font-weight:500}.workflow-type-card .card-flow i{font-size:.625rem;color:var(--muted2)}.workflow-type-card .card-action{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:12px;border:none;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.workflow-type-card.data-collection .card-action{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.workflow-type-card.analysis-submission .card-action{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}.workflow-type-card .card-action:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.section-divider{display:flex;align-items:center;gap:1rem;margin:2rem 0 1.5rem}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.section-divider span{color:var(--muted);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.workflow-cards-section{margin-bottom:2rem}.workflow-cards-section .section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.workflow-cards-section .section-header h3{font-size:1rem;font-weight:700;color:var(--ink)}.section-count{padding:.25rem .625rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;font-size:.75rem;color:var(--muted);font-weight:500}.workflow-cards-list{display:flex;flex-direction:column;gap:.75rem}.workflow-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:all .2s}.workflow-card:hover{border-color:var(--line2);transform:translate(4px);box-shadow:0 4px 12px #0000000f}.workflow-card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.workflow-card.data_collection .workflow-card-icon{background:#0891b21a;color:var(--teal)}.workflow-card.analysis_submission .workflow-card-icon{background:#7c3aed1a;color:var(--purple)}.workflow-card-icon i{font-size:1.25rem}.workflow-card-content{flex:1;min-width:0}.workflow-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.workflow-card-name{font-size:.9375rem;font-weight:600;color:var(--ink)}.workflow-card-type{padding:.125rem .5rem;border-radius:10px;font-size:.625rem;font-weight:700;text-transform:uppercase}.workflow-card-type.data_collection{background:#0891b21a;color:var(--teal)}.workflow-card-type.analysis_submission{background:#7c3aed1a;color:var(--purple)}.workflow-card-path{font-size:.75rem;color:var(--muted);margin-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.workflow-card-meta{display:flex;align-items:center;gap:.75rem;flex:1}.workflow-card-meta .meta-item{display:flex;align-items:center;gap:.25rem;font-size:.625rem;color:var(--muted)}.workflow-card-meta .meta-item i{font-size:.625rem}.workflow-card-progress{display:flex;align-items:center;gap:.5rem;flex:1}.progress-bar{flex:1;height:4px;background:var(--line);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:2px;transition:width .3s ease-out}.progress-text{font-size:.625rem;color:var(--muted);width:28px;text-align:right;font-weight:600}.workflow-card-status{padding:.125rem .5rem;border-radius:10px;font-size:.625rem;font-weight:700;text-transform:uppercase}.workflow-card-status.active{background:#10b9811a;color:#059669}.workflow-card-status.draft{background:#f59e0b1a;color:#d97706}.workflow-card-status.completed{background:#3b82f61a;color:#2563eb}.workflow-card-status.archived{background:var(--bg-soft);color:var(--muted)}.favorite-btn{width:36px;height:36px;border-radius:10px;background:transparent;border:1px solid transparent;color:var(--muted2);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.favorite-btn:hover{background:var(--bg-soft);color:var(--warning)}.favorite-btn.active{color:var(--warning)}.favorite-btn.active i{animation:pop .3s ease-out}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.empty-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:var(--bg);border:2px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center}.empty-section i{font-size:2.5rem;margin-bottom:.75rem;opacity:.4}.empty-section p{font-size:.875rem}@media(max-width:768px){.workflow-type-cards-grid{grid-template-columns:1fr;gap:1rem}.dashboard-hero h1{font-size:1.5rem}.workflow-type-card{padding:1.25rem}.workflow-type-card .card-icon{width:48px;height:48px}.workflow-type-card .card-icon i{font-size:1.5rem}.workflow-card{flex-wrap:wrap}.workflow-card-content{flex:1 1 calc(100% - 60px)}.favorite-btn{position:absolute;top:.5rem;right:.5rem}.workflow-card{position:relative;padding-right:3rem}}.wizard-steps{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;background:var(--bg-soft);border-bottom:1px solid var(--line);gap:0}.wizard-steps .step{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;color:var(--muted);position:relative}.wizard-steps .step:after{content:"";position:absolute;right:-12px;width:24px;height:1px;background:var(--line)}.wizard-steps .step:last-of-type:after{display:none}.wizard-steps .step.active{color:var(--teal);font-weight:600}.wizard-steps .step.completed{color:var(--success)}.wizard-steps .favorite-icon{margin-left:1rem;color:var(--muted);cursor:pointer;transition:color .2s}.wizard-steps .favorite-icon:hover{color:var(--warning)}.wizard-content{padding:1.5rem}.divider{height:1px;background:var(--line);margin:1rem 0}.info-text{text-align:center;color:var(--muted);font-size:.875rem;margin-bottom:1rem}.wizard-actions{display:flex;justify-content:center;gap:1rem}.btn-next{padding:.75rem 2rem;background:linear-gradient(135deg,#0891b2,#0e7490);border:none;border-radius:12px;color:#fff;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-next:disabled{opacity:.5;cursor:not-allowed}.btn-next:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 20px #0891b240}.farma-notes-app{display:flex;flex-direction:column;min-height:100vh;background:#f5f7fa}.notes-main-spreadsheet{flex:1;padding:0;margin:0;width:100%;background:#fff}.notes-header-spreadsheet{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;background:#fff;border-bottom:2px solid #e0e0e0}.header-left{display:flex;align-items:center;gap:15px}.back-btn{background:transparent;border:none;font-size:20px;color:#666;cursor:pointer;padding:5px;transition:color .2s}.back-btn:hover{color:#5faeb0}.notes-header-spreadsheet h1{font-size:18px;font-weight:600;color:#333;margin:0}.btn-add-note{background:#5faeb0;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-add-note:hover{background:#4e9a9c}.spreadsheet-container{width:100%;overflow-x:auto;background:#fff}.spreadsheet-table{width:100%;border-collapse:collapse;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;background:#fff}.spreadsheet-table thead{background:#5faeb0;color:#fff;position:sticky;top:0;z-index:10}.spreadsheet-table thead th{padding:12px 15px;text-align:center;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-right:1px solid rgba(255,255,255,.3);border-bottom:2px solid #4e9a9c;line-height:1.3}.spreadsheet-table thead th:last-child{border-right:none}.col-comment{width:120px;min-width:120px}.col-notes-wide{width:auto;min-width:500px}.col-delete-icon{width:80px;min-width:80px}.col-priority-check{width:150px;min-width:150px}.spreadsheet-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background .15s}.spreadsheet-table tbody tr:hover{background:#f8f9fa}.spreadsheet-table tbody tr.priority-row{background:#fffbeb}.spreadsheet-table tbody tr.priority-row:hover{background:#fef3c7}.spreadsheet-table tbody td{padding:0;vertical-align:middle;border-right:1px solid #e0e0e0;height:60px}.spreadsheet-table tbody td:last-child{border-right:none}.comment-btn{background:#5faeb0;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;margin:0 auto;display:block}.comment-btn:hover{background:#4e9a9c;transform:scale(1.05)}.col-notes-wide{cursor:text;padding:0!important}.cell-content{padding:12px 15px;min-height:60px;display:flex;align-items:center;color:#000;line-height:1.5;white-space:pre-wrap;word-break:break-word;font-weight:400}.cell-content:empty:before{content:"(Click to edit)";color:#999;font-style:italic}.cell-editor{width:100%;height:100%;min-height:60px;padding:12px 15px;border:2px solid #5FAeb0;font-family:inherit;font-size:14px;color:#000;resize:vertical;outline:none;background:#fffef7;box-sizing:border-box}.cell-editor:focus{background:#fff;box-shadow:inset 0 0 0 2px #5faeb0}.cell-editor::placeholder{color:#999;font-style:italic}.col-delete-icon{text-align:center;vertical-align:middle}.delete-icon-btn{background:transparent;border:none;color:#ef4444;font-size:20px;cursor:pointer;padding:10px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.delete-icon-btn:hover{color:#dc2626;transform:scale(1.3);background:#ef44441a;border-radius:4px}.delete-icon-btn:disabled{color:#d1d5db;cursor:not-allowed;opacity:.3}.delete-icon-btn:disabled:hover{transform:none;background:transparent}.col-priority-check{text-align:center;vertical-align:middle}.priority-checkbox-input{width:22px;height:22px;cursor:pointer;accent-color:#5FAeb0;display:inline-block;margin:0;vertical-align:middle}.priority-checkbox-input:hover{transform:scale(1.1)}.empty-cell{text-align:center;padding:80px 20px!important;background:#fafafa}.empty-message{display:flex;flex-direction:column;align-items:center;gap:15px;color:#999}.empty-message i{font-size:48px;color:#ddd}.empty-message p{font-size:16px;margin:0 0 20px;color:#666}.btn-add-note-large{background:#5faeb0;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;margin:0 auto}.btn-add-note-large:hover{background:#4e9a9c;transform:translateY(-2px);box-shadow:0 4px 12px #5faeb04d}.new-row{background:#fafafa;border-top:2px dashed #d0d0d0}.new-row:hover{background:#f0f0f0}.editing-row{background:#fffef7}.empty-cell-hint{color:#999;font-style:italic;cursor:pointer;font-weight:400}.empty-cell-hint:hover{color:#5faeb0;background:#f8f9fa}.empty-message-row{background:#fafafa;padding:20px!important;text-align:center}.empty-hint{display:flex;flex-direction:column;align-items:center;gap:10px;color:#999;padding:20px}.empty-hint i{font-size:32px;color:#5faeb0;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-hint p{margin:0;font-size:14px;color:#666}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:15px}.loading-spinner{width:40px;height:40px;border:4px solid #f0f0f0;border-top-color:#5faeb0;border-radius:50%;animation:spin .8s linear infinite}.loading-state p{color:#666;font-size:14px;margin:0}.spreadsheet-container::-webkit-scrollbar{height:12px}.spreadsheet-container::-webkit-scrollbar-track{background:#f1f1f1}.spreadsheet-container::-webkit-scrollbar-thumb{background:#5faeb0;border-radius:6px}.spreadsheet-container::-webkit-scrollbar-thumb:hover{background:#4e9a9c}@media(max-width:1200px){.col-notes-wide{min-width:400px}}@media(max-width:768px){.notes-header-spreadsheet{flex-direction:column;align-items:flex-start;gap:10px}.spreadsheet-table{font-size:12px}.spreadsheet-table thead th{padding:10px 8px;font-size:10px}.col-comment{width:80px;min-width:80px}.col-notes-wide{min-width:250px}.col-delete-icon{width:60px;min-width:60px}.col-priority-check{width:100px;min-width:100px}.comment-btn{padding:4px 8px;font-size:10px}}@media print{.notes-header-spreadsheet,.back-btn,.btn-add-note{display:none}.spreadsheet-table{border:1px solid #000}.spreadsheet-table thead{background:#5faeb0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}body:has(.cloud-storage-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;justify-content:initial!important;align-items:initial!important;min-height:100vh!important}.cloud-storage-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r16: 16px;--r18: 18px;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b}.cloud-storage-app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.storage-main{flex:1;padding:24px 32px;width:100%}.storage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.storage-header h1{font-size:28px;font-weight:700;margin:0;display:flex;align-items:center;gap:12px;color:var(--ink)}.storage-header h1 i{color:var(--blue);font-size:26px}.storage-header .subtitle{color:var(--muted);font-size:14px;margin:4px 0 0}.storage-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:0}.tab{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;border:none;background:none;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.15s ease}.tab.active{color:var(--teal);border-bottom-color:var(--teal)}.tab .count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;background:var(--line);color:var(--muted);border-radius:11px}.tab.active .count{background:#2aa6a61f;color:var(--teal)}.storage-content{min-height:400px}.connections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.connection-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r16);padding:20px;transition:.2s ease}.connection-card:hover{border-color:var(--blue);box-shadow:var(--shadow)}.connection-card.default{border-color:var(--teal);background:linear-gradient(180deg,rgba(42,166,166,.04) 0%,var(--panel) 100%)}.connection-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}.provider-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--blue),#5a8fff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.connection-info{flex:1;min-width:0}.connection-info h3{font-size:16px;font-weight:700;margin:0 0 4px;color:var(--ink)}.provider-name{font-size:13px;color:var(--muted)}.default-badge{padding:4px 10px;font-size:11px;font-weight:700;background:#2aa6a61f;color:var(--teal);border-radius:20px;text-transform:uppercase;letter-spacing:.03em}.connection-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.detail{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.detail i{color:var(--muted2);width:16px}.connection-status{margin-bottom:16px}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;border-radius:20px}.status-badge.active{background:#22c55e1f;color:#16a34a}.status-badge.inactive{background:#ef44441f;color:var(--danger)}.connection-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--line)}.action-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}.action-btn:hover:not(:disabled){background:var(--panelSoft);border-color:var(--teal);color:var(--teal)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.folder-filter{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panelSoft);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;font-size:14px;color:var(--muted)}.clear-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;border:none;background:none;color:var(--teal);cursor:pointer}.clear-btn:hover{text-decoration:underline}.folders-list{background:var(--panel);border:1px solid var(--line);border-radius:var(--r16);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:14px 16px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--panelSoft);border-bottom:1px solid var(--line)}.data-table td{padding:14px 16px;font-size:14px;border-bottom:1px solid var(--line)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background:var(--panelSoft)}.folder-name{display:flex;align-items:center;gap:10px;font-weight:600}.folder-name i{color:var(--warning)}.path-cell{font-family:monospace;font-size:13px;color:var(--muted)}.modal-content.wizard-modal{max-width:1200px}.modal-content.wizard-modal .modal-body{padding:0}.modal-header h3 i{color:var(--blue)}.form-group input,.form-group select{width:100%;padding:10px 14px;font-size:14px;border:1px solid var(--line2);border-radius:12px;background:var(--bg);color:var(--ink);transition:.15s ease}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.checkbox-label input{width:18px!important;height:18px;accent-color:var(--teal)}@media(max-width:768px){.storage-main{padding:16px}.storage-header{flex-direction:column}.connections-grid,.form-row{grid-template-columns:1fr}.data-table{display:block;overflow-x:auto}}.cloud-storage-app .dashboard-footer{border-top:1px solid var(--line);padding:12px 16px;color:var(--muted2);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;margin-top:auto}body:has(.tasks-hub-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.tasks-hub-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r16: 16px;--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.tasks-hub-main{flex:1;padding:24px 32px;width:100%;display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start}.tasks-hub-nav{display:flex;flex-direction:column;gap:10px}.tasks-hub-content{width:100%;display:flex;justify-content:center}.center-card{width:min(720px,100%);border:1px solid var(--line2);border-radius:var(--r18);background:var(--panel);box-shadow:var(--shadow);padding:22px}.selection-title{font-weight:700;color:var(--muted);padding:10px 12px;border:1px solid var(--line2);border-radius:12px;background:var(--panelSoft);margin-bottom:18px}.choice-list{display:grid;gap:12px}.choice-item{width:100%;padding:14px;border-radius:12px;border:1px solid var(--line2);background:#fff;text-align:left;color:var(--ink);cursor:pointer;transition:.15s ease;font-weight:650}.choice-item:hover{border-color:#2f6fff59;box-shadow:0 6px 18px #2f6fff1a;transform:translateY(-1px)}.choice-item.subtle{font-weight:600;color:var(--muted);background:var(--panelSoft)}.wizard-shell{width:min(980px,100%);border:1px solid var(--line2);border-radius:var(--r18);background:var(--panel);box-shadow:var(--shadow);padding:18px}.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.step-pill{width:100%;padding:8px 10px;border:1px solid var(--line2);border-radius:10px;background:var(--panelSoft);color:var(--muted);font-weight:650;font-size:13px;text-align:center}.step.active .step-pill{background:#2f6fff1a;color:var(--ink);border-color:#2f6fff4d}.step.completed .step-pill{background:#2aa6a61a;border-color:#2aa6a647}.wizard-breadcrumb{display:flex;justify-content:center;margin:10px 0 14px}.crumb{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line2);border-radius:12px;background:var(--panelSoft);color:var(--muted);font-weight:650}.wizard-search{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line2);border-radius:12px;background:#fff;margin-bottom:12px}.wizard-search input{border:none;outline:none;width:100%;font-size:14px}.wizard-list{border:1px solid var(--line2);border-radius:12px;padding:10px;min-height:280px;background:#fff}.list-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border-radius:10px;border:1px solid transparent;background:transparent;text-align:left;cursor:pointer;transition:.12s ease}.list-row:hover{background:#2aa6a60f;border-color:#2aa6a62e}.list-row.selected{background:#2f6fff14;border-color:#2f6fff38}.row-main{font-weight:700;color:var(--ink)}.row-sub{font-weight:650;color:var(--muted2);white-space:nowrap}.wizard-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.btn-primary,.btn-secondary{border-radius:12px;padding:10px 14px;border:1px solid var(--line2);background:#fff;cursor:pointer;font-weight:700}.error-banner{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(239,68,68,.25);background:#ef44440f;border-radius:12px;color:#b42318;margin-bottom:12px}.spinner.small{width:18px;height:18px;border-width:3px}.assign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}.assign-field label{display:block;font-size:12px;color:var(--muted);font-weight:750;margin-bottom:6px}.assign-field input,.assign-field select{width:100%;padding:10px;border-radius:12px;border:1px solid var(--line2);background:#fff;outline:none}.assign-users{margin-top:14px;border:1px solid var(--line2);border-radius:12px;background:#fff;padding:12px}.assign-users-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.assign-users-title{font-weight:800;color:var(--ink)}.assign-users-meta{color:var(--muted2);font-weight:650;font-size:12px}.assign-users-search{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line2);border-radius:12px;background:var(--panelSoft);margin-bottom:10px}.assign-users-search input{width:100%;border:none;background:transparent;outline:none}.users-list{max-height:260px;overflow:auto;display:grid;gap:8px}.user-row{display:grid;grid-template-columns:18px 1fr 1fr;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff}.user-name{font-weight:700;color:var(--ink)}.user-email{color:var(--muted2);font-weight:600;text-align:right}.hint{color:var(--muted);font-size:13px;padding:10px 4px}.hint.danger{color:#b42318}.loading-inline{display:flex;align-items:center;gap:10px;color:var(--muted);padding:8px 0}.success-shell{border:1px solid var(--line2);border-radius:12px;background:#fff;padding:14px}.success-banner{padding:12px;border-radius:10px;border:1px solid rgba(34,197,94,.25);background:#22c55e1a;color:#166534;font-weight:800;text-align:center}.success-body{margin-top:12px}.success-title{color:var(--muted);font-weight:800;margin-bottom:8px}.email-list{list-style:none;padding:0;margin:0;display:grid;gap:6px;color:var(--ink);font-weight:650}.my-shell{width:min(980px,100%);border:1px solid var(--line2);border-radius:var(--r18);background:var(--panel);box-shadow:var(--shadow);padding:18px}.my-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:12px}.my-head h2{margin:0}.muted{color:var(--muted);margin-top:4px}.my-table-wrap{border:1px solid var(--line2);border-radius:12px;overflow:hidden;background:#fff}.my-table{width:100%;border-collapse:collapse}.my-table th,.my-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.my-title{font-weight:800;color:var(--ink)}.my-sub{font-size:12px;color:var(--muted2);margin-top:2px}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--line2);font-weight:750;font-size:12px}.badge.ok{background:#22c55e1a;border-color:#22c55e40;color:#166534}.badge.warn{background:#f59e0b1a;border-color:#f59e0b40;color:#7a4a00}.td-right{text-align:right}.empty-state{padding:30px 0;text-align:center;color:var(--muted)}@media(max-width:860px){.tasks-hub-main{grid-template-columns:1fr}.tasks-hub-nav{flex-direction:row}.assign-grid{grid-template-columns:1fr}.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}body:has(.tasks-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;justify-content:initial!important;align-items:initial!important;min-height:100vh!important}.tasks-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r16: 16px;--r18: 18px;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b}.tasks-app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.tasks-main{flex:1;padding:24px 32px;width:100%}.tasks-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.tasks-header h1{font-size:28px;font-weight:700;margin:0;display:flex;align-items:center;gap:12px;color:var(--ink)}.tasks-header h1 i{color:var(--teal);font-size:26px}.tasks-header .subtitle{color:var(--muted);font-size:14px;margin:4px 0 0}.tasks-filters{display:flex;align-items:flex-end;gap:16px;margin-bottom:24px;padding:16px 20px;background:var(--panelSoft);border:1px solid var(--line);border-radius:var(--r16);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.filter-group select{padding:8px 12px;font-size:14px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--ink);min-width:150px}.filter-group select:focus{outline:none;border-color:var(--teal)}.clear-filters{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;border:none;background:none;color:var(--danger);cursor:pointer}.clear-filters:hover{text-decoration:underline}.tasks-content{min-height:400px}.tasks-table-wrapper{background:var(--panel);border:1px solid var(--line);border-radius:var(--r16);overflow:hidden}.tasks-table{width:100%;border-collapse:collapse}.tasks-table th{text-align:left;padding:14px 16px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--panelSoft);border-bottom:1px solid var(--line)}.tasks-table td{padding:14px 16px;font-size:14px;border-bottom:1px solid var(--line)}.tasks-table tr:last-child td{border-bottom:none}.tasks-table tr:hover{background:var(--panelSoft)}.tasks-table tr.overdue{background:#ef44440d}.tasks-table tr.overdue:hover{background:#ef444414}.task-name{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink);cursor:pointer}.task-name:hover{color:var(--teal)}.urgency-badge{padding:2px 8px;font-size:10px;font-weight:700;border-radius:10px;text-transform:uppercase}.urgency-badge.overdue{background:#ef444426;color:var(--danger)}.urgency-badge.due-today{background:#f59e0b26;color:#d97706}.urgency-badge.due-soon{background:#3b82f626;color:#2563eb}.priority-badge,.status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;color:#fff;border-radius:12px;text-transform:uppercase;letter-spacing:.03em}.action-btns{display:flex;gap:6px}.action-btn.complete:hover{background:#22c55e1a;border-color:var(--success);color:var(--success)}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px}.pagination button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--ink);cursor:pointer;transition:.15s ease}.pagination button:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.page-info{font-size:14px;color:var(--muted)}.empty-state i{font-size:56px;margin-bottom:20px;opacity:.4;color:var(--teal)}.empty-state p{margin:0 0 24px;font-size:14px}.modal-content{background:var(--panel);border-radius:var(--r18);width:100%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-content.detail-modal{max-width:600px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line)}.modal-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700}.modal-close{width:36px;height:36px;border-radius:10px;border:none;background:var(--panelSoft);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}.modal-close:hover{background:var(--line);color:var(--ink)}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid var(--line);background:var(--panelSoft)}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px}.form-group .required{color:var(--danger)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;font-size:14px;border:1px solid var(--line2);border-radius:12px;background:var(--bg);color:var(--ink);transition:.15s ease;font-family:inherit}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #2aa6a626}.form-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border-radius:10px;color:var(--danger);font-size:13px;margin-bottom:18px}.task-detail-header{margin-bottom:20px}.task-detail-header h2{font-size:22px;font-weight:700;margin:0 0 12px}.task-badges{display:flex;gap:10px}.task-description{margin-bottom:20px;padding:16px;background:var(--panelSoft);border-radius:12px}.task-description h4{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.03em}.task-description p{margin:0;font-size:14px;line-height:1.6}.task-meta{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.meta-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.meta-item i{color:var(--muted2);width:16px}.status-actions{margin-bottom:24px;padding:16px;background:var(--panelSoft);border-radius:12px}.status-actions h4{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.03em}.status-buttons{display:flex;gap:8px;flex-wrap:wrap}.status-btn{padding:8px 14px;font-size:12px;font-weight:600;border:2px solid;border-radius:10px;background:transparent;cursor:pointer;transition:.15s ease}.status-btn:hover{opacity:.85}.status-btn.active{color:#fff!important}.task-comments h4{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.03em}.comment-input{display:flex;gap:10px;margin-bottom:16px}.comment-input input{flex:1;padding:10px 14px;font-size:14px;border:1px solid var(--line2);border-radius:10px;background:var(--bg)}.comment-input input:focus{outline:none;border-color:var(--teal)}.comment-input button{width:40px;height:40px;border-radius:10px;border:none;background:var(--teal);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}.comment-input button:hover:not(:disabled){background:#25918e}.comment-input button:disabled{opacity:.5;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:12px;max-height:200px;overflow-y:auto}.comment-item{padding:12px 16px;background:var(--panelSoft);border-radius:10px}.comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.comment-author{font-size:13px;font-weight:600;color:var(--ink)}.comment-date{font-size:11px;color:var(--muted2)}.comment-item p{margin:0;font-size:14px;line-height:1.5}.no-comments{font-size:14px;color:var(--muted2);font-style:italic}@media(max-width:768px){.tasks-main{padding:16px}.tasks-header{flex-direction:column}.tasks-filters{flex-direction:column;align-items:stretch}.filter-group select{width:100%}.form-row{grid-template-columns:1fr}.tasks-table{display:block;overflow-x:auto}}.tasks-app .dashboard-footer{border-top:1px solid var(--line);padding:12px 16px;color:var(--muted2);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;margin-top:auto}body:has(.review-task-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.review-task-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r16: 16px;--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.review-task-main{flex:1;padding:24px 32px;width:100%;display:grid;grid-template-columns:64px 1fr;gap:18px}.review-task-nav{display:flex;flex-direction:column;gap:10px}.review-task-layout{width:100%;display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}.card{border:1px solid var(--line2);border-radius:var(--r18);background:var(--panel);box-shadow:var(--shadow);padding:16px}.banner{padding:12px;border-radius:14px;border:1px solid var(--line2);background:var(--panelSoft);text-align:center}.banner-title{font-weight:900;color:var(--ink)}.banner-sub{margin-top:6px;color:var(--muted);font-weight:650}.section-title{margin-top:14px;margin-bottom:10px;font-weight:900;color:var(--muted)}.user-list{display:grid;gap:10px}.user-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line2);border-radius:14px;background:#fff}.user-name{font-weight:800;color:var(--ink)}.user-sub{font-size:12px;color:var(--muted2);margin-top:2px}.user-right{display:inline-flex;align-items:center;gap:10px}.status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line2);font-weight:800;font-size:12px;color:var(--muted);background:var(--panelSoft)}.status.warn{background:#f59e0b1a;border-color:#f59e0b40;color:#7a4a00}.icon-danger{border:none;background:transparent;color:#b42318;cursor:pointer;padding:6px}.side-actions{display:grid;gap:10px}.side-btn{width:100%;border-radius:12px;padding:12px;border:1px solid var(--line2);background:#2aa6a61f;color:var(--ink);font-weight:850;cursor:pointer;transition:.15s ease}.side-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #2aa6a61f}.side-btn:disabled{opacity:.6;cursor:not-allowed}.panel{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px}.panel-title{font-weight:900;color:var(--muted);margin-bottom:8px}.row{display:flex;gap:8px}.row input{flex:1;padding:10px;border:1px solid var(--line2);border-radius:12px;outline:none}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.grid2 label{display:block;font-size:12px;color:var(--muted);font-weight:850;margin-bottom:6px}.grid2 input{width:100%;padding:10px;border:1px solid var(--line2);border-radius:12px;outline:none}.btn-primary,.btn-secondary,.btn-danger{border-radius:12px;padding:10px 12px;border:1px solid var(--line2);background:#fff;cursor:pointer;font-weight:850}.btn-danger{background:#ef44441a;border-color:#ef444438;color:#b42318}.w100{width:100%}.alert{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;margin-top:10px}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}.modal{width:min(520px,100%);border-radius:16px;border:1px solid var(--line2);background:#fff;padding:18px;box-shadow:var(--shadow)}.modal-title{font-weight:900;color:var(--ink);text-align:center;padding:14px 12px;border:2px solid rgba(245,158,11,.45);background:#f59e0b2e;border-radius:12px}.modal-actions{display:flex;justify-content:center;gap:12px;margin-top:14px}@media(max-width:920px){.review-task-main{grid-template-columns:1fr}.review-task-nav{flex-direction:row}.review-task-layout,.grid2{grid-template-columns:1fr}}body:has(.create-ticket-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;justify-content:initial!important;align-items:initial!important;min-height:100vh!important}.create-ticket-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r16: 16px;--r18: 18px;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b}.create-ticket-app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#f8fafc,#fff);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.ticket-main{flex:1;padding:24px 32px;display:flex;justify-content:center}.ticket-container{width:100%;max-width:720px}.ticket-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:32px}.ticket-header h1{font-size:28px;font-weight:700;margin:0;display:flex;align-items:center;gap:12px;color:var(--ink)}.ticket-header h1 i{color:var(--teal);font-size:26px}.ticket-header .subtitle{color:var(--muted);font-size:14px;margin:4px 0 0}.ticket-form{background:var(--panel);border:1px solid var(--line);border-radius:var(--r18);padding:32px;box-shadow:var(--shadow)}.form-section{margin-bottom:28px}.section-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:14px}.section-label i{color:var(--teal)}.required{color:var(--danger)}.ticket-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.type-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;border:2px solid var(--line);border-radius:14px;background:var(--panel);cursor:pointer;transition:.2s ease}.type-card i{font-size:24px;color:var(--muted);transition:.2s ease}.type-card span{font-size:12px;font-weight:600;color:var(--muted);text-align:center}.type-card:hover{border-color:var(--type-color, var(--teal));background:color-mix(in srgb,var(--type-color, var(--teal)) 5%,white)}.type-card:hover i{color:var(--type-color, var(--teal))}.type-card.selected{border-color:var(--type-color, var(--teal));background:color-mix(in srgb,var(--type-color, var(--teal)) 10%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--type-color, var(--teal)) 15%,transparent)}.type-card.selected i{color:var(--type-color, var(--teal))}.type-card.selected span{color:var(--ink)}.form-group{margin-bottom:22px}.form-group label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:10px}.form-group label i{color:var(--teal)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;font-size:14px;border:1px solid var(--line2);border-radius:12px;background:var(--panelSoft);color:var(--ink);transition:.15s ease;font-family:inherit}.form-group textarea{resize:vertical;min-height:120px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #2aa6a626;background:var(--panel)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted2)}.priority-options{display:flex;gap:8px}.priority-btn{flex:1;padding:10px 12px;font-size:13px;font-weight:600;border:2px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted);cursor:pointer;transition:.15s ease}.priority-btn:hover{border-color:var(--priority-color, var(--muted));color:var(--priority-color, var(--ink))}.priority-btn.selected{border-color:var(--priority-color, var(--teal));background:var(--priority-color, var(--teal));color:#fff}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.form-error{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:12px;color:var(--danger);font-size:14px;margin-bottom:24px}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:600;border:none;border-radius:12px;background:linear-gradient(135deg,var(--teal),#25918e);color:#fff;cursor:pointer;transition:.2s ease;box-shadow:0 2px 8px #2aa6a640}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2aa6a659}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:600;border:1px solid var(--line2);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;transition:.15s ease}.spinning{animation:spin 1s linear infinite}.success-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r18);padding:48px 32px;box-shadow:var(--shadow);text-align:center}.success-icon{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,var(--success),#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon i{font-size:40px;color:#fff}.success-card h2{font-size:24px;font-weight:700;margin:0 0 12px;color:var(--ink)}.success-card p{font-size:14px;color:var(--muted);margin:0 0 24px}.ticket-number{display:inline-block;padding:12px 24px;background:var(--panelSoft);border:1px solid var(--line);border-radius:12px;font-size:16px;color:var(--muted);margin-bottom:28px}.ticket-number strong{color:var(--teal);font-weight:700}.success-actions{display:flex;justify-content:center;gap:12px}@media(max-width:768px){.ticket-main{padding:16px}.ticket-form{padding:24px}.ticket-type-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.priority-options{flex-wrap:wrap}.priority-btn{flex:1 1 45%}.form-actions{flex-direction:column-reverse}.success-actions{flex-direction:column}}@media(max-width:480px){.ticket-type-grid{grid-template-columns:1fr}}body:has(.inbox-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;justify-content:initial!important;align-items:initial!important;min-height:100vh!important}.inbox-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r16: 16px;--r18: 18px;--success: #22c55e;--danger: #ef4444}.inbox-app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.inbox-main{flex:1;padding:24px 32px;width:100%}.inbox-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.inbox-header h1{font-size:28px;font-weight:700;margin:0;display:flex;align-items:center;gap:12px;color:var(--ink)}.inbox-header h1 i{color:var(--blue);font-size:26px}.inbox-header .subtitle{color:var(--muted);font-size:14px;margin:4px 0 0}.header-actions{display:flex;align-items:center;gap:12px}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;border:none;border-radius:12px;background:linear-gradient(135deg,var(--teal),#25918e);color:#fff;cursor:pointer;transition:.2s ease;box-shadow:0 2px 8px #2aa6a640}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2aa6a659}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;border:1px solid var(--line2);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;transition:.15s ease}.btn-secondary:hover{background:var(--panelSoft);border-color:var(--teal)}.inbox-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.filter-tabs{display:flex;gap:4px;background:var(--panelSoft);padding:4px;border-radius:12px;border:1px solid var(--line)}.tab{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;border:none;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:.15s ease}.tab:hover{color:var(--ink)}.tab.active{background:var(--panel);color:var(--ink);box-shadow:0 2px 8px #00000014}.tab .count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;background:var(--line);color:var(--muted);border-radius:10px}.tab .count.unread{background:var(--teal);color:#fff}.type-filter{padding:10px 14px;font-size:14px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--ink);min-width:150px}.inbox-content{min-height:400px}.notifications-list{display:flex;flex-direction:column;gap:8px}.notification-item{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r16);cursor:pointer;transition:.2s ease;position:relative}.notification-item:hover{border-color:var(--teal);box-shadow:var(--shadow)}.notification-item.unread{background:linear-gradient(90deg,rgba(42,166,166,.06) 0%,var(--panel) 100%);border-left:3px solid var(--teal)}.notification-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-icon i{font-size:20px;color:#fff}.notification-content{flex:1;min-width:0}.notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.notification-header h4{margin:0;font-size:15px;font-weight:600;color:var(--ink);line-height:1.4}.notification-time{font-size:12px;color:var(--muted2);white-space:nowrap}.notification-message{margin:0 0 10px;font-size:14px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-meta{display:flex;align-items:center;gap:8px}.notification-type{display:inline-flex;padding:3px 10px;font-size:11px;font-weight:600;background:var(--panelSoft);color:var(--muted);border-radius:6px;text-transform:uppercase;letter-spacing:.03em}.notification-actions{display:flex;gap:6px;opacity:0;transition:.15s ease}.notification-item:hover .notification-actions{opacity:1}.action-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--line2);background:var(--panel);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}.action-btn:hover{background:var(--panelSoft);border-color:var(--teal);color:var(--teal)}.action-btn.delete:hover{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.unread-indicator{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:8px;height:8px;background:var(--teal);border-radius:50%}.empty-state i{font-size:56px;margin-bottom:20px;opacity:.4;color:var(--blue)}.empty-state p{margin:0;font-size:14px}.loading-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media(max-width:768px){.inbox-main{padding:16px}.inbox-header{flex-direction:column}.inbox-filters{flex-direction:column;align-items:stretch}.filter-tabs{width:100%;justify-content:center}.type-filter{width:100%}.notification-item{padding:14px 16px}.notification-icon{width:36px;height:36px}.notification-icon i{font-size:16px}.notification-actions{opacity:1}}body:has(.trainings-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;justify-content:initial!important;align-items:initial!important;min-height:100vh!important}.trainings-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--purple: #8b5cf6;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r16: 16px;--r18: 18px}.trainings-app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#f8fafc,#fff);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.trainings-main{flex:1;padding:24px 32px;width:100%}.trainings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.header-left{display:flex;align-items:flex-start;gap:16px}.back-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease;flex-shrink:0;margin-top:4px}.back-btn:hover{background:var(--panelSoft);border-color:var(--teal);color:var(--teal)}.trainings-header h1{font-size:28px;font-weight:700;margin:0;display:flex;align-items:center;gap:12px;color:var(--ink)}.trainings-header h1 i{color:var(--purple);font-size:26px}.trainings-header .subtitle{color:var(--muted);font-size:14px;margin:4px 0 0}.trainings-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.search-box{position:relative;flex:1;max-width:400px}.search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted2)}.search-box input{width:100%;padding:12px 14px 12px 42px;font-size:14px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);color:var(--ink);transition:.15s ease}.filter-group{display:flex;gap:12px}.filter-group select{padding:10px 14px;font-size:14px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--ink);min-width:140px}.trainings-content{min-height:400px}.trainings-sections{display:flex;flex-direction:column;gap:40px}.training-section{display:flex;flex-direction:column;gap:20px}.section-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:var(--ink);margin:0}.section-title i{color:var(--purple)}.section-title .count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;font-size:12px;font-weight:700;background:var(--line);color:var(--muted);border-radius:12px}.training-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.training-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r16);padding:24px;cursor:pointer;transition:.2s ease;display:flex;flex-direction:column}.training-card:hover{border-color:var(--purple);box-shadow:var(--shadow);transform:translateY(-2px)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.card-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--purple),#a78bfa);display:flex;align-items:center;justify-content:center}.card-icon i{font-size:22px;color:#fff}.difficulty-badge{padding:4px 10px;font-size:10px;font-weight:700;color:#fff;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.training-card h3{font-size:16px;font-weight:700;color:var(--ink);margin:0 0 8px;line-height:1.4}.card-description{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 16px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:16px;margin-bottom:16px}.card-meta .duration{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.card-meta .duration i{color:var(--muted2)}.card-meta .code{font-size:11px;font-weight:600;color:var(--muted2);background:var(--panelSoft);padding:3px 8px;border-radius:6px}.card-action{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line);font-size:14px;font-weight:600;color:var(--purple)}.card-action i{transition:.2s ease}.training-card:hover .card-action i{transform:translate(4px)}.empty-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:var(--muted)}.empty-state i{font-size:56px;margin-bottom:20px;opacity:.4;color:var(--purple)}.empty-state h3{font-size:20px;font-weight:700;margin:0 0 8px;color:var(--ink)}.empty-state p{margin:0;font-size:14px;max-width:400px}.loading-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--purple);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media(max-width:768px){.trainings-main{padding:16px}.trainings-filters{flex-direction:column;align-items:stretch}.search-box{max-width:none}.filter-group{flex-wrap:wrap}.filter-group select{flex:1;min-width:0}.training-grid{grid-template-columns:1fr}}body:has(.profile-app){justify-content:initial!important;align-items:initial!important;min-height:100vh!important}.profile-app{min-height:100vh;display:flex;flex-direction:column;background:var(--panelSoft)}.profile-main{flex:1;padding:32px 24px}.profile-container{width:100%;max-width:900px;margin:0 auto}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.profile-header .back-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}.profile-header .back-btn:hover{background:var(--teal);border-color:var(--teal);color:#fff}.profile-header h1{font-size:28px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:12px;margin:0}.profile-header h1 i{color:var(--teal)}.profile-header .subtitle{color:var(--muted);font-size:15px;margin:4px 0 0}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--muted)}.profile-content{display:flex;flex-direction:column;gap:24px}.profile-card,.sessions-card{background:var(--panel);border-radius:20px;border:1px solid var(--line);overflow:hidden}.profile-card .card-header{display:flex;align-items:center;gap:20px;padding:28px;background:linear-gradient(135deg,var(--panelSoft),var(--panel));border-bottom:1px solid var(--line)}.avatar{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,var(--teal),#25918e);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar i{font-size:42px;color:#fff}.user-info{flex:1}.user-info h2{font-size:24px;font-weight:700;color:var(--ink);margin:0 0 4px}.user-info p{font-size:15px;color:var(--muted);margin:0 0 10px}.role-badge{display:inline-block;padding:4px 12px;font-size:12px;font-weight:600;color:#fff;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.btn-edit{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--teal);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:.2s ease}.btn-edit:hover{background:#25918e;transform:translateY(-1px)}.message{display:flex;align-items:center;gap:10px;padding:14px 20px;margin:0;font-size:14px}.message.success{background:#22c55e1a;color:#16a34a}.message.error{background:#ef44441a;color:#ef4444}.card-body{padding:28px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.info-item{display:flex;flex-direction:column;gap:6px}.info-item label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:15px;font-weight:500;color:var(--ink)}.status-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:6px;width:fit-content}.edit-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn-cancel:hover{background:var(--panelSoft)}.sessions-card .card-header{padding:20px 28px;border-bottom:1px solid var(--line)}.sessions-card .card-header h3{font-size:18px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px;margin:0}.sessions-card .card-header h3 i{color:var(--teal)}.no-sessions{text-align:center;color:var(--muted);padding:40px 20px}.sessions-list{display:flex;flex-direction:column;gap:16px}.session-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--panelSoft);border-radius:12px}.session-icon{width:44px;height:44px;border-radius:10px;background:var(--panel);display:flex;align-items:center;justify-content:center}.session-icon i{font-size:20px;color:var(--muted)}.session-info{flex:1;display:flex;flex-direction:column;gap:4px}.session-device{font-size:14px;font-weight:600;color:var(--ink)}.session-meta{font-size:13px;color:var(--muted)}.btn-revoke{padding:8px 16px;background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:.15s ease}.btn-revoke:hover{background:#ef4444;color:#fff}@media(max-width:768px){.profile-main{padding:20px 16px}.profile-card .card-header{flex-direction:column;text-align:center;padding:24px 20px}.user-info{text-align:center}.btn-edit{width:100%;justify-content:center}.info-grid,.form-row{grid-template-columns:1fr}}body:has(.users-app){justify-content:initial!important;align-items:initial!important;min-height:100vh!important}.users-app{min-height:100vh;display:flex;flex-direction:column;background:var(--panelSoft)}.users-main{flex:1;padding:32px 24px}.users-container{width:100%;max-width:1400px;margin:0 auto}.users-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.users-header .back-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}.users-header .back-btn:hover{background:var(--teal);border-color:var(--teal);color:#fff}.header-content{flex:1}.users-header h1{font-size:28px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:12px;margin:0}.users-header h1 i{color:var(--teal)}.users-header .subtitle{color:var(--muted);font-size:15px;margin:4px 0 0}.btn-create{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--teal);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:.2s ease}.btn-create:hover{background:#25918e;transform:translateY(-1px)}.filters-bar{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.search-box{flex:1;min-width:280px;position:relative}.search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-box input{width:100%;padding:12px 14px 12px 42px;font-size:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);transition:.15s ease}.search-box input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #2aa6a626}.filters-bar select{padding:12px 16px;font-size:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;min-width:140px}.filters-bar select:focus{outline:none;border-color:var(--teal)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.users-table-container{background:var(--panel);border-radius:16px;border:1px solid var(--line);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th{text-align:left;padding:16px 20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:var(--panelSoft);border-bottom:1px solid var(--line)}.users-table td{padding:16px 20px;font-size:14px;color:var(--ink);border-bottom:1px solid var(--line);vertical-align:middle}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background:var(--panelSoft)}.empty-state{text-align:center;padding:60px 20px!important;color:var(--muted)}.empty-state i{font-size:48px;margin-bottom:16px;opacity:.5}.user-cell{display:flex;align-items:center;gap:14px}.user-avatar{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--teal),#25918e);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:600;flex-shrink:0}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:600;color:var(--ink)}.user-email{font-size:13px;color:var(--muted)}.role-badge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:600;color:#fff;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.status-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:6px}.status-badge.active{background:#22c55e26;color:#16a34a}.status-badge.suspended{background:#ef444426;color:#ef4444}.status-badge.inactive{background:#9ca3af26;color:#6b7280}.status-badge.pending{background:#eab30826;color:#ca8a04}.action-buttons{display:flex;gap:8px}.btn-action{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--panel);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease;color:var(--ink)}.btn-action i{font-size:14px}.btn-action.edit{color:var(--teal);border-color:var(--teal)}.btn-action.password{color:#8b5cf6;border-color:#8b5cf6}.btn-action.suspend{color:#f59e0b;border-color:#f59e0b}.btn-action.reactivate{color:#22c55e;border-color:#22c55e}.btn-action.delete{color:#ef4444;border-color:#ef4444}.btn-action.edit:hover{background:var(--teal);border-color:var(--teal);color:#fff}.btn-action.password:hover{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.btn-action.suspend:hover{background:#f59e0b;border-color:#f59e0b;color:#fff}.btn-action.reactivate:hover{background:#22c55e;border-color:#22c55e;color:#fff}.btn-action.delete:hover{background:#ef4444;border-color:#ef4444;color:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--panel);border-radius:20px;width:100%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:20px;font-weight:700;color:var(--ink);margin:0}.modal-close{width:36px;height:36px;border-radius:10px;border:none;background:var(--panelSoft);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}.modal-close:hover{background:#ef4444;color:#fff}.modal-body{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.error-message{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#ef44441a;color:#ef4444;border-radius:10px;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:600;color:var(--ink)}.form-group input,.form-group select{padding:12px 14px;font-size:14px;border:1px solid var(--line);border-radius:10px;background:var(--panelSoft);color:var(--ink);transition:.15s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #2aa6a626}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-checkboxes{display:flex;flex-direction:column;gap:12px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--ink)}.checkbox-label input[type=checkbox]{width:18px;height:18px;border-radius:4px;accent-color:var(--teal)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--line);background:var(--panelSoft)}.btn-cancel{padding:10px 20px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:.15s ease}.btn-cancel:hover{background:var(--panel)}.btn-save{padding:10px 24px;background:var(--teal);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:.2s ease}.btn-save:hover{background:#25918e}.btn-save:disabled{opacity:.6;cursor:not-allowed}.password-modal{max-width:480px}.password-modal .modal-header h2{display:flex;align-items:center;gap:10px}.password-modal .modal-header h2 i{color:#8b5cf6}.user-info-banner{display:flex;align-items:center;gap:14px;padding:16px;background:var(--panelSoft);border-radius:12px;margin-bottom:8px}.user-info-banner .user-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;flex-shrink:0}.user-info-banner>div{display:flex;flex-direction:column;gap:2px}.user-info-banner strong{font-size:15px;color:var(--ink)}.user-info-banner span{font-size:13px;color:var(--muted)}@media(max-width:768px){.users-main{padding:20px 16px}.users-header{flex-wrap:wrap}.btn-create{width:100%;justify-content:center;order:3}.filters-bar{flex-direction:column}.search-box{min-width:100%}.filters-bar select{width:100%}.users-table-container{overflow-x:auto}.users-table{min-width:800px}.form-row{grid-template-columns:1fr}}body:has(.privacy-app){justify-content:initial!important;align-items:initial!important;min-height:100vh!important}.privacy-app{min-height:100vh;display:flex;flex-direction:column;background:var(--panelSoft)}.privacy-main{flex:1;padding:32px 24px}.privacy-container{width:100%;max-width:900px;margin:0 auto}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--panel);border:1px solid var(--line);border-radius:10px;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;transition:.15s ease;margin-bottom:24px}.back-btn:hover{background:var(--teal);border-color:var(--teal);color:#fff}.privacy-header{text-align:center;margin-bottom:40px}.privacy-icon{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,var(--teal),#25918e);border-radius:24px;display:flex;align-items:center;justify-content:center}.privacy-icon i{font-size:40px;color:#fff}.privacy-header h1{font-size:36px;font-weight:800;color:var(--ink);margin:0 0 12px}.last-updated{font-size:14px;color:var(--muted);margin:0}.privacy-content{background:var(--panel);border-radius:20px;border:1px solid var(--line);overflow:hidden}.privacy-section{padding:32px;border-bottom:1px solid var(--line)}.privacy-section:last-child{border-bottom:none}.privacy-section h2{font-size:20px;font-weight:700;color:var(--ink);margin:0 0 16px;display:flex;align-items:center;gap:12px}.privacy-section h2 i{color:var(--teal);font-size:22px}.privacy-section h3{font-size:16px;font-weight:600;color:var(--ink);margin:20px 0 12px}.privacy-section h3:first-of-type{margin-top:0}.privacy-section p{font-size:15px;line-height:1.7;color:var(--ink);margin:0 0 16px}.privacy-section p:last-child{margin-bottom:0}.privacy-section ul{margin:0 0 16px;padding-left:0;list-style:none}.privacy-section ul:last-child{margin-bottom:0}.privacy-section li{position:relative;padding-left:24px;margin-bottom:12px;font-size:15px;line-height:1.6;color:var(--ink)}.privacy-section li:before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;background:var(--teal);border-radius:50%}.privacy-section li strong{color:var(--ink)}.privacy-section a{color:var(--teal);text-decoration:none;font-weight:500;transition:.15s ease}.privacy-section a:hover{text-decoration:underline}.contact-info{display:flex;flex-direction:column;gap:16px;margin-top:20px}.contact-item{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;background:var(--panelSoft);border-radius:12px}.contact-item i{font-size:20px;color:var(--teal);margin-top:2px}.contact-item span,.contact-item a{font-size:15px;line-height:1.6}@media(max-width:768px){.privacy-main{padding:20px 16px}.privacy-header h1{font-size:28px}.privacy-icon{width:64px;height:64px}.privacy-icon i{font-size:32px}.privacy-section{padding:24px 20px}.privacy-section h2{font-size:18px}.privacy-section h2 i{font-size:20px}}body:has(.signatures-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.signatures-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r16: 16px;--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.signatures-main{flex:1;padding:24px 32px;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.head-left{display:flex;align-items:flex-start;gap:14px}.back-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s ease;margin-top:2px}.back-btn:hover{border-color:#2aa6a673;box-shadow:0 6px 18px #2aa6a61f;transform:translateY(-1px)}.head-left h1{font-size:22px;margin:0;display:flex;gap:10px;align-items:center}.subtitle{margin-top:6px;color:var(--muted)}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.search{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line2);border-radius:12px;background:#fff;min-width:280px}.search input{border:none;outline:none;width:100%;font-size:14px}.tabs{display:flex;gap:10px;margin:14px 0}.tab{border:1px solid var(--line2);background:var(--panelSoft);border-radius:12px;padding:10px 12px;font-weight:800;color:var(--muted);cursor:pointer;transition:.15s ease;display:inline-flex;gap:10px;align-items:center}.tab.active{background:#2f6fff1a;border-color:#2f6fff4d;color:var(--ink)}.count{background:#fff;border:1px solid var(--line2);padding:2px 8px;border-radius:999px;font-size:12px;color:var(--muted)}.btn-primary,.btn-secondary{border-radius:12px;padding:10px 12px;border:1px solid var(--line2);background:#fff;cursor:pointer;font-weight:850;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:#2aa6a61f;border-color:#2aa6a659}.btn-secondary{background:var(--panelSoft);color:var(--muted)}.btn-secondary:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.alert.ok{border:1px solid rgba(34,197,94,.25);background:#22c55e1a;color:#166534}.loading-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 0;color:var(--muted)}.table-wrap{border:1px solid var(--line2);border-radius:16px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.doc-title{font-weight:900;color:var(--ink)}.doc-sub{margin-top:2px;color:var(--muted2);font-size:12px}.right{text-align:right}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line2);font-weight:850;font-size:12px}.pill.ok{background:#22c55e1a;border-color:#22c55e40;color:#166534}.pill.bad{background:#ef44440f;border-color:#ef444440;color:#b42318}.empty{padding:30px 0;text-align:center;color:var(--muted)}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;padding:18px;z-index:60}.modal{width:min(620px,100%);background:#fff;border-radius:16px;border:1px solid var(--line2);box-shadow:var(--shadow);padding:16px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.modal-title{font-weight:950;color:var(--ink)}.modal-body{border:1px solid var(--line2);border-radius:14px;background:var(--panelSoft);padding:12px}.modal-row{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:6px 0}.label{color:var(--muted);font-weight:900;font-size:12px}.value{color:var(--ink);font-weight:700;font-size:13px}.form{margin-top:10px;display:grid;gap:8px}.form label{font-weight:900;color:var(--muted);font-size:12px}.form input,.form textarea{width:100%;border:1px solid var(--line2);border-radius:12px;padding:10px;outline:none;background:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}@media(max-width:860px){.page-head{flex-direction:column}.search{min-width:0;width:100%}.modal-row{grid-template-columns:1fr}}body:has(.studies-view-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.studies-view-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.studies-view-main{flex:1;padding:24px 32px;width:100%;display:grid;grid-template-columns:64px 1fr;gap:18px}.studies-view-nav{display:flex;flex-direction:column;gap:10px}.studies-view-content{display:flex;justify-content:center}.studies-shell{width:min(980px,100%);border:1px solid var(--line2);border-radius:var(--r18);background:var(--panel);box-shadow:var(--shadow);padding:18px}.studies-title{text-align:center;font-weight:900;color:#b42318;margin-bottom:10px}.studies-search{display:flex;justify-content:center;margin-bottom:14px}.studies-search input{width:min(420px,100%);padding:10px 12px;border-radius:12px;border:1px solid rgba(42,166,166,.35);outline:none;background:#fff}.ta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:8px 6px 4px;min-height:320px}.ta-col{display:grid;gap:10px}.ta-name{font-weight:900;color:var(--teal)}.study-list{display:grid;gap:6px}.study-link{border:none;background:transparent;color:#2aa6a6e6;font-weight:750;text-align:left;cursor:pointer;padding:0}.study-link:hover{text-decoration:underline}.study-link.selected{color:#b42318}.muted{color:var(--muted2);font-size:13px}.empty{grid-column:1 / -1;padding:30px 0;text-align:center;color:var(--muted)}.studies-footer-hint{margin-top:12px;color:var(--muted2);font-size:12px}@media(max-width:900px){.studies-view-main{grid-template-columns:1fr}.studies-view-nav{flex-direction:row}.ta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.ta-grid{grid-template-columns:1fr}}body:has(.my-reviews-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.my-reviews-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.my-reviews-main{flex:1;padding:24px 32px;width:100%;display:grid;grid-template-columns:64px 1fr;gap:18px}.my-reviews-nav{display:flex;flex-direction:column;gap:10px}.my-reviews-content{display:flex;justify-content:center}.shell{width:min(980px,100%);border:1px solid var(--line2);border-radius:var(--r18);background:var(--panel);box-shadow:var(--shadow);padding:18px}.selection{text-align:center;font-weight:850;color:var(--muted);padding:10px 12px;border:1px solid var(--line2);border-radius:12px;background:var(--panelSoft);margin-bottom:12px}.table-wrap{border:1px solid var(--line2);border-radius:12px;overflow:hidden;background:#fff}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}.title{font-weight:900;color:var(--teal)}.sub{margin-top:2px;font-size:12px;color:var(--muted2)}.title-cell{min-width:340px}.status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line2);font-weight:850;font-size:12px}.status.in{background:#f59e0b1a;border-color:#f59e0b40;color:#7a4a00}.status.ok{background:#22c55e1a;border-color:#22c55e40;color:#166534}.link{border:none;background:transparent;color:var(--teal);font-weight:850;cursor:pointer;padding:0}.link:hover:not(:disabled){text-decoration:underline}.link:disabled{opacity:.5;cursor:not-allowed}.empty{text-align:center;padding:18px;color:var(--muted)}.alert.success{border:1px solid rgba(34,197,94,.25);background:#22c55e0f;color:#166534}.complete-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid rgba(34,197,94,.35);border-radius:10px;background:#22c55e14;color:#166534;font-weight:700;font-size:12px;cursor:pointer;transition:all .2s ease}.complete-btn:hover{background:#22c55e2e;border-color:#22c55e80;transform:translateY(-1px);box-shadow:0 4px 12px #22c55e33}.complete-btn:active{transform:translateY(0)}.completed-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#22c55e1f;color:#166534;font-weight:700;font-size:12px}.completed-badge i{color:#22c55e}.modal-overlay{position:fixed;inset:0;background:#0b1220a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-dialog{background:var(--panel);border-radius:18px;box-shadow:0 24px 48px #0b122040;width:min(480px,90vw);max-height:90vh;overflow:hidden;animation:slideUp .25s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);background:var(--panelSoft)}.modal-header h3{margin:0;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--ink)}.modal-header h3 i{color:var(--teal)}.close-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;transition:all .15s ease}.close-btn:hover{background:#0b12200f;color:var(--ink)}.modal-body{padding:22px}.modal-body p{margin:0 0 14px;color:var(--ink);font-size:14px}.review-info{padding:14px 16px;background:var(--panelSoft);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;font-size:13px;color:var(--muted)}.review-info strong{color:var(--teal);font-weight:800}.warning-text{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:10px;font-size:12px;color:#7a4a00}.warning-text i{flex-shrink:0;margin-top:1px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 22px;border-top:1px solid var(--line);background:var(--panelSoft)}.btn-secondary{padding:10px 18px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--ink);font-weight:700;font-size:13px;cursor:pointer;transition:all .15s ease}.btn-secondary:hover:not(:disabled){background:var(--panelSoft);border-color:var(--line)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--teal),#1e8a8a);color:#fff;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #2aa6a659}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner-sm{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:900px){.my-reviews-main{grid-template-columns:1fr}.my-reviews-nav{flex-direction:row}.title-cell{min-width:auto}}body:has(.sdtm-report-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.sdtm-report-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.sdtm-report-main{flex:1;padding:24px 32px;width:100%;display:grid;grid-template-columns:64px 1fr;gap:18px}.sdtm-report-nav{display:flex;flex-direction:column;gap:10px}.sdtm-report-content{width:min(1120px,100%);margin:0 auto}.title span{color:var(--ink)}.sub-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.small-select label{display:block;font-size:12px;color:var(--muted);font-weight:900;margin-bottom:6px}.pill{border:1px solid var(--line2);border-radius:10px;padding:8px 10px;background:var(--panelSoft);font-weight:850}.small-select select{border:1px solid var(--line2);border-radius:10px;padding:8px 10px;background:#fff;outline:none}.btn-primary{border-radius:10px;padding:8px 12px;border:1px solid rgba(42,166,166,.35);background:#2aa6a61f;cursor:pointer;font-weight:900}.charts{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}.chart-card{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px}.chart-title{font-weight:950;margin-bottom:8px}.muted{color:var(--muted2);font-weight:700}.svg{width:100%;height:180px;display:block;background:var(--panelSoft);border:1px solid var(--line);border-radius:12px}.legend{display:flex;gap:14px;margin-top:8px;color:var(--muted);font-weight:850;font-size:12px}.dot{width:10px;height:10px;border-radius:999px;display:inline-block;margin-right:6px}.dot.teal{background:#2aa6a6f2}.dot.gray{background:#6b7280d9}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:42px 1fr 40px;gap:10px;align-items:center}.bar-label{font-weight:900;color:var(--ink)}.bar-track{height:10px;border-radius:999px;border:1px solid var(--line2);background:var(--panelSoft);overflow:hidden}.bar-fill{height:100%;background:#6b7280bf}.bar-num{text-align:right;font-weight:900;color:var(--muted)}@media(max-width:980px){.sdtm-report-main{grid-template-columns:1fr}.sdtm-report-nav{flex-direction:row}.charts{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}body:has(.sdtm-domain-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.sdtm-domain-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.sdtm-domain-main{flex:1;padding:24px 32px;width:100%;display:grid;grid-template-columns:64px 1fr;gap:18px}.sdtm-domain-nav{display:flex;flex-direction:column;gap:10px}.sdtm-domain-content{width:min(1120px,100%);margin:0 auto}.title{font-weight:950;font-size:22px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.stat{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px}.num{font-size:26px;font-weight:950}.label{color:var(--muted);font-weight:800;margin-top:4px}.grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:12px}.pie-card,.summary-card{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px}.summary-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:6px}.var-block{border:1px solid var(--line2);border-radius:12px;padding:10px;background:var(--panelSoft)}.var-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.var-name{font-weight:900;color:var(--ink)}.user{font-weight:900;color:var(--muted)}.muted{color:var(--muted2);font-weight:650}@media(max-width:980px){.sdtm-domain-main{grid-template-columns:1fr}.sdtm-domain-nav{flex-direction:row}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pie-wrap{grid-template-columns:1fr}}body:has(.issue-log-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.issue-log-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.issue-log-main{flex:1;padding:24px 32px;width:100%;display:grid;grid-template-columns:64px 1fr;gap:18px}.issue-log-nav{display:flex;flex-direction:column;gap:10px}.nav-icon{width:44px;height:44px;border-radius:14px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s ease}.nav-icon:hover{border-color:#2aa6a673;box-shadow:0 6px 18px #2aa6a61f;transform:translateY(-1px)}.issue-log-content{width:min(1120px,100%);margin:0 auto}.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.title{font-weight:950;font-size:20px}.controls select{border:1px solid var(--line2);border-radius:10px;padding:8px 10px;background:#fff;outline:none}.meta{display:flex;gap:14px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line2);border-radius:14px;background:var(--panelSoft);margin-bottom:12px;color:var(--muted);font-weight:700}.top{display:grid;grid-template-columns:.9fr 1.1fr;gap:12px;margin-bottom:12px}.pie-card,.summary-card{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px;box-shadow:var(--shadow)}.pie-title,.summary-title{font-weight:950;margin-bottom:8px}.pie-wrap{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:center}.pie{background:var(--panelSoft);border:1px solid var(--line);border-radius:12px}.pie-legend{color:var(--muted);font-weight:850;display:grid;gap:8px}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block;margin-right:8px;border:1px solid var(--line2)}.swatch.resolved{background:#f59e0bd9}.swatch.open{background:#6b728040}.summary-meta{color:var(--muted);font-weight:750;margin-bottom:10px}.domain-list{display:flex;flex-wrap:wrap;gap:8px}.domain-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line2);border-radius:999px;background:var(--panelSoft)}.dc{font-weight:950;color:var(--teal)}.dn{color:var(--muted2);font-weight:700}.cnt{margin-left:auto;font-weight:900;color:var(--muted)}.domains{display:grid;gap:12px}.domain-block{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px;box-shadow:var(--shadow)}.domain-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}.domain-title{font-weight:950}.domain-stats{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-weight:800;font-size:12px}.vars{display:grid;gap:10px}.var{border:1px solid var(--line2);border-radius:12px;padding:10px;background:var(--panelSoft)}.var-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.var-name{font-weight:900}.var-status{font-weight:900;font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--line2)}.var-status.ok{background:#22c55e1a;border-color:#22c55e40;color:#166534}.var-status.warn{background:#ef44440f;border-color:#ef444440;color:#b42318}.var-label{margin-top:6px;color:var(--muted);font-weight:700;font-size:12px}.bullets{margin-top:8px;padding-left:18px;color:var(--ink);font-weight:650}.user{font-weight:950;color:var(--muted)}.muted{color:var(--muted2);font-weight:700;margin-left:8px}.alert{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;margin-bottom:12px}.alert.error{border:1px solid rgba(239,68,68,.25);background:#ef44440f;color:#b42318}.xbtn{margin-left:auto;border:none;background:transparent;color:inherit;cursor:pointer;padding:4px 6px}.loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 0;color:var(--muted)}.spinner{width:42px;height:42px;border:4px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:980px){.issue-log-main{grid-template-columns:1fr}.issue-log-nav{flex-direction:row}.top,.pie-wrap{grid-template-columns:1fr}}body:has(.adam-report-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.adam-report-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.adam-report-main{flex:1;padding:24px 32px;width:100%;display:grid;grid-template-columns:64px 1fr;gap:18px}.adam-report-nav{display:flex;flex-direction:column;gap:10px}.adam-report-app .nav-icon{width:44px;height:44px;border-radius:14px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s ease}.adam-report-app .nav-icon:hover{border-color:#2aa6a673;box-shadow:0 6px 18px #2aa6a61f;transform:translateY(-1px)}.adam-report-content{width:min(1120px,100%);margin:0 auto}.adam-report-app .header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.adam-report-app .title{font-weight:950;font-size:22px}.adam-report-app .title span{color:var(--ink)}.adam-report-app .controls select{border:1px solid var(--line2);border-radius:10px;padding:8px 10px;background:#fff;outline:none}.adam-report-app .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.adam-report-app .stat{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px}.adam-report-app .num{font-size:26px;font-weight:950}.adam-report-app .label{color:var(--muted);font-weight:800;margin-top:4px}.adam-report-app .sub-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.adam-report-app .small-select label{display:block;font-size:12px;color:var(--muted);font-weight:900;margin-bottom:6px}.adam-report-app .pill{border:1px solid var(--line2);border-radius:10px;padding:8px 10px;background:var(--panelSoft);font-weight:850}.adam-report-app .small-select select{border:1px solid var(--line2);border-radius:10px;padding:8px 10px;background:#fff;outline:none}.adam-report-app .btn-primary{border-radius:10px;padding:8px 12px;border:1px solid rgba(42,166,166,.35);background:#2aa6a61f;cursor:pointer;font-weight:900}.adam-report-app .charts{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}.adam-report-app .chart-card{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px}.adam-report-app .chart-title{font-weight:950;margin-bottom:8px}.adam-report-app .muted{color:var(--muted2);font-weight:700}.adam-report-app .svg{width:100%;height:180px;display:block;background:var(--panelSoft);border:1px solid var(--line);border-radius:12px}.adam-report-app .legend{display:flex;gap:14px;margin-top:8px;color:var(--muted);font-weight:850;font-size:12px}.adam-report-app .dot{width:10px;height:10px;border-radius:999px;display:inline-block;margin-right:6px}.adam-report-app .dot.teal{background:#2aa6a6f2}.adam-report-app .dot.gray{background:#6b7280d9}.adam-report-app .bars{display:grid;gap:10px}.adam-report-app .bar-row{display:grid;grid-template-columns:50px 1fr 40px;gap:10px;align-items:center}.adam-report-app .bar-label{font-weight:900;color:var(--ink);font-size:13px}.adam-report-app .bar-track{height:10px;border-radius:999px;border:1px solid var(--line2);background:var(--panelSoft);overflow:hidden}.adam-report-app .bar-fill{height:100%;background:#6b7280bf}.adam-report-app .bar-num{text-align:right;font-weight:900;color:var(--muted)}.adam-report-app .alert{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;margin-bottom:12px}.adam-report-app .alert.error{border:1px solid rgba(239,68,68,.25);background:#ef44440f;color:#b42318}.adam-report-app .xbtn{margin-left:auto;border:none;background:transparent;color:inherit;cursor:pointer;padding:4px 6px}.adam-report-app .loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 0;color:var(--muted)}.adam-report-app .spinner{width:42px;height:42px;border:4px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:adam-spin 1s linear infinite}@keyframes adam-spin{to{transform:rotate(360deg)}}.adam-report-app .card{background:var(--panel);border:1px solid var(--line2);border-radius:14px;padding:24px;text-align:center}.adam-report-app .card h2{margin-bottom:16px}@media(max-width:980px){.adam-report-main{grid-template-columns:1fr}.adam-report-nav{flex-direction:row}.adam-report-app .charts{grid-template-columns:1fr}.adam-report-app .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}body:has(.adam-domain-app){background:#fff!important;background-image:none!important;padding:0!important;display:block!important;min-height:100vh!important}.adam-domain-app{--bg: #ffffff;--ink: #0b1220;--muted: rgba(11, 18, 32, .72);--muted2: rgba(11, 18, 32, .52);--teal: #2aa6a6;--blue: #2f6fff;--line: rgba(17, 24, 39, .1);--line2: rgba(17, 24, 39, .14);--panel: #ffffff;--panelSoft: #fbfdff;--shadow: 0 10px 28px rgba(17, 24, 39, .1);--r18: 18px;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.adam-domain-main{flex:1;padding:24px 32px;width:100%;display:grid;grid-template-columns:64px 1fr;gap:18px}.adam-domain-nav{display:flex;flex-direction:column;gap:10px}.adam-domain-app .nav-icon{width:44px;height:44px;border-radius:14px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s ease}.adam-domain-app .nav-icon:hover{border-color:#2aa6a673;box-shadow:0 6px 18px #2aa6a61f;transform:translateY(-1px)}.adam-domain-content{width:min(1120px,100%);margin:0 auto}.adam-domain-app .header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.adam-domain-app .title{font-weight:950;font-size:22px}.adam-domain-app .controls select{border:1px solid var(--line2);border-radius:10px;padding:8px 10px;background:#fff;outline:none}.adam-domain-app .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.adam-domain-app .stat{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px}.adam-domain-app .num{font-size:26px;font-weight:950}.adam-domain-app .label{color:var(--muted);font-weight:800;margin-top:4px}.adam-domain-app .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:12px}.adam-domain-app .pie-card,.adam-domain-app .summary-card{border:1px solid var(--line2);border-radius:14px;background:#fff;padding:12px}.adam-domain-app .pie-title,.adam-domain-app .summary-title{font-weight:950;margin-bottom:8px}.adam-domain-app .pie-wrap{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:center}.adam-domain-app .pie{background:var(--panelSoft);border:1px solid var(--line);border-radius:12px}.adam-domain-app .pie-legend{color:var(--muted);font-weight:850;display:grid;gap:8px}.adam-domain-app .swatch{width:12px;height:12px;border-radius:3px;display:inline-block;margin-right:8px;border:1px solid var(--line2)}.adam-domain-app .swatch.resolved{background:#2aa6a6d9}.adam-domain-app .swatch.open{background:#6b728040}.adam-domain-app .summary-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:6px}.adam-domain-app .var-block{border:1px solid var(--line2);border-radius:12px;padding:10px;background:var(--panelSoft)}.adam-domain-app .var-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.adam-domain-app .var-name{font-weight:900;color:var(--ink)}.adam-domain-app .var-status{font-weight:900;font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--line2)}.adam-domain-app .var-status.ok{background:#22c55e1a;border-color:#22c55e40;color:#166534}.adam-domain-app .var-status.warn{background:#ef44440f;border-color:#ef444440;color:#b42318}.adam-domain-app .var-label{margin-top:6px;color:var(--muted);font-weight:700;font-size:12px}.adam-domain-app .bullets{margin-top:8px;padding-left:18px;color:var(--ink);font-weight:650}.adam-domain-app .user{font-weight:900;color:var(--muted)}.adam-domain-app .muted{color:var(--muted2);font-weight:650}.adam-domain-app .alert{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;margin-bottom:12px}.adam-domain-app .alert.error{border:1px solid rgba(239,68,68,.25);background:#ef44440f;color:#b42318}.adam-domain-app .xbtn{margin-left:auto;border:none;background:transparent;color:inherit;cursor:pointer;padding:4px 6px}.adam-domain-app .loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 0;color:var(--muted)}.adam-domain-app .spinner{width:42px;height:42px;border:4px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:adam-domain-spin 1s linear infinite}@keyframes adam-domain-spin{to{transform:rotate(360deg)}}@media(max-width:980px){.adam-domain-main{grid-template-columns:1fr}.adam-domain-nav{flex-direction:row}.adam-domain-app .grid{grid-template-columns:1fr}.adam-domain-app .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.adam-domain-app .pie-wrap{grid-template-columns:1fr}}.clinical-flow-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);color:#e2e8f0;font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,sans-serif}.clinical-flow-main{flex:1;max-width:1400px;margin:0 auto;padding:2rem;width:100%}.flow-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(148,163,184,.15);flex-wrap:wrap}.flow-header-left{display:flex;align-items:flex-start;gap:1rem}.back-btn:hover{background:#ffffff1a;color:#e2e8f0;border-color:#94a3b84d}.flow-title h1{font-size:1.75rem;font-weight:800;color:#f1f5f9;margin:0 0 .35rem;display:flex;align-items:center;gap:.75rem}.flow-title h1 i{color:#6366f1}.flow-title p{font-size:.95rem;color:#94a3b8;margin:0}.flow-header-right{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.study-selector{display:flex;align-items:center;gap:.75rem}.study-selector label{font-size:.85rem;color:#94a3b8;font-weight:600}.study-selector select{padding:.6rem 1rem;border-radius:10px;border:1px solid rgba(148,163,184,.2);background:#ffffff0d;color:#e2e8f0;font-size:.9rem;min-width:200px;cursor:pointer;transition:all .2s ease}.study-selector select:hover,.study-selector select:focus{border-color:#6366f1;background:#ffffff14;outline:none}.cdisc-status{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffff08;border-radius:10px;border:1px solid rgba(148,163,184,.1)}.cdisc-label{font-size:.8rem;color:#64748b;margin-right:.25rem}.cdisc-indicator{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .2s ease}.cdisc-indicator.active{background:#22c55e26;color:#22c55e}.cdisc-indicator.inactive{background:#ef44441a;color:#ef4444}.flow-diagram{margin-bottom:2.5rem}.flow-timeline{display:flex;flex-direction:column;gap:0}.phase-card{background:#ffffff08;border:1px solid rgba(148,163,184,.1);border-radius:16px;padding:1.25rem 1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.phase-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--phase-color, #6366f1);opacity:.5;transition:opacity .3s ease}.phase-card:hover{background:#ffffff0d;border-color:#94a3b833;transform:translate(4px)}.phase-card:hover:before{opacity:1}.phase-card.expanded{background:#ffffff0f;border-color:var(--phase-color)}.phase-card.expanded:before{opacity:1;width:5px}.phase-card.completed{border-color:#22c55e4d}.phase-card.completed:before{background:#22c55e}.phase-card.in-progress:before{animation:pulse-border 2s infinite}@keyframes pulse-border{0%,to{opacity:.5}50%{opacity:1}}.phase-card.locked{opacity:.6}.phase-header{display:flex;align-items:center;gap:1rem}.phase-number{width:32px;height:32px;border-radius:50%;background:#ffffff14;border:2px solid var(--phase-color, #6366f1);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;color:var(--phase-color, #6366f1);flex-shrink:0}.phase-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #0003}.phase-info{flex:1;min-width:0}.phase-info h3{font-size:1.1rem;font-weight:700;color:#f1f5f9;margin:0 0 .25rem}.phase-info p{font-size:.85rem;color:#94a3b8;margin:0;line-height:1.4}.phase-expand-btn{width:36px;height:36px;border-radius:10px;background:transparent;border:1px solid rgba(148,163,184,.15);color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.phase-expand-btn:hover{background:#ffffff0d;color:#94a3b8}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;flex-shrink:0}.status-badge.completed{background:#22c55e26;color:#22c55e}.status-badge.in-progress{background:#f59e0b26;color:#f59e0b}.status-badge.in-progress i{animation:spin 2s linear infinite}.status-badge.not-started{background:#94a3b81a;color:#94a3b8}.status-badge.locked{background:#ef44441a;color:#ef4444}.phase-details{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(148,163,184,.1);animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.phase-content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:1.25rem}.phase-section h4{font-size:.8rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.phase-section h4 i{color:var(--phase-color, #6366f1)}.sub-phase-list{display:flex;flex-wrap:wrap;gap:.5rem}.sub-phase-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;background:#ffffff0a;border:1px solid rgba(148,163,184,.1);border-radius:8px;font-size:.82rem;color:#cbd5e1;transition:all .2s ease}.sub-phase-item:hover{background:#ffffff14;border-color:#94a3b833}.sub-phase-item i{color:var(--phase-color, #6366f1);font-size:.9rem}.output-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.output-list li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#cbd5e1}.output-list li i{color:#22c55e;font-size:.8rem}.standards-list{display:flex;flex-wrap:wrap;gap:.4rem}.standard-badge{padding:.3rem .65rem;background:#6366f126;color:#a5b4fc;border-radius:6px;font-size:.75rem;font-weight:600;border:1px solid rgba(99,102,241,.3)}.phase-actions{display:flex;justify-content:flex-end}.phase-action-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:var(--phase-color, #6366f1);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.phase-action-btn:hover{filter:brightness(1.1);transform:translate(4px)}.phase-action-btn i{font-size:1rem}.flow-connector{display:flex;flex-direction:column;align-items:center;height:40px;position:relative}.connector-line{width:2px;flex:1;background:linear-gradient(to bottom,#6366f166,#6366f133)}.connector-arrow{color:#6366f1;font-size:.9rem;opacity:.6;animation:bounce-down 1.5s infinite}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.flow-legend{background:#ffffff08;border:1px solid rgba(148,163,184,.1);border-radius:14px;padding:1.25rem 1.5rem;margin-bottom:2rem}.flow-legend h4{font-size:.85rem;font-weight:700;color:#94a3b8;margin:0 0 1rem}.legend-items{display:flex;flex-wrap:wrap;gap:1.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#94a3b8}.flow-quick-actions{background:#ffffff08;border:1px solid rgba(148,163,184,.1);border-radius:14px;padding:1.5rem}.flow-quick-actions h4{font-size:.9rem;font-weight:700;color:#94a3b8;margin:0 0 1rem}.quick-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.quick-action-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#ffffff0a;border:1px solid rgba(148,163,184,.15);border-radius:12px;color:#e2e8f0;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{background:#6366f11a;border-color:#6366f14d;transform:translateY(-2px)}.quick-action-btn i{font-size:1.25rem;color:#6366f1}@media(max-width:768px){.clinical-flow-main{padding:1rem}.flow-page-header{flex-direction:column;gap:1rem}.flow-header-right{width:100%;flex-direction:column;align-items:stretch}.study-selector{flex-direction:column;align-items:stretch}.study-selector select{width:100%;min-width:auto}.phase-header{flex-wrap:wrap;gap:.75rem}.phase-info{flex-basis:100%;order:1}.status-badge{order:2}.phase-expand-btn{order:3;margin-left:auto}.phase-content-grid,.quick-action-grid{grid-template-columns:1fr}}.ectd-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);color:#e2e8f0;font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,sans-serif}.ectd-main{flex:1;max-width:1600px;margin:0 auto;padding:2rem;width:100%}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-container .spinner{width:48px;height:48px;border:4px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.ectd-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(148,163,184,.15)}.ectd-header-left{display:flex;align-items:flex-start;gap:1rem}.back-btn{width:44px;height:44px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(148,163,184,.2);color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1.1rem}.back-btn:hover{background:#ffffff1a;color:#e2e8f0}.ectd-title h1{font-size:1.75rem;font-weight:800;color:#f1f5f9;margin:0 0 .35rem;display:flex;align-items:center;gap:.75rem}.ectd-title h1 i{color:#6366f1}.ectd-title p{font-size:.95rem;color:#94a3b8;margin:0}.create-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #6366f14d}.create-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;margin-bottom:1.5rem;color:#fca5a5}.error-banner button{margin-left:auto;background:transparent;border:none;color:#fca5a5;cursor:pointer;padding:.25rem}.ectd-filters{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{flex:1;min-width:250px;max-width:400px;position:relative}.search-box i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#64748b}.search-box input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:#ffffff0d;border:1px solid rgba(148,163,184,.2);border-radius:12px;color:#e2e8f0;font-size:.9rem}.search-box input:focus{outline:none;border-color:#6366f1;background:#ffffff14}.filter-group{display:flex;gap:.75rem}.filter-group select{padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(148,163,184,.2);border-radius:12px;color:#e2e8f0;font-size:.9rem;min-width:140px;cursor:pointer}.filter-group select:focus{outline:none;border-color:#6366f1}.ectd-content{display:grid;grid-template-columns:400px 1fr;gap:1.5rem;min-height:600px}.submissions-panel,.details-panel{background:#ffffff08;border:1px solid rgba(148,163,184,.1);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(148,163,184,.1);background:#ffffff05}.panel-header h3{font-size:1rem;font-weight:700;color:#f1f5f9;margin:0;display:flex;align-items:center;gap:.5rem}.panel-header h3 i{color:#6366f1}.panel-header .badge{padding:.25rem .6rem;background:#6366f126;color:#a5b4fc;border-radius:20px;font-size:.75rem;font-weight:600}.panel-actions{display:flex;gap:.5rem}.action-btn{width:36px;height:36px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(148,163,184,.2);color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#ffffff1a;color:#e2e8f0}.action-btn.primary{background:#6366f133;color:#a5b4fc;border-color:#6366f14d}.action-btn.primary:hover{background:#6366f14d}.submissions-list{flex:1;overflow-y:auto;padding:1rem}.submission-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff05;border:1px solid rgba(148,163,184,.1);border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:.75rem}.submission-card:last-child{margin-bottom:0}.submission-card:hover{background:#ffffff0d;border-color:#94a3b833}.submission-card.selected{background:#6366f11a;border-color:#6366f14d}.submission-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0}.submission-info{flex:1;min-width:0}.submission-title{font-size:.95rem;font-weight:700;color:#f1f5f9;margin-bottom:.25rem}.submission-meta{display:flex;gap:.75rem;font-size:.8rem;color:#64748b}.submission-meta span{display:flex;align-items:center;gap:.3rem}.submission-status{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.status-badge{padding:.3rem .65rem;border-radius:20px;font-size:.75rem;font-weight:600}.submission-date{font-size:.75rem;color:#64748b}.empty-state,.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#64748b;text-align:center}.empty-state i,.no-selection i{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state p,.no-selection p{margin-bottom:1rem}.empty-state button{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:10px;color:#a5b4fc;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.empty-state button:hover{background:#6366f140}.submission-summary{padding:1.25rem;border-bottom:1px solid rgba(148,163,184,.1)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.summary-item{display:flex;flex-direction:column;gap:.35rem}.summary-item label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.summary-item span{font-size:.9rem;color:#e2e8f0;font-weight:600}.modules-section{flex:1;padding:1.25rem;overflow-y:auto}.modules-section h4{font-size:.9rem;font-weight:700;color:#94a3b8;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.modules-section h4 i{color:#6366f1}.modules-list{display:flex;flex-direction:column;gap:.5rem}.module-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#ffffff05;border:1px solid rgba(148,163,184,.1);border-radius:10px;transition:all .2s ease}.module-item:hover{background:#ffffff0a}.module-item.in-progress{border-left:3px solid #f59e0b}.module-item.completed{border-left:3px solid #22c55e}.module-number{width:40px;height:40px;border-radius:10px;background:#6366f11a;color:#a5b4fc;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.module-info{flex:1;min-width:0}.module-name{font-size:.9rem;font-weight:600;color:#f1f5f9;margin-bottom:.15rem}.module-desc{font-size:.8rem;color:#64748b}.module-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.doc-count{font-size:.8rem;color:#64748b;display:flex;align-items:center;gap:.3rem}.module-status{font-size:.7rem;padding:.2rem .5rem;border-radius:10px;font-weight:600;background:#94a3b81a;color:#94a3b8}.module-status.in-progress{background:#f59e0b26;color:#f59e0b}.module-status.completed{background:#22c55e26;color:#22c55e}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal-content{width:100%;max-width:500px;background:#1e293b;border:1px solid rgba(148,163,184,.2);border-radius:16px;animation:slideUp .3s ease;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(148,163,184,.1)}.modal-header h3{font-size:1.1rem;font-weight:700;color:#f1f5f9;margin:0;display:flex;align-items:center;gap:.5rem}.modal-header h3 i{color:#6366f1}.close-btn{width:36px;height:36px;border-radius:10px;background:transparent;border:none;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#ffffff0d;color:#94a3b8}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.85rem;font-weight:600;color:#94a3b8;margin-bottom:.5rem}.form-group label .required{color:#ef4444}.form-group select,.form-group input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(148,163,184,.2);border-radius:10px;color:#e2e8f0;font-size:.9rem}.form-group select:focus,.form-group input:focus{outline:none;border-color:#6366f1;background:#ffffff14}.form-group .hint{display:block;font-size:.75rem;color:#64748b;margin-top:.35rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid rgba(148,163,184,.1);background:#0000001a}.cancel-btn{padding:.65rem 1.25rem;background:transparent;border:1px solid rgba(148,163,184,.2);border-radius:10px;color:#94a3b8;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#ffffff0d;color:#e2e8f0}.submit-btn{padding:.65rem 1.25rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-btn:hover:not(:disabled){filter:brightness(1.1)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1024px){.ectd-content{grid-template-columns:1fr}.submissions-panel{max-height:400px}}@media(max-width:768px){.ectd-main{padding:1rem}.ectd-header{flex-direction:column;align-items:stretch}.ectd-filters{flex-direction:column}.search-box{max-width:none}.filter-group{width:100%}.filter-group select{flex:1}}.comment-log-app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.comment-log-main{flex:1;display:flex;padding:0 24px 24px;gap:20px}.comment-log-nav{display:flex;flex-direction:column;gap:12px;padding-top:20px}.comment-log-nav .nav-icon{width:40px;height:40px;border-radius:10px;border:none;background:#fff;color:#0891b2;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000f}.comment-log-nav .nav-icon:hover{background:#0891b2;color:#fff}.comment-log-content{flex:1;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000a;padding:24px;overflow:hidden;display:flex;flex-direction:column}.header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.title-link{font-size:15px;font-weight:600;color:#0891b2;text-decoration:underline;text-underline-offset:3px}.title-link:hover{color:#0e7490}.save-status{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;transition:all .3s ease}.save-status.idle{background:#f1f5f9;color:#64748b}.save-status.saving{background:#fef3c7;color:#d97706}.save-status.saved{background:#d1fae5;color:#059669}.save-status.error{background:#fee2e2;color:#dc2626}.save-status i.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.folder-structure-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:10px;margin-bottom:16px}.folder-path{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#475569}.folder-path i{color:#0891b2}.folder-tabs{display:flex;gap:4px}.folder-tabs button{padding:6px 14px;border-radius:6px;border:none;background:transparent;color:#64748b;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.folder-tabs button:hover{background:#0891b21a;color:#0891b2}.folder-tabs button.active{background:#0891b2;color:#fff}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:6px;background:#fff;border-radius:10px;box-shadow:0 4px 24px #00000026;padding:8px 0;min-width:180px;display:none;z-index:100}.report-dropdown .dropdown-menu{display:none}.report-menu{display:block!important;min-width:220px}.dropdown-header{padding:10px 16px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8}.dropdown-divider{height:1px;background:#e2e8f0;margin:6px 0}.dropdown-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;text-align:left;border:none;background:none;font-size:13px;color:#475569;cursor:pointer;transition:all .15s ease}.dropdown-menu button i{font-size:14px;width:18px}.alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;margin-bottom:12px;font-size:13px}.alert.info{background:#0891b214;color:#0891b2}.alert .xbtn{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.7}.alert .xbtn:hover{opacity:1}.loading,.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b;padding:48px 24px}.empty-state i{font-size:48px;opacity:.4;margin-bottom:12px}.empty-state .hint{font-size:13px;opacity:.7;margin-top:8px}.table-wrapper{flex:1;overflow:auto}.comment-log-table{width:100%;border-collapse:collapse;font-size:13px}.comment-log-table thead{position:sticky;top:0;z-index:10;background:#0891b2}.comment-log-table th{padding:12px 10px;text-align:left;font-weight:600;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.3px;border-right:1px solid rgba(255,255,255,.15)}.comment-log-table th:last-child{border-right:none}.comment-log-table tbody tr{background:#fff;border-bottom:1px solid #e2e8f0;transition:background .15s ease}.comment-log-table tbody tr:nth-child(2n){background:#0891b20a}.comment-log-table tbody tr:hover{background:#0891b214}.comment-log-table tbody tr.resolved-row{background:#22c55e0f}.comment-log-table tbody tr.resolved-row:hover{background:#22c55e1f}.comment-log-table tbody tr.recent-upload-row{background:#fbbf241f;border-left:4px solid #f59e0b}.comment-log-table tbody tr.recent-upload-row:hover{background:#fbbf242e}.comment-log-table tbody tr.recent-upload-row.resolved-row{background:#fbbf2414;border-left-color:#22c55e}.comment-log-table td{padding:12px 10px;vertical-align:top;border-right:1px solid #f1f5f9}.comment-log-table td:last-child{border-right:none}.col-domain{width:70px;font-weight:600;color:#0891b2}.col-variable{width:120px;font-weight:500}.col-label{width:160px;color:#64748b}.col-output-type{width:100px;text-align:center}.col-output-number{width:140px;font-weight:600}.col-output-title{width:220px;max-width:220px}.output-type-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.output-type-badge.table{background:linear-gradient(135deg,#0891b21a,#0891b22e);color:#0891b2;border:1px solid rgba(8,145,178,.25)}.output-type-badge.figure{background:linear-gradient(135deg,#8b5cf61a,#8b5cf62e);color:#7c3aed;border:1px solid rgba(139,92,246,.25)}.output-type-badge.listing{background:linear-gradient(135deg,#f59e0b1a,#f59e0b2e);color:#b45309;border:1px solid rgba(245,158,11,.25)}.output-number{font-family:SF Mono,JetBrains Mono,Consolas,monospace;color:#0891b2;font-weight:600;font-size:13px}.output-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#334155;line-height:1.4}.col-comment{width:90px;text-align:center}.col-user1,.col-user2{width:200px}.col-resolved{width:80px;text-align:center}.col-attach{width:70px;text-align:center}.comment-link{background:none;border:none;color:#0891b2;text-decoration:underline;cursor:pointer;font-size:13px}.comment-link:hover{color:#0e7490}.user-comment{display:flex;flex-direction:column;gap:6px}.user-comment .comment-text{font-size:12px;line-height:1.4;color:#334155}.reply-link{background:none;border:none;color:#0891b2;font-size:11px;cursor:pointer;text-decoration:underline;align-self:flex-start}.reply-link:hover{color:#0e7490}.add-comment-inline input{width:100%;padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;background:#f8fafc}.add-comment-inline input:focus{outline:none;border-color:#0891b2;background:#fff}.resolve-toggle{width:32px;height:32px;border-radius:8px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s ease}.resolve-toggle.not-resolved{color:#f59e0b}.resolve-toggle.not-resolved:hover:not(.disabled){background:#f59e0b1a;color:#d97706}.resolve-toggle.resolved{color:#22c55e}.resolve-toggle.resolved:hover:not(.disabled){background:#22c55e1a}.resolve-toggle:disabled,.resolve-toggle.disabled{opacity:.4;cursor:not-allowed}.attach-wrapper{position:relative;display:inline-block}.attach-btn{width:36px;height:32px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s ease}.attach-btn:hover{background:#0891b2;border-color:#0891b2;color:#fff}.attach-btn.has-files{background:#0891b21a;border-color:#0891b2;color:#0891b2}.attach-btn.has-files:hover{background:#0891b2;color:#fff}.attach-count{font-size:10px;font-weight:600}.attachment-popup{position:absolute;bottom:100%;right:0;margin-bottom:8px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;min-width:260px;z-index:200;overflow:hidden}.popup-header{padding:12px 16px 8px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.popup-list{max-height:200px;overflow-y:auto}.attachment-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:none;background:none;text-align:left;cursor:pointer;transition:background .15s ease}.attachment-item:hover{background:#0891b20f}.attachment-item i{color:#0891b2;font-size:16px}.attachment-item .file-name{flex:1;font-size:13px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-item .file-date{font-size:11px;color:#94a3b8}.popup-add{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;border-top:1px solid #e2e8f0;background:#f8fafc;color:#0891b2;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.popup-add:hover{background:#0891b214}.modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:480px;box-shadow:0 20px 60px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.modal-close{background:none;border:none;font-size:20px;color:#64748b;cursor:pointer}.modal-close:hover{color:#1e293b}.modal-body{padding:20px 24px}.modal-body textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;resize:vertical;font-family:inherit}.modal-body textarea:focus{outline:none;border-color:#0891b2}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 20px}.btn-secondary{padding:10px 20px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-weight:500;cursor:pointer}.btn-secondary:hover{background:#f1f5f9}.btn-primary{padding:10px 20px;border-radius:8px;border:none;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;font-weight:600;cursor:pointer}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.upload-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;border:2px dashed #e2e8f0;border-radius:12px;background:#f8fafc;cursor:pointer;transition:all .2s ease}.upload-dropzone:hover{border-color:#0891b2;background:#0891b20a}.upload-dropzone i{font-size:36px;color:#0891b2;margin-bottom:12px}.upload-dropzone p{font-size:13px;color:#64748b;margin:0}.upload-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.selected-file{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;background:#0891b214;border-radius:8px}.selected-file i{color:#0891b2;font-size:18px}.selected-file span{font-size:13px;color:#334155}.selected-file .file-size{margin-left:auto;color:#64748b;font-size:12px}@media(max-width:1200px){.col-label,.folder-tabs{display:none}}@media(max-width:900px){.col-user2{display:none}}.report-app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.report-main{flex:1;display:flex;padding:0 24px 24px;gap:20px}.report-nav{display:flex;flex-direction:column;gap:12px;padding-top:20px}.report-nav .nav-icon{width:40px;height:40px;border-radius:10px;border:none;background:#fff;color:#0891b2;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000f}.report-nav .nav-icon:hover{background:#0891b2;color:#fff}.report-content{flex:1;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000a;padding:24px;overflow:auto}.header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.header-row .title h1{margin:0 0 6px;font-size:22px;font-weight:700;color:#1e293b}.header-row .title p{margin:0;font-size:13px;color:#64748b}.controls{display:flex;gap:10px;align-items:center}.controls select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#475569;background:#fff;cursor:pointer}.controls select:focus{outline:none;border-color:#0891b2}.btn-icon{width:36px;height:36px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:#0891b2;border-color:#0891b2;color:#fff}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:6px;background:#fff;border-radius:10px;box-shadow:0 4px 24px #00000026;padding:6px 0;min-width:160px;display:none;z-index:100}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu button{display:block;width:100%;padding:10px 16px;text-align:left;border:none;background:none;font-size:13px;color:#475569;cursor:pointer}.dropdown-menu button:hover{background:#0891b214;color:#0891b2}.alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:13px}.alert.error{background:#dc262614;color:#dc2626}.alert .xbtn{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit}.loading,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:#64748b}.loading .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s ease}.stat-card:hover{border-color:#0891b2;box-shadow:0 4px 16px #0891b21a}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#0891b21a;color:#0891b2}.stat-card.resolved .stat-icon{background:#22c55e1a;color:#22c55e}.stat-card.unresolved .stat-icon{background:#f59e0b1a;color:#f59e0b}.stat-card.percentage .stat-icon{background:#7c3aed1a;color:#7c3aed}.stat-value{font-size:28px;font-weight:800;color:#1e293b}.stat-label{font-size:12px;color:#64748b;margin-top:2px}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.chart-card.wide{grid-column:span 2}.chart-card h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#1e293b}.pie-container{display:flex;align-items:center;gap:24px}.pie-chart{flex-shrink:0}.pie-legend{display:flex;flex-direction:column;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569}.legend-item .dot{width:12px;height:12px;border-radius:3px}.legend-item .dot.resolved{background:#22c55ed9}.legend-item .dot.unresolved{background:#6b728040}.bar-chart{display:flex;flex-direction:column;gap:10px}.bar-row{display:flex;align-items:center;gap:12px}.bar-label{width:50px;font-size:12px;font-weight:600;color:#0891b2}.bar-track{flex:1;height:20px;background:#f1f5f9;border-radius:4px;overflow:hidden;display:flex}.bar-fill{height:100%;transition:width .3s ease}.bar-fill.resolved{background:#22c55eb3}.bar-fill.unresolved{background:#f59e0bb3}.bar-value{width:36px;font-size:12px;font-weight:600;color:#475569;text-align:right}.user-filter{display:flex;align-items:center;gap:12px;margin-bottom:16px}.user-filter label{font-size:13px;color:#64748b}.user-filter select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;min-width:200px}.user-table-wrapper{overflow-x:auto}.user-table{width:100%;border-collapse:collapse}.user-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b;border-bottom:1px solid #e2e8f0}.user-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9}.user-table tbody tr{cursor:pointer;transition:background .15s ease}.user-table tbody tr:hover{background:#0891b20a}.user-table tbody tr.selected{background:#0891b214}.user-cell{display:flex;align-items:center;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-name{font-weight:500;color:#1e293b}.user-email{font-size:12px;color:#94a3b8}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.resolved{background:#22c55e1a;color:#22c55e}.badge.unresolved{background:#f59e0b1a;color:#f59e0b}.date{font-size:12px;color:#64748b}.issues-section{margin-top:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.section-header .count{font-size:13px;color:#64748b;background:#f1f5f9;padding:4px 12px;border-radius:20px}.issues-list{display:flex;flex-direction:column;gap:12px}.no-issues{display:flex;flex-direction:column;align-items:center;padding:40px 24px;color:#22c55e}.no-issues i{font-size:48px;margin-bottom:12px}.issue-card{padding:16px 20px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;transition:all .2s ease}.issue-card:hover{border-color:#0891b2}.issue-card.unresolved{border-left:4px solid #f59e0b}.issue-card.resolved{border-left:4px solid #22c55e;opacity:.8}.issue-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.issue-domain{font-weight:600;color:#0891b2;background:#0891b21a;padding:4px 10px;border-radius:6px;font-size:12px}.issue-variable{font-weight:500;color:#1e293b}.issue-status{margin-left:auto;font-size:12px;font-weight:600;color:#f59e0b}.issue-status.resolved{color:#22c55e}.issue-label{font-size:13px;color:#64748b;margin-bottom:12px}.issue-comments{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #f1f5f9}.comment-item{display:flex;gap:8px;font-size:13px;line-height:1.4}.comment-user{font-weight:600;color:#0891b2;white-space:nowrap}.comment-text{color:#475569;flex:1}.comment-date{color:#94a3b8;font-size:11px;white-space:nowrap}@media(max-width:1100px){.stats-row{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}.chart-card.wide{grid-column:span 1}}@media(max-width:700px){.stats-row{grid-template-columns:1fr}}@media print{.report-nav,.controls{display:none}.report-content{box-shadow:none;border-radius:0}}.adrg-upload-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f0f9ff,#e0f2fe,#f0f9ff)}.adrg-upload-main{flex:1;display:flex;padding:0 24px 24px;gap:20px}.adrg-nav{display:flex;flex-direction:column;gap:12px;padding-top:20px}.adrg-nav .nav-icon{width:40px;height:40px;border-radius:10px;border:none;background:#fff;color:#0891b2;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000f}.adrg-nav .nav-icon:hover{background:#0891b2;color:#fff;transform:translateY(-1px)}.adrg-content{flex:1;background:#fff;border-radius:20px;box-shadow:0 8px 32px #0000000f;padding:28px;overflow:hidden;display:flex;flex-direction:column}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.header-info h1{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:22px;font-weight:700;color:#0f172a}.header-info h1 i{color:#0891b2}.header-info .subtitle{margin:0 0 12px;font-size:14px;color:#64748b}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:13px;color:#64748b}.breadcrumb i.bi-chevron-right{font-size:10px;opacity:.5}.breadcrumb .current{font-weight:600;color:#0891b2}.upload-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0891b259}.doc-type-tabs{display:flex;gap:6px;padding:6px;background:#f1f5f9;border-radius:14px;margin-bottom:20px;overflow-x:auto}.doc-type-tabs .tab{padding:10px 18px;border:none;border-radius:10px;background:transparent;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.doc-type-tabs .tab:hover{background:#0891b21a;color:#0891b2}.doc-type-tabs .tab.active{background:#fff;color:#0891b2;box-shadow:0 2px 8px #00000014}.content-area{flex:1;display:grid;grid-template-columns:1fr 400px;gap:24px;min-height:0}.documents-panel,.details-panel{background:#f8fafc;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;display:flex;flex-direction:column}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.panel-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:700;color:#334155}.panel-header h3 i{color:#0891b2}.panel-header .badge{background:#0891b2;color:#fff;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700}.panel-header .close-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease}.panel-header .close-btn:hover{background:#e2e8f0;color:#0f172a}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state i{font-size:48px;color:#cbd5e1;margin-bottom:16px}.empty-state p{color:#64748b;margin-bottom:20px}.empty-state button{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#0891b2;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.empty-state button:hover{background:#0e7490}.documents-list{flex:1;overflow-y:auto;padding:12px}.document-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:10px;cursor:pointer;transition:all .2s ease}.document-card:hover{border-color:#0891b2;box-shadow:0 4px 12px #0891b21a}.document-card.selected{border-color:#0891b2;background:linear-gradient(135deg,#0891b20a,#0891b214)}.doc-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#e0f2fe,#cffafe);display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-icon i{font-size:20px;color:#0891b2}.doc-info{flex:1;min-width:0}.doc-name{font-weight:700;color:#0f172a;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-title{font-size:13px;color:#64748b;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta{display:flex;align-items:center;gap:10px}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.draft{background:#f59e0b1f;color:#b45309;border:1px solid rgba(245,158,11,.25)}.status-badge.final{background:#22c55e1f;color:#166534;border:1px solid rgba(34,197,94,.25)}.date{font-size:12px;color:#94a3b8}.action-btn{width:36px;height:36px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#0891b2;border-color:#0891b2;color:#fff}.details-content{padding:20px;overflow-y:auto}.detail-group{margin-bottom:16px}.detail-group label{display:block;font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.detail-group span{font-size:14px;color:#0f172a}.actions-row{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.btn-secondary,.btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease}.btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.btn-secondary:hover{background:#e2e8f0}.btn-primary{background:linear-gradient(135deg,#0891b2,#0e7490);border:none;color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0891b24d}.modal-dialog{background:#fff;border-radius:20px;box-shadow:0 24px 48px #0003;width:min(560px,90vw);max-height:90vh;overflow:hidden;animation:slideUp .25s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.modal-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:17px;font-weight:700;color:#0f172a}.modal-header h3 i{color:#0891b2}.upload-zone{margin-bottom:24px}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 24px;border:2px dashed #cbd5e1;border-radius:16px;background:#f8fafc;cursor:pointer;transition:all .2s ease}.upload-label:hover{border-color:#0891b2;background:#0891b20a}.upload-label i{font-size:36px;color:#0891b2;margin-bottom:12px}.upload-label span{color:#64748b;font-size:14px}.upload-label .hint{font-size:12px;color:#94a3b8;margin-top:8px}.file-selected{display:flex;flex-direction:column;align-items:center;gap:8px}.file-selected i{color:#22c55e}.file-selected .file-name{font-weight:600;color:#0f172a}.file-selected .file-size{font-size:12px;color:#94a3b8}.status-row{margin-bottom:24px!important}.status-toggle{display:flex;gap:10px}.status-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;color:#64748b;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.status-btn:hover{border-color:#94a3b8}.status-btn.active{border-color:#0891b2;background:linear-gradient(135deg,#0891b214,#0891b226);color:#0891b2}.form-row input,.form-row select{width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;transition:all .2s ease}.form-row input:focus,.form-row select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.form-row input::placeholder{color:#94a3b8}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.btn-submit{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:10px;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #0891b24d}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media(max-width:900px){.content-area{grid-template-columns:1fr}.details-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;z-index:100;box-shadow:-10px 0 40px #00000026}.form-row-group{grid-template-columns:1fr}}.ebr-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#fef3c7,#fef9c3 25%,#fdf4ff 75%,#fce7f3)}.ebr-main{flex:1;display:flex;padding:0 24px 24px;gap:20px}.ebr-nav{display:flex;flex-direction:column;gap:12px;padding-top:20px}.ebr-nav .nav-icon{width:40px;height:40px;border-radius:10px;border:none;background:#fff;color:#d97706;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000f}.ebr-nav .nav-icon:hover{background:#d97706;color:#fff;transform:translateY(-1px)}.ebr-content{flex:1;background:#fff;border-radius:20px;box-shadow:0 8px 32px #0000000f;padding:28px;overflow:hidden;display:flex;flex-direction:column}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.header-info h1{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:24px;font-weight:800;color:#0f172a}.header-info h1 i{color:#d97706}.header-info .subtitle{margin:0;font-size:14px;color:#64748b}.create-btn{display:flex;align-items:center;gap:8px;padding:12px 22px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #d9770640}.create-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #d9770659}.alert{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;margin-bottom:16px;font-size:14px}.alert.success{background:linear-gradient(135deg,#22c55e14,#22c55e26);border:1px solid rgba(34,197,94,.25);color:#166534}.alert.error{background:linear-gradient(135deg,#ef444414,#ef444426);border:1px solid rgba(239,68,68,.25);color:#b91c1c}.alert .close-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:4px}.alert .close-btn:hover{opacity:1}.filters-bar{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box{flex:1;min-width:280px;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s ease}.search-box:focus-within{border-color:#d97706;box-shadow:0 0 0 3px #d977061a}.search-box i{color:#94a3b8}.search-box input{flex:1;border:none;background:none;font-size:14px;color:#0f172a;outline:none}.search-box input::placeholder{color:#94a3b8}.filter-buttons{display:flex;gap:8px}.filter-btn{padding:10px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:#d97706;color:#d97706}.filter-btn.active{background:linear-gradient(135deg,#d977061a,#d977062e);border-color:#d97706;color:#d97706}.ebr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;flex:1;overflow-y:auto}.ebr-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;gap:12px}.ebr-card:hover{border-color:#d97706;box-shadow:0 8px 24px #d977061f;transform:translateY(-2px)}.ebr-card.selected{border-color:#d97706;background:linear-gradient(135deg,#d9770605,#d977060f)}.card-header{display:flex;align-items:center;justify-content:space-between}.agency-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700}.tracking-number{font-family:SF Mono,JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#94a3b8}.card-title{margin:0;font-size:16px;font-weight:700;color:#0f172a;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-desc{margin:0;font-size:13px;color:#64748b;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.study-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#0891b21a;border-radius:10px;font-size:12px;font-weight:600;color:#0891b2}.due-date{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#64748b}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid #f1f5f9;margin-top:auto}.status-badge{padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid}.assignees{display:flex;align-items:center}.assignee-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#818cf8,#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-left:-8px;border:2px solid #fff}.assignee-avatar:first-child{margin-left:0}.assignee-more{width:28px;height:28px;border-radius:50%;background:#f1f5f9;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;margin-left:-8px;border:2px solid #fff}.card-actions{display:none;position:absolute;top:12px;right:12px;gap:6px}.ebr-card:hover .card-actions{display:flex}.action-btn{width:32px;height:32px;border-radius:8px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:14px}.action-btn.complete{background:#22c55e1a;color:#22c55e}.action-btn.complete:hover{background:#22c55e;color:#fff}.action-btn.cancel{background:#ef44441a;color:#ef4444}.action-btn.cancel:hover{background:#ef4444;color:#fff}.action-btn.print{background:#6366f11a;color:#6366f1}.action-btn.print:hover{background:#6366f1;color:#fff}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-state i{font-size:56px;color:#d97706;opacity:.3;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:700;color:#0f172a}.empty-state p{margin:0 0 20px;color:#64748b}.empty-state button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s ease}.empty-state button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #d977064d}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{background:#fff;border-radius:20px;box-shadow:0 24px 48px #0003;width:min(600px,90vw);max-height:90vh;overflow:hidden;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.modal-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:800;color:#0f172a}.modal-header h3 i{color:#d97706}.modal-header .close-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-header .close-btn:hover{background:#0000000f;color:#0f172a}.modal-body{padding:24px;max-height:60vh;overflow-y:auto}.form-row{margin-bottom:18px}.form-row label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:8px}.form-row .required{color:#ef4444}.form-row input,.form-row select,.form-row textarea{width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;transition:all .2s ease;font-family:inherit}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 3px #d977061a}.form-row input::placeholder,.form-row textarea::placeholder{color:#94a3b8}.form-row textarea{resize:vertical;min-height:80px}.form-row-group{display:grid;grid-template-columns:1fr 1fr;gap:16px}.user-search-container{display:flex;flex-direction:column;gap:10px}.selected-users{display:flex;flex-wrap:wrap;gap:8px}.user-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#d977061a;border:1px solid rgba(217,119,6,.2);border-radius:20px;font-size:12px;font-weight:600;color:#92400e}.user-chip button{background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center;opacity:.6}.user-chip button:hover{opacity:1}.user-search-input{position:relative}.user-search-input input{width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px}.user-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 32px #0000001f;max-height:240px;overflow-y:auto;z-index:10;margin-top:4px}.user-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;background:none;cursor:pointer;text-align:left;transition:background .15s ease}.user-option:hover{background:#f8fafc}.user-option .user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.user-option .user-info{flex:1}.user-option .user-name{font-size:13px;font-weight:600;color:#0f172a}.user-option .user-email{font-size:12px;color:#64748b}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid #e5e7eb;background:#f8fafc}.btn-cancel{padding:12px 20px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#475569;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#f1f5f9}.btn-submit{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #d977064d}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.spinner-sm{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner{width:48px;height:48px;border:4px solid #fef3c7;border-top-color:#d97706;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media(max-width:768px){.ebr-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column;align-items:stretch}.filter-buttons{flex-wrap:wrap}.form-row-group{grid-template-columns:1fr}.page-header{flex-direction:column;gap:16px}.create-btn{width:100%;justify-content:center}}.study-setup-page{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-secondary, #f8fafc)}.study-setup-page .study-setup-main{flex:1;display:flex;flex-direction:column}.study-setup-wizard{display:flex;flex-direction:column;flex:1;padding:20px;background:var(--bg-secondary, #f8fafc)}.study-setup-wizard .wizard-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.study-setup-wizard .wizard-nav{display:flex;align-items:center;gap:8px}.study-setup-wizard .btn-back-arrows{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line2, #e2e8f0);border-radius:10px;background:var(--bg-primary, #fff);color:var(--text, #1e293b);font-weight:600;cursor:pointer;transition:all .2s}.study-setup-wizard .btn-back-arrows:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--line, #cbd5e1)}.study-setup-wizard .home-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line2, #e2e8f0);border-radius:10px;background:var(--bg-primary, #fff);color:var(--text, #1e293b);cursor:pointer;transition:all .2s}.study-setup-wizard .home-btn:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--line, #cbd5e1)}.study-wizard-tabs{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.study-wizard-tabs .wizard-tab{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;border:2px solid var(--line2, #e2e8f0);background:var(--bg-primary, #fff);color:var(--muted, #64748b);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;position:relative}.study-wizard-tabs .wizard-tab:after{content:"";position:absolute;right:-12px;width:8px;height:2px;background:var(--line2, #e2e8f0)}.study-wizard-tabs .wizard-tab:last-child:after{display:none}.study-wizard-tabs .wizard-tab:hover:not(:disabled){border-color:#2aa6a6;background:#2aa6a608}.study-wizard-tabs .wizard-tab.active{border-color:#2aa6a6;background:#2aa6a614;color:var(--text, #1e293b);box-shadow:0 0 0 3px #2aa6a61a}.study-wizard-tabs .wizard-tab.completed{border-color:#10b981;background:#10b98114;color:#059669}.study-wizard-tabs .wizard-tab.completed:after{background:#10b981}.study-wizard-tabs .wizard-tab:disabled{cursor:not-allowed;opacity:.6}.study-setup-wizard .wizard-header-right{display:flex;align-items:center;gap:8px}.study-setup-wizard .favorite-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line2, #e2e8f0);border-radius:10px;background:var(--bg-primary, #fff);color:var(--muted, #64748b);cursor:pointer;transition:all .2s}.study-setup-wizard .favorite-btn:hover{background:#fbbf241a;border-color:#fbbf24;color:#f59e0b}.study-setup-wizard .wizard-breadcrumb{font-size:14px;color:var(--muted, #64748b);font-weight:500;padding:0 0 16px;margin-bottom:0}.study-setup-wizard .error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:20px;color:#dc2626}.study-setup-wizard .error-banner button{margin-left:auto;background:none;border:none;color:#dc2626;cursor:pointer;padding:4px}.study-setup-wizard .wizard-content{flex:1;background:var(--bg-primary, #fff);border-radius:16px;border:1px solid var(--line2, #e2e8f0);padding:24px}.wizard-step-content{max-width:800px;margin:0 auto}.wizard-step-content .step-selection-title{font-size:22px;font-weight:700;color:var(--text, #1e293b);margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--line2, #e2e8f0)}.wizard-search-box{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-primary, #fff);border:2px solid var(--line2, #e2e8f0);border-radius:12px;margin-bottom:16px;transition:border-color .2s}.wizard-search-box:focus-within{border-color:#2aa6a6}.wizard-search-box i.bi-search{font-size:16px;color:var(--muted, #64748b)}.wizard-search-box input{flex:1;border:none;background:transparent;font-size:15px;color:var(--text, #1e293b);outline:none}.wizard-search-box input::placeholder{color:var(--muted, #94a3b8)}.wizard-selection-area{display:flex;align-items:flex-start;gap:16px}.wizard-selection-area .choose-label{font-size:14px;font-weight:600;color:var(--muted, #64748b);padding-top:16px;min-width:60px}.selection-list-wrapper{flex:1}.selection-list-wrapper.scrollable{max-height:300px;overflow-y:auto}.wizard-step-content .selection-list{display:flex;flex-direction:column;gap:10px}.wizard-step-content .selection-item{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--bg-primary, #fff);border:2px solid var(--line2, #e2e8f0);border-radius:12px;cursor:pointer;transition:all .2s}.wizard-step-content .selection-item:hover{border-color:#2aa6a6;background:#2aa6a608}.wizard-step-content .selection-item.selected{border-color:#2aa6a6;background:#2aa6a614}.wizard-step-content .selection-item .item-link{font-size:15px;font-weight:700;color:var(--text, #1e293b)}.wizard-step-content .selection-item.selected .item-link{color:#2aa6a6}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px;color:var(--muted, #64748b)}.loading-state .spinner{width:36px;height:36px;border:3px solid var(--line2, #e2e8f0);border-top-color:#2aa6a6;border-radius:50%;animation:spin .8s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px;color:var(--muted, #64748b);text-align:center}.empty-state i{font-size:48px;opacity:.5}.wizard-step-content.domain-step .domain-header-actions{display:flex;gap:10px;position:absolute;top:24px;right:24px}.wizard-step-content.domain-step{position:relative}.domain-header-actions .report-btn,.domain-header-actions .sdtm-all-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.domain-header-actions .report-btn{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.domain-header-actions .report-btn:hover{background:#3b82f633}.domain-header-actions .sdtm-all-btn{background:#8b5cf61a;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.domain-header-actions .sdtm-all-btn:hover{background:#8b5cf633}.domain-upload-section{margin-top:24px;padding-top:24px;border-top:2px solid var(--line2, #e2e8f0)}.domain-upload-section .upload-actions{display:flex;align-items:center;gap:12px;margin-bottom:16px}.domain-upload-section .replace-btn{padding:10px 20px;font-size:14px;font-weight:600;color:var(--text, #1e293b);background:var(--bg-secondary, #f1f5f9);border:1px solid var(--line2, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .2s}.domain-upload-section .replace-btn:hover:not(:disabled){background:var(--line2, #e2e8f0)}.domain-upload-section .replace-btn:disabled{opacity:.6;cursor:not-allowed}.domain-upload-section .attach-upload-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:10px;cursor:pointer;transition:all .2s}.domain-upload-section .attach-upload-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #8b5cf64d}.domain-upload-section .attach-upload-btn:disabled{opacity:.6;cursor:not-allowed}.domain-upload-section .last-uploaded-info{font-size:13px;color:var(--muted, #64748b);margin-bottom:16px}.domain-upload-section .upload-progress{font-size:13px;color:#8b5cf6;margin-bottom:16px;font-weight:500}.domain-upload-section .upload-notes{padding:16px;background:#2aa6a60f;border-radius:12px}.domain-upload-section .upload-notes p{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text, #1e293b)}.domain-upload-section .upload-notes ul{margin:0;padding-left:20px;font-size:13px;color:var(--muted, #64748b);line-height:1.6}.domain-upload-section .upload-notes ul li{margin-bottom:4px}.domain-header-actions .archive-btn,.domain-header-actions .sdtm-archive-btn,.domain-header-actions .adam-archive-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.domain-header-actions .archive-btn,.domain-header-actions .sdtm-archive-btn{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.domain-header-actions .adam-archive-btn{background:#0891b21a;color:#0891b2;border:1px solid rgba(8,145,178,.3)}.domain-header-actions .archive-btn:hover,.domain-header-actions .sdtm-archive-btn:hover{background:#10b98133}.domain-header-actions .adam-archive-btn:hover{background:#0891b233}.unresolved-indicator{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef3c7;border:1px solid #fbbf24;border-radius:10px;color:#92400e;cursor:pointer;margin-bottom:16px;transition:all .2s}.unresolved-indicator:hover{background:#fde68a}.unresolved-indicator i{font-size:18px;color:#f59e0b}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.unresolved-popup{background:var(--bg-primary, #fff);border-radius:16px;box-shadow:0 20px 60px #0003;max-width:600px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.unresolved-popup .popup-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line2, #e2e8f0);background:#fef3c7}.unresolved-popup .popup-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700;color:#92400e}.unresolved-popup .popup-header h3 i{color:#f59e0b}.unresolved-popup .close-btn{background:none;border:none;font-size:18px;color:#92400e;cursor:pointer;padding:4px;border-radius:6px;transition:background .2s}.unresolved-popup .close-btn:hover{background:#0000001a}.unresolved-popup .popup-body{padding:24px;overflow-y:auto;flex:1}.unresolved-popup .popup-info{margin:0 0 20px;color:var(--muted, #64748b);font-size:14px}.unresolved-popup .issues-list{display:flex;flex-direction:column;gap:16px}.unresolved-popup .issue-item{padding:16px;background:#fefce8;border:1px solid #fef08a;border-radius:12px}.unresolved-popup .issue-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.unresolved-popup .issue-type{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;background:#dc2626;color:#fff}.unresolved-popup .issue-type.ae-domain-validation{background:#ea580c}.unresolved-popup .issue-type.studyid-mismatch{background:#dc2626}.unresolved-popup .issue-type.suppqual-validation{background:#7c3aed}.unresolved-popup .issue-domain{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:var(--bg-secondary, #f1f5f9);color:var(--text, #1e293b)}.unresolved-popup .issue-message{font-size:14px;color:var(--text, #1e293b);margin-bottom:12px;line-height:1.5}.unresolved-popup .issue-details{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px}.unresolved-popup .detail-label{font-weight:600;color:var(--muted, #64748b)}.unresolved-popup .detail-value{font-family:SF Mono,Consolas,monospace;padding:2px 8px;background:#0000000d;border-radius:4px;color:var(--text, #1e293b)}.unresolved-popup .resolve-btn{margin-top:12px;padding:8px 16px;font-size:13px;font-weight:600;background:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.unresolved-popup .resolve-btn:hover:not(:disabled){background:#059669}.unresolved-popup .resolve-btn:disabled{opacity:.6;cursor:not-allowed}.unresolved-popup .popup-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--line2, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.btn-secondary{padding:10px 20px;font-size:14px;font-weight:600;background:var(--bg-secondary, #f1f5f9);color:var(--text, #1e293b);border:1px solid var(--line2, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--line2, #e2e8f0)}.archive-modal{background:var(--bg-primary, #fff);border-radius:16px;box-shadow:0 20px 60px #0003;max-width:800px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.archive-modal .popup-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line2, #e2e8f0);background:linear-gradient(135deg,#10b9811a,#2aa6a61a)}.archive-modal .popup-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700;color:#059669}.archive-modal .popup-header h3 i{color:#10b981}.archive-modal .close-btn{background:none;border:none;font-size:18px;color:var(--muted, #64748b);cursor:pointer;padding:4px;border-radius:6px;transition:background .2s}.archive-modal .close-btn:hover{background:#0000001a}.archive-modal .popup-body{padding:24px;overflow-y:auto;flex:1}.archive-modal .archive-info{margin:0 0 20px;color:var(--muted, #64748b);font-size:14px}.archive-modal .archive-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.archive-modal .export-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;background:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.archive-modal .export-btn:hover{background:#059669}.archive-modal .archive-table{width:100%;border-collapse:collapse}.archive-modal .archive-table th,.archive-modal .archive-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line2, #e2e8f0)}.archive-modal .archive-table th{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted, #64748b);background:var(--bg-secondary, #f8fafc)}.archive-modal .archive-table td{font-size:14px;color:var(--text, #1e293b)}.archive-modal .archive-table td i{margin-right:8px;color:#059669}.archive-modal .archived-row{background:#fef3c7}.archive-modal .status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.archive-modal .status-badge.synced{background:#10b98126;color:#059669}.archive-modal .status-badge.archived{background:#fbbf2426;color:#d97706}.archive-modal .popup-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--line2, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.domain-header-actions .tfl-archive-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;background:#0891b21a;color:#0891b2;border:1px solid rgba(8,145,178,.3)}.domain-header-actions .tfl-archive-btn:hover{background:#0891b233}.tfl-step{padding:20px}.tfl-upload-section{background:var(--bg-primary, #fff);border-radius:12px;border:1px solid var(--line2, #e2e8f0);padding:24px;margin-top:20px}.tfl-current-version{display:flex;flex-direction:column;gap:8px}.tfl-current-version .label{font-weight:600;color:var(--text, #1e293b);font-size:14px}.tfl-current-version .file-link{color:#0891b2;text-decoration:underline;font-size:14px;cursor:pointer}.tfl-current-version .file-link:hover{color:#0e7490}.tfl-current-version .no-file{color:var(--muted, #64748b);font-style:italic;font-size:14px}.tfl-current-version .version-info{font-size:13px;color:var(--muted, #64748b);margin-top:4px}.tfl-upload-divider{height:1px;background:var(--line2, #e2e8f0);margin:20px 0}.tfl-upload-controls{display:flex;flex-direction:column;gap:16px}.upload-new-version-label{font-size:13px;font-weight:500;color:var(--muted, #64748b);text-decoration:underline}.upload-buttons-row{display:flex;gap:12px;align-items:center}.attach-upload-btn.tfl{background:#7dd3fc;color:#0c4a6e;border:1px solid #7dd3fc}.attach-upload-btn.tfl:hover{background:#38bdf8;border-color:#38bdf8}.content-start-page{display:flex;align-items:center;gap:12px;margin-top:8px}.content-start-page label{font-size:13px;font-weight:500;color:var(--text, #1e293b);border:1px solid var(--line2, #e2e8f0);padding:8px 16px;border-radius:8px;background:#7dd3fc}.content-start-page input{width:80px;padding:8px 12px;border:1px solid var(--line2, #e2e8f0);border-radius:8px;font-size:14px;text-align:center}.content-start-page input:focus{outline:none;border-color:#0891b2}.tfl-actions{display:flex;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--line2, #e2e8f0)}.next-btn{padding:10px 32px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;background:var(--bg-primary, #fff);color:var(--text, #1e293b);border:1px solid var(--line2, #e2e8f0)}.next-btn:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9)}.next-btn:disabled{opacity:.5;cursor:not-allowed}.esub-step{position:relative}.esub-subtitle{text-align:center;font-size:14px;font-weight:600;color:var(--text, #1e293b);margin-bottom:20px}.esub-actions{display:flex;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--line2, #e2e8f0)}.esub-upload-step{position:relative}.esub-upload-section{background:var(--bg-primary, #fff);border:1px solid var(--line2, #e2e8f0);border-radius:12px;padding:20px}.esub-view-review{display:flex;align-items:flex-start;gap:20px;padding:16px;background:#f8fafc;border:1px solid var(--line2, #e2e8f0);border-radius:8px;margin-bottom:20px}.view-review-label{font-weight:600;color:var(--text, #1e293b);min-width:130px;padding:8px 12px;border:1px solid var(--line2, #e2e8f0);border-radius:6px;background:#fff}.view-review-content{flex:1;display:flex;flex-direction:column;gap:4px}.view-review-content .file-link{color:#0891b2;text-decoration:underline;font-weight:500}.view-review-content .upload-prompt{color:#0891b2;text-decoration:underline;cursor:pointer}.view-review-content .version-info-text{font-size:12px;color:var(--muted, #64748b)}.review-status-badges{display:flex;flex-direction:column;gap:8px}.review-status-badges .status-badge{padding:6px 12px;font-size:12px;font-weight:500;border-radius:6px;text-align:center}.review-status-badges .status-badge.review{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.review-status-badges .status-badge.assigned{background:#fef3c7;color:#d97706;border:1px solid #fde68a}.esub-upload-divider{height:1px;background:var(--line2, #e2e8f0);margin:16px 0}.esub-upload-controls{padding:16px;background:#f8fafc;border:1px solid var(--line2, #e2e8f0);border-radius:8px}.upload-label{font-weight:600;color:var(--text, #1e293b);min-width:100px;padding:8px 12px;border:1px solid var(--line2, #e2e8f0);border-radius:6px;background:#fff;display:inline-block;margin-bottom:12px}.upload-buttons-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.upload-adrg-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line2, #e2e8f0);border-radius:8px;background:var(--bg-primary, #fff);color:var(--text, #1e293b);font-weight:600;cursor:pointer;transition:all .2s}.upload-adrg-btn:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9);border-color:var(--line, #cbd5e1)}.upload-adrg-btn:disabled{opacity:.5;cursor:not-allowed}.upload-adrg-btn i{font-size:14px}.status-dropdown{min-width:120px}.status-dropdown select{width:100%;padding:10px 12px;border:1px solid var(--line2, #e2e8f0);border-radius:8px;background:#fff;font-size:14px;color:var(--text, #1e293b);cursor:pointer}.status-dropdown select:focus{outline:none;border-color:#0891b2}.upload-new-version-link{color:#0891b2;text-decoration:underline;font-size:13px;cursor:pointer}.upload-prompt-text{color:#0891b2;font-style:italic}.version-info-text.uploaded{color:#059669;font-weight:500}.preview-modal{background:var(--bg-primary, #fff);border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.preview-body{max-height:60vh;overflow-y:auto}.preview-info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#dbeafe;border-radius:8px;color:#1e40af;font-size:13px;margin-bottom:20px}.preview-info i{font-size:18px}.preview-document{display:flex;flex-direction:column;gap:16px}.preview-placeholder{display:flex;align-items:center;gap:20px;padding:16px;background:#f8fafc;border:1px solid var(--line2, #e2e8f0);border-radius:12px}.preview-placeholder>i{font-size:48px;color:#dc2626}.preview-details h4{margin:0 0 8px;font-size:16px;color:var(--text, #1e293b)}.preview-details p{margin:4px 0;font-size:13px;color:var(--muted, #64748b)}.preview-pages{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.preview-page{width:180px;background:#fff;border:1px solid var(--line2, #e2e8f0);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.preview-page .page-header{background:#f1f5f9;padding:8px 12px;font-size:12px;font-weight:600;color:var(--muted, #64748b);border-bottom:1px solid var(--line2, #e2e8f0)}.preview-page .page-content{padding:16px;display:flex;flex-direction:column;gap:8px;min-height:120px}.preview-page .page-line{height:8px;background:#e2e8f0;border-radius:4px}.preview-page .page-line.short{width:60%}.preview-page .page-line.medium{width:80%}.preview-limited-note{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#fef3c7;border-radius:8px;color:#92400e;font-size:13px;font-weight:500}.preview-limited-note i{font-size:14px}.adrg-archive-btn{padding:8px 16px;font-size:13px;font-weight:600;color:var(--text, #1e293b);background:var(--bg-primary, #fff);border:1px solid var(--line2, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s}.adrg-archive-btn:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--line, #cbd5e1)}@media(max-width:768px){.study-wizard-tabs{flex-wrap:wrap;justify-content:flex-start}.study-wizard-tabs .wizard-tab{font-size:12px;padding:8px 12px}.study-wizard-tabs .wizard-tab:after{display:none}.wizard-selection-area{flex-direction:column;gap:8px}.wizard-selection-area .choose-label{padding-top:0}.domain-header-actions{position:static!important;margin-bottom:16px}.upload-buttons-row,.content-start-page{flex-direction:column;align-items:flex-start}.esub-view-review{flex-direction:column;gap:12px}.review-status-badges{flex-direction:row}}.upload-step .upload-step-content{display:flex;flex-direction:column;gap:24px;padding:20px 0}.upload-step .upload-prompt{text-align:center;padding:20px}.upload-step .upload-prompt h3{margin:0 0 8px;font-size:1.25rem;color:var(--text, #1e293b)}.upload-step .upload-prompt p{margin:0;color:var(--text-secondary, #64748b)}.upload-step .last-uploaded-info-box{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #6ee7b7;border-radius:12px}.upload-step .last-uploaded-info-box>i{font-size:24px;color:#10b981}.upload-step .last-uploaded-info-box>div{display:flex;flex-direction:column;gap:4px;flex:1}.upload-step .last-uploaded-info-box strong{color:#047857}.upload-step .last-uploaded-info-box .upload-date{font-size:.85rem;color:#059669}.upload-step .btn-use-existing{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.upload-step .btn-use-existing:hover{background:#059669}.upload-step .upload-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.upload-step .upload-option{display:flex;gap:16px;padding:24px;background:var(--bg-primary, #fff);border:2px dashed var(--line2, #e2e8f0);border-radius:16px;transition:all .2s}.upload-step .upload-option:hover{border-color:var(--primary, #0d9488);background:#f0fdfa}.upload-step .option-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border-radius:12px}.upload-step .option-icon i{font-size:28px;color:#0d9488}.upload-step .option-content{flex:1;display:flex;flex-direction:column;gap:8px}.upload-step .option-content h4{margin:0;font-size:1rem;color:var(--text, #1e293b)}.upload-step .option-content p{margin:0;font-size:.875rem;color:var(--text-secondary, #64748b)}.upload-step .btn-upload-file,.upload-step .btn-select-storage{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--primary, #0d9488);border-radius:8px;background:transparent;color:var(--primary, #0d9488);font-weight:500;cursor:pointer;transition:all .2s;width:fit-content;margin-top:8px}.upload-step .btn-upload-file:hover,.upload-step .btn-select-storage:hover{background:var(--primary, #0d9488);color:#fff}.upload-step .selected-file-box{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fffbeb;border:1px solid #fbbf24;border-radius:12px}.upload-step .selected-file-box>i{font-size:28px;color:#16a34a}.upload-step .selected-file-box .file-info{flex:1;display:flex;flex-direction:column;gap:2px}.upload-step .selected-file-box .file-name{font-weight:600;color:var(--text, #1e293b)}.upload-step .selected-file-box .file-size{font-size:.85rem;color:var(--text-secondary, #64748b)}.upload-step .btn-upload-now{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.upload-step .btn-upload-now:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d94884d}.upload-step .btn-upload-now:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-step .btn-cancel-file{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;cursor:pointer;transition:all .2s}.upload-step .btn-cancel-file:hover{background:#fef2f2}.upload-step .spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.upload-step .btn-select-file{padding:6px 12px;background:var(--primary, #0d9488);color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .2s}.upload-step .btn-select-file:hover{background:#0f766e}.domain-info-section{display:flex;flex-direction:column;gap:12px;margin-top:16px}.loaded-file-info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;font-size:.9rem}.loaded-file-info>i{font-size:18px;color:#16a34a}.loaded-file-info .upload-date{color:var(--text-secondary, #64748b);margin-left:4px}.btn-change-file{margin-left:auto;padding:6px 12px;background:transparent;border:1px solid var(--line, #cbd5e1);border-radius:6px;color:var(--text-secondary, #64748b);font-size:.85rem;cursor:pointer;transition:all .2s}.btn-change-file:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text, #1e293b)}.data-issue-log-app{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-secondary, #f8fafc)}.data-issue-log-main{flex:1;display:flex;flex-direction:column;padding:20px}.dil-nav{display:flex;align-items:center;gap:8px;margin-bottom:16px}.dil-nav .nav-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line2, #e2e8f0);border-radius:8px;background:var(--bg-primary, #fff);color:var(--text, #1e293b);cursor:pointer;transition:all .2s}.dil-nav .nav-icon:hover{background:var(--bg-secondary, #f1f5f9)}.dil-content{flex:1;background:var(--bg-primary, #fff);border-radius:12px;border:1px solid var(--line2, #e2e8f0);padding:20px}.dil-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line2, #e2e8f0)}.dil-title{font-size:16px;font-weight:600;color:#0891b2;text-decoration:underline}.dil-header-actions{display:flex;align-items:center;gap:12px}.dil-action-btn{padding:8px 16px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.dil-action-btn.dm-btn{background:#e0f2f1;color:#00796b;border:1px solid #80cbc4}.dil-action-btn.dm-btn:hover{background:#b2dfdb}.dil-action-btn.report-btn{background:var(--bg-primary, #fff);color:var(--text, #1e293b);border:1px solid var(--line2, #e2e8f0)}.dil-action-btn.report-btn:hover{background:var(--bg-secondary, #f1f5f9)}.dil-save-row{display:flex;justify-content:flex-end;margin-bottom:16px}.dil-grid-wrapper{overflow-x:auto}.dil-grid{width:100%;border-collapse:collapse;font-size:13px}.dil-grid th,.dil-grid td{padding:10px 12px;text-align:left;border:1px solid var(--line2, #e2e8f0);vertical-align:top}.dil-grid th{background:#f1f5f9;font-weight:600;color:var(--text, #1e293b);white-space:nowrap}.dil-grid th i{font-size:10px;margin-left:4px;opacity:.6}.col-comment{width:80px;text-align:center}.col-dataset,.col-variable{width:120px}.col-user1,.col-user2{min-width:200px}.col-resolved{width:100px;text-align:center}.col-critical,.col-attach{width:80px;text-align:center}.data-row.critical-row{background:#ffebee!important}.data-row.resolved-row{opacity:.7}.edit-cell textarea{width:100%;min-height:60px;padding:8px;border:1px solid #0891b2;border-radius:6px;font-size:13px;resize:vertical}.edit-cell textarea:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 2px #0891b233}.resolve-toggle,.critical-toggle{display:flex;justify-content:center}.toggle-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:4px;border-radius:4px;transition:all .2s}.toggle-btn:hover{background:#0000000d}.toggle-btn.resolved i{color:#059669}.toggle-btn.not-resolved i{color:#d97706}.toggle-btn.critical i{color:#dc2626}.attach-count{font-size:11px;font-weight:600;background:#0891b2;color:#fff;padding:2px 6px;border-radius:10px}.attach-item{padding:8px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.attach-item i{color:var(--muted, #64748b)}.dil-summary{display:flex;gap:24px;padding:16px;margin-top:16px;background:#f8fafc;border-radius:8px;font-size:14px}.dil-summary span{color:var(--muted, #64748b)}.dil-summary strong{color:var(--text, #1e293b)}@media(max-width:768px){.dil-header-row{flex-direction:column;align-items:flex-start;gap:12px}.dil-header-actions{width:100%;justify-content:flex-end}.dil-summary{flex-wrap:wrap;gap:12px}}.rg-notes-app{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-secondary, #f8fafc)}.rg-notes-main{flex:1;display:flex;flex-direction:column;padding:20px}.rgn-nav{display:flex;align-items:center;gap:8px;margin-bottom:16px}.rgn-nav .nav-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line2, #e2e8f0);border-radius:8px;background:var(--bg-primary, #fff);color:var(--text, #1e293b);cursor:pointer;transition:all .2s}.rgn-nav .nav-icon:hover{background:var(--bg-secondary, #f1f5f9)}.rgn-content{flex:1;background:var(--bg-primary, #fff);border-radius:12px;border:1px solid var(--line2, #e2e8f0);padding:20px}.rgn-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line2, #e2e8f0)}.rgn-title{font-size:16px;font-weight:600;color:#0891b2;text-decoration:underline}.rgn-header-actions{display:flex;align-items:center;gap:12px}.rgn-action-btn{padding:8px 16px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.rgn-action-btn.data-btn{background:#e0f2f1;color:#00796b;border:1px solid #80cbc4}.rgn-action-btn.data-btn:hover{background:#b2dfdb}.rgn-action-btn.report-btn{background:var(--bg-primary, #fff);color:var(--text, #1e293b);border:1px solid var(--line2, #e2e8f0)}.rgn-action-btn.report-btn:hover{background:var(--bg-secondary, #f1f5f9)}.rgn-save-row{display:flex;justify-content:flex-end;margin-bottom:16px}.save-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--text, #1e293b);background:var(--bg-primary, #fff);border:1px solid var(--line2, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.alert.error{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:16px}.alert .xbtn{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;padding:4px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--muted, #64748b)}.spinner{width:40px;height:40px;border:3px solid var(--line2, #e2e8f0);border-top-color:#0891b2;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.rgn-grid-wrapper{overflow-x:auto}.rgn-grid{width:100%;border-collapse:collapse;font-size:13px}.rgn-grid th,.rgn-grid td{padding:10px 12px;text-align:left;border:1px solid var(--line2, #e2e8f0);vertical-align:top}.rgn-grid th{background:#f1f5f9;font-weight:600;color:var(--text, #1e293b);white-space:nowrap;text-align:center}.col-comment{width:100px;text-align:center}.col-notes{min-width:200px}.col-domain{width:120px}.col-rg-type,.col-updated{width:120px;text-align:center}.col-attach{width:100px;text-align:center}.data-row{background:#e0f7fa}.data-row:nth-child(odd){background:#b2ebf2}.new-row{background:#fff}.comment-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text, #1e293b)}.comment-btn .comment-link{color:#0891b2;text-decoration:underline;font-size:12px}.comment-btn:hover{color:#0891b2}.click-prompt{color:var(--muted, #64748b);font-style:italic;cursor:pointer;border:1px dashed var(--line2, #e2e8f0);padding:4px 8px;border-radius:4px;display:inline-block}.click-prompt:hover{border-color:#0891b2;color:#0891b2}.cell-content{min-height:24px;cursor:pointer;padding:4px;border-radius:4px}.cell-content:hover{background:#ffffff80}.edit-cell{display:flex;flex-direction:column;gap:8px}.edit-cell textarea,.edit-cell input{width:100%;padding:8px;border:1px solid #0891b2;border-radius:6px;font-size:13px}.edit-cell textarea{min-height:60px;resize:vertical}.edit-cell textarea:focus,.edit-cell input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 2px #0891b233}.edit-actions{display:flex;gap:8px}.edit-actions button{padding:4px 8px;border-radius:4px;cursor:pointer;border:none}.edit-actions .btn-save{background:#059669;color:#fff}.edit-actions .btn-cancel{background:#dc2626;color:#fff}.rg-type-select{width:100%;padding:6px 8px;border:1px solid var(--line2, #e2e8f0);border-radius:6px;background:#fff;font-size:12px;cursor:pointer}.rg-type-select:focus{outline:none;border-color:#0891b2}.update-icons{display:flex;justify-content:center;gap:8px}.icon-btn{background:none;border:none;cursor:pointer;font-size:20px;padding:4px;border-radius:4px;transition:all .2s}.icon-btn:hover{background:#0000000d}.text-success{color:#059669}.text-warning{color:#d97706}.text-danger{color:#dc2626}.text-muted{color:#94a3b8}.attach-container{position:relative;display:inline-flex;align-items:center;gap:4px}.attach-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line2, #e2e8f0);border-radius:6px;background:var(--bg-primary, #fff);cursor:pointer;transition:all .2s}.attach-btn:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9);border-color:#0891b2}.attach-btn:disabled{opacity:.5;cursor:not-allowed}.attach-popup{position:absolute;top:100%;right:0;z-index:100;background:#fff;border:1px solid var(--line2, #e2e8f0);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;padding:8px 0}.attach-popup-title{padding:8px 12px;font-weight:600;font-size:12px;color:var(--muted, #64748b);border-bottom:1px solid var(--line2, #e2e8f0)}.attach-item{padding:8px 12px;cursor:pointer;font-size:13px;color:#0891b2}.attach-item:hover{background:var(--bg-secondary, #f1f5f9)}.rgn-hint{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:16px;background:#e9d5ff;border-radius:8px;color:#7c3aed;font-size:13px;font-weight:500}.rgn-summary{display:flex;gap:24px;padding:16px;margin-top:16px;background:#f8fafc;border-radius:8px;font-size:14px}.rgn-summary span{color:var(--muted, #64748b)}.rgn-summary strong{color:var(--text, #1e293b)}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.data-attachments-modal{background:var(--bg-primary, #fff);border-radius:16px;width:90%;max-width:700px;max-height:80vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line2, #e2e8f0)}.modal-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;color:var(--text, #1e293b)}.modal-header .close-btn{background:none;border:none;font-size:18px;color:var(--muted, #64748b);cursor:pointer;padding:4px}.modal-body{padding:20px;max-height:50vh;overflow-y:auto}.modal-footer{padding:16px 20px;border-top:1px solid var(--line2, #e2e8f0);display:flex;justify-content:flex-end}.btn-secondary{padding:8px 16px;font-size:13px;font-weight:600;color:var(--text, #1e293b);background:var(--bg-primary, #fff);border:1px solid var(--line2, #e2e8f0);border-radius:8px;cursor:pointer}.btn-secondary:hover{background:var(--bg-secondary, #f1f5f9)}.attachments-table{width:100%;border-collapse:collapse}.attachments-table th,.attachments-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line2, #e2e8f0)}.attachments-table th{font-weight:600;color:var(--muted, #64748b);font-size:12px;text-transform:uppercase}.attachments-table td i{margin-right:8px;color:var(--muted, #64748b)}.download-btn{background:none;border:none;color:#0891b2;cursor:pointer;font-size:16px}.download-btn:hover{color:#0e7490}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--muted, #64748b)}.empty-state i{font-size:48px;margin-bottom:12px}@media(max-width:768px){.rgn-header-row{flex-direction:column;align-items:flex-start;gap:12px}.rgn-header-actions{width:100%;justify-content:flex-end}.rgn-summary{flex-wrap:wrap;gap:12px}}:root{--primary-teal: #5FAeb0;--secondary-teal: #4e9a9c;--dark-text: #333333;--light-text: #666666;--bg-gradient-start: #eef2f3;--bg-gradient-end: #d9e4e5}*{box-sizing:border-box;margin:0;padding:0;font-family:Poppins,sans-serif}body{margin:0;min-height:100vh;background:#fff;overflow-y:visible;overflow-x:hidden}.auth-layout{background:radial-gradient(circle at 10% 20%,var(--bg-gradient-start),var(--bg-gradient-end));background-image:radial-gradient(circle at 10% 20%,var(--bg-gradient-start),var(--bg-gradient-end)),repeating-linear-gradient(0deg,transparent,transparent 49px,rgba(95,174,176,.05) 49px,rgba(95,174,176,.05) 50px),repeating-linear-gradient(90deg,transparent,transparent 49px,rgba(95,174,176,.05) 49px,rgba(95,174,176,.05) 50px);min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center;padding:20px;position:relative;overflow-x:hidden}.main-container{display:flex;width:100%;max-width:1100px;justify-content:space-between;align-items:center;z-index:2}.brand-section{flex:1;padding-right:50px;animation:fadeInMoveLeft .8s ease-out}.logo-container{display:flex;align-items:center;margin-bottom:25px}.logo-icon .logo-img{width:100%;height:100%;margin-right:0;filter:drop-shadow(0 0 5px rgba(95,174,176,.3));display:block}.tagline{color:var(--primary-teal);font-size:1.6rem;line-height:1.4;font-weight:400;text-shadow:0 1px 2px rgba(255,255,255,.8)}.login-card-container{flex:1;display:flex;justify-content:flex-end;animation:fadeInMoveRight .8s ease-out}.login-card{width:100%;max-width:420px;background:#ffffffbf;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.6);padding:50px 40px;border-radius:24px;box-shadow:0 15px 35px #0000001a,0 5px 15px #0000000d;text-align:center;transition:transform .3s ease}.login-card:hover{transform:translateY(-5px)}.input-group{position:relative;margin-bottom:30px;text-align:left}.input-field{width:100%;padding:12px 0;font-size:1rem;color:var(--dark-text);border:none;border-bottom:2px solid #ddd;outline:none;background:transparent;transition:border-color .3s}.input-label{position:absolute;top:12px;left:0;font-size:1rem;color:#999;pointer-events:none;transition:.3s ease all}.input-field:focus~.input-label,.input-field:not(:placeholder-shown)~.input-label{top:-18px;font-size:.85rem;color:var(--primary-teal);font-weight:500}.input-field:focus{border-bottom:2px solid var(--primary-teal)}.input-bar{position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--primary-teal);transition:.4s}.input-field:focus~.input-bar{width:100%}.btn-main{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary-teal),var(--secondary-teal));border:none;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;border-radius:12px;transition:all .3s ease;box-shadow:0 4px 15px #5faeb04d;display:flex;justify-content:center;align-items:center;gap:10px}.btn-main:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5faeb080}.btn-main:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 4px 15px #5faeb04d}.btn-icon{width:16px;height:16px;fill:currentColor;transition:transform .3s ease}.btn-main:hover .btn-icon{transform:translate(4px)}.forgot-pass{display:inline-block;margin:25px 0;color:var(--primary-teal);text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s}.forgot-pass:hover{color:var(--secondary-teal);text-decoration:underline}.divider{height:1px;background:linear-gradient(to right,transparent,#ddd,transparent);margin:0 0 25px;width:100%}.btn-secondary{background:transparent;border:2px solid var(--primary-teal);padding:12px 25px;font-size:1rem;font-weight:600;color:var(--primary-teal);cursor:pointer;border-radius:12px;transition:all .3s}.btn-secondary:hover{background:var(--primary-teal);color:#fff;box-shadow:0 4px 15px #5faeb033}.footer{position:absolute;bottom:20px;left:40px;color:var(--primary-teal);font-size:.9rem;opacity:.8}@keyframes fadeInMoveLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInMoveRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media(max-width:968px){.main-container{flex-direction:column;gap:50px}.brand-section{padding-right:0;text-align:center;align-items:center;display:flex;flex-direction:column}.logo-container{justify-content:center}.tagline{font-size:1.3rem}.login-card-container{justify-content:center;width:100%}.footer{position:relative;bottom:auto;left:auto;margin-top:40px;text-align:center}}@media(max-width:480px){.login-card{padding:30px 25px}.logo-icon .logo-img{width:60px;height:60px}}
