@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap";: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}}input[type=date]{color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;filter:invert(0)}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}: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}.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:100}.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-button{position:relative;background:none;border:none;cursor:pointer;padding:0;isolation:isolate}.profile-dropdown{position:relative;isolation:isolate}.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:99999;animation:dropdownFadeIn .15s ease;pointer-events:auto}@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}}body{padding-bottom:90px}.app-footer{position:fixed;bottom:0;left:0;right:0;z-index:100;border-top:1px solid var(--line);padding:16px;color:var(--muted2);font-size:11px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;background:#fff}.footer-brand{font-size:14px;font-weight:700;color:var(--fg);letter-spacing:.5px}.footer-copyright{color:var(--muted2);font-size:11px}.footer-links{display:flex;align-items:center;gap:8px}.app-footer a{color:var(--teal);text-decoration:none;font-weight:600}.app-footer a:hover{text-decoration:underline}@media(max-width:768px){.app-footer{text-align:center;gap:4px}}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)}.section-actions{display:inline-flex;align-items:center;gap:8px}.section-collapse-btn{width:34px;height:34px}.divider-soft{border:none;border-top:1px solid var(--line);margin:12px 0}.collapsed-summary{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#11182705;border:1px dashed var(--line2);border-radius:var(--r16);color:var(--muted);font-size:12px;cursor:pointer}.collapsed-summary:hover{background:#2aa6a60d;border-color:#2aa6a640}.collapsed-summary i{color:var(--muted2);font-size:14px;flex-shrink:0}.collapsed-summary p{margin:0;line-height:1.3}.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;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}}.note-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)}.note-modal{background:#fff;width:90%;max-width:500px;border-radius:20px;padding:24px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;gap:16px;animation:slideUp .3s ease-out}.note-modal h3{margin:0;color:var(--ink);font-size:18px;font-weight:800}.note-modal textarea{width:100%;padding:12px;border:1px solid var(--line2);border-radius:12px;resize:vertical;min-height:120px;font-family:inherit;font-size:14px;outline:none;transition:all .2s;color:#000;background:#fff}.note-modal textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px #2aa6a61a;background:#fff}.note-modal-actions{display:flex;justify-content:flex-end;gap:12px}.btn-cancel{padding:10px 20px;border-radius:12px;background:var(--panelSoft);color:var(--muted);font-weight:600;border:1px solid var(--line2);cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f1f5f9;color:var(--ink)}.btn-save{padding:10px 24px;border-radius:12px;background:linear-gradient(135deg,var(--teal),#209494);color:#fff;font-weight:600;border:none;cursor:pointer;box-shadow:0 4px 12px #2aa6a64d;transition:all .2s}.btn-save:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2aa6a666}.btn-save:disabled{opacity:.7;cursor:not-allowed;transform:none}.add-note-btn-small{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;margin-top:12px;background:#e11d480f;border:1px dashed rgba(225,29,72,.3);border-radius:12px;color:#e11d48;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.add-note-btn-small:hover{background:#e11d481a;border-color:#e11d4880;transform:translateY(-1px)}.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:#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:#64748b;flex-shrink:0}.search-box input{flex:1;min-width:0;border:none;background:transparent;font-size:15px;color:#1e293b!important;-webkit-text-fill-color:#1e293b!important;outline:none}.search-box input::placeholder{color:#94a3b8;-webkit-text-fill-color:#94a3b8}.search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;background:#f1f5f9;border:none;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s;flex-shrink:0}.search-clear:hover{background:#e2e8f0;color:#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 select,.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 select: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:#fff}.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-id{width:60px;min-width:60px;text-align:center;font-weight:600;color:#333}.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;color:#000}.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:#444;font-style:italic;font-weight:500}.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:#fff;box-sizing:border-box}.cell-editor:focus{background:#fff;box-shadow:inset 0 0 0 2px #5faeb0}.cell-editor::placeholder{color:#444;font-style:italic;font-weight:500}.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:#444;font-style:italic;cursor:pointer;font-weight:500}.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-top:0!important;padding-left:0!important;padding-right: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 100px;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}.cloud-storage-app .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}.cloud-storage-app .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2aa6a659}.cloud-storage-app .btn-primary:disabled{opacity:.5;cursor:not-allowed}.cloud-storage-app .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}.cloud-storage-app .btn-secondary:hover{background:var(--panelSoft);border-color:var(--teal)}.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}.welcome-screen{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px;padding:40px 20px}.welcome-content{text-align:center;max-width:480px}.welcome-icon{font-size:72px;color:var(--teal);margin-bottom:24px;display:block;opacity:.9}.welcome-content h2{font-size:28px;font-weight:700;color:var(--ink);margin:0 0 12px}.welcome-content p{font-size:16px;color:var(--muted);margin:0 0 28px;line-height:1.6}.btn-large{padding:14px 28px;font-size:16px;border-radius:14px}.selection-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:linear-gradient(135deg,#2aa6a614,#2f6fff0d);border:1px solid rgba(42,166,166,.2);border-radius:var(--r16);margin-bottom:24px}.selection-info{display:flex;align-items:center;gap:14px}.selection-info>i{font-size:28px;color:var(--teal)}.selection-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.selection-path{font-size:15px;font-weight:700;color:var(--ink)}.selection-actions,.upload-section{display:flex;align-items:center;gap:12px}.upload-section .file-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--muted);padding:6px 12px;background:var(--panelSoft);border-radius:8px}.files-container{background:var(--panel);border:1px solid var(--line);border-radius:var(--r16);overflow:hidden}.files-header{padding:16px 20px;border-bottom:1px solid var(--line);background:var(--panelSoft)}.files-header h2{margin:0;font-size:16px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:10px}.files-header h2 i{color:var(--blue)}.file-type-badge{display:inline-block;padding:3px 10px;font-size:11px;font-weight:600;background:#2f6fff1a;color:var(--blue);border-radius:20px;text-transform:uppercase}.action-btn.download:hover{background:#2aa6a61a;border-color:var(--teal);color:var(--teal)}.spin{animation:spin 1s linear infinite}@media(max-width:900px){.selection-banner{flex-direction:column;align-items:flex-start}.upload-section{flex-wrap:wrap}}.wizard-container{background:var(--panel);border:1px solid var(--line);border-radius:var(--r16);padding:0;overflow:hidden}.upload-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:var(--panelSoft);border:1px solid var(--line);border-radius:var(--r16);margin-bottom:20px}.upload-controls{display:flex;align-items:center;gap:12px}.file-name-tag{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ink);padding:8px 14px;background:#fff;border:1px solid var(--line);border-radius:8px}@media(max-width:768px){.upload-bar{flex-direction:column;align-items:stretch}.upload-controls{flex-wrap:wrap}}.selection-breadcrumb{display:flex;align-items:center;gap:8px;padding:12px 18px;background:linear-gradient(135deg,#2aa6a612,#2f6fff0a);border:1px solid rgba(42,166,166,.2);border-radius:14px;margin-bottom:16px;font-size:13px;flex-wrap:wrap}.selection-breadcrumb>i.bi-map{color:var(--teal);font-size:15px;flex-shrink:0}.breadcrumb-segment{font-weight:600;color:var(--ink);background:#1118270f;padding:3px 10px;border-radius:20px}.breadcrumb-package{background:#2aa6a61f;color:var(--teal)}.breadcrumb-sep{color:var(--muted2);font-size:11px}.file-group{border-bottom:2px solid var(--line)}.file-group:last-child{border-bottom:none}.file-group-header{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--panelSoft);border-bottom:1px solid var(--line)}.file-group-header>i{font-size:20px;color:var(--blue);flex-shrink:0}.file-group-header>div{flex:1;min-width:0}.file-group-title{display:block;font-size:14px;font-weight:700;color:var(--ink)}.file-group-desc{display:block;font-size:12px;color:var(--muted);margin-top:2px}.file-group-count{flex-shrink:0;font-size:12px;font-weight:600;color:var(--muted);background:var(--line);padding:3px 10px;border-radius:20px}.breadcrumb-folder{background:#2f6fff1a;color:var(--blue);display:inline-flex;align-items:center;gap:5px}.folder-grid{display:flex;flex-direction:column;gap:12px;padding:8px 0}.folder-card{display:flex;align-items:center;gap:16px;background:var(--panel);border:1.5px solid var(--line2);border-radius:14px;padding:16px 20px;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease;width:100%}.folder-card:hover{border-color:var(--teal);box-shadow:0 4px 16px #2aa6a61f;transform:translateY(-1px)}.folder-card-icon{width:48px;height:48px;border-radius:12px;background:#2aa6a61a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.folder-card-icon i{font-size:22px;color:var(--teal)}.folder-card-body{flex:1;min-width:0}.folder-card-name{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:3px}.folder-card-desc{font-size:12px;color:var(--muted);line-height:1.4}.folder-card-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.folder-card-count{font-size:12px;font-weight:600;color:var(--muted);background:var(--line);padding:4px 12px;border-radius:20px}.folder-card-arrow{font-size:14px;color:var(--muted2);transition:transform .15s ease}.folder-card:hover .folder-card-arrow{transform:translate(3px);color:var(--teal)}.folder-back-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0 16px;border-bottom:1px solid var(--line);margin-bottom:4px}.folder-back-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:1.5px solid var(--line2);border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .15s ease,background .15s ease}.folder-back-btn:hover{border-color:var(--teal);background:#2aa6a60f}.folder-back-count{font-size:12px;color:var(--muted);font-weight:600}.folder-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0;color:var(--muted);font-size:15px}.folder-loading i{font-size:32px}.folder-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:60px 0;color:var(--muted);text-align:center}.folder-empty i{font-size:36px;margin-bottom:4px}.folder-empty p{font-size:15px;font-weight:600;margin:0}.folder-empty small{font-size:12px;color:var(--muted2)}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:var(--panelSoft);margin-bottom:12px}.wizard-search input{border:none;outline:none;width:100%;font-size:14px;color:var(--ink);background:transparent}.wizard-search input::placeholder{color:var(--muted2)}.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-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.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 12px;border-radius:12px;border:1px solid var(--line2);background:#fff;color:var(--ink);font-size:14px;outline:none;box-sizing:border-box}.assign-field select{-webkit-appearance:menulist;appearance:menulist}.assign-field input[type=date]{cursor:pointer;position:relative;padding-right:36px}.assign-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;font-size:18px;padding:4px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.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;color:var(--ink);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(.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;justify-content:center;width:42px;height:42px;padding:0;background:linear-gradient(135deg,var(--teal),#25918e);border:none;border-radius:50%;font-size:18px;color:#fff;cursor:pointer;transition:all .25s ease;margin-bottom:24px;box-shadow:0 2px 8px #2aa6a64d}.back-btn span{display:none}.back-btn:hover{transform:translate(-3px);box-shadow:0 4px 14px #2aa6a673}.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-text{font-size:15px;font-weight:600;color:#0891b2}.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)}}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon:disabled:hover{background:#fff;border-color:#e2e8f0;color:#475569}.btn-icon i.spin{animation:spin 1s linear infinite}.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}.upload-dropdown .dropdown-menu{display:none}.upload-menu{display:block!important;min-width:200px}.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}.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;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;color:#000}.comment-log-table tbody tr.recent-upload-row:hover{background:#fbbf242e;color:#000}.comment-log-table tbody tr.recent-upload-row.resolved-row{background:#fbbf2414;border-left-color:#22c55e;color:#000}.comment-log-table tbody tr.recent-upload-row td,.comment-log-table tbody tr.recent-upload-row .chat-empty,.comment-log-table tbody tr.recent-upload-row .variable-name,.comment-log-table tbody tr.recent-upload-row .label-text{color:#000!important}.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;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#334155;line-height:1.4}.col-comments-chat{width:380px;min-width:300px}.col-resolved{width:100px;min-width:100px;text-align:center;vertical-align:middle;overflow:visible;white-space:nowrap}.col-attach{width:90px;min-width:90px;text-align:center;vertical-align:middle;overflow:visible;white-space:nowrap}.col-variable .variable-name{font-weight:600;color:#0f172a;font-family:SF Mono,JetBrains Mono,Consolas,monospace;font-size:12px}.col-label .label-text{font-size:12px;color:#475569;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.chat-container{display:flex;flex-direction:column;gap:8px;max-height:200px}.chat-messages{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto;padding-right:4px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.chat-bubble{max-width:95%;padding:8px 12px;border-radius:12px;position:relative;animation:bubbleIn .2s ease-out}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-bubble.sent{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.chat-bubble.sent .chat-header{color:#ffffffd9}.chat-bubble.sent .chat-text{color:#fff}.chat-bubble.received{background:#f1f5f9;color:#1e293b;margin-right:auto;border-bottom-left-radius:4px}.chat-bubble.received .chat-header{color:#64748b}.chat-header{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:10px}.chat-avatar{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;flex-shrink:0}.chat-bubble.sent .chat-avatar{background:#ffffff40}.chat-user{font-weight:700;font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.2px}.chat-bubble.sent .chat-user{color:#fff}.chat-bubble.received .chat-user{color:#0891b2}.chat-time{margin-left:auto;font-size:9px;opacity:.7}.chat-text{font-size:12px;line-height:1.4;word-wrap:break-word}.view-more-btn{background:none;border:none;color:#0891b2;font-size:11px;cursor:pointer;padding:4px 8px;margin-top:4px;border-radius:4px;transition:all .15s ease}.view-more-btn:hover{background:#0891b21a;text-decoration:underline}.chat-empty{display:flex;align-items:center;gap:8px;padding:12px;color:#94a3b8;font-size:12px;font-style:italic}.chat-empty i{font-size:16px}.chat-input-row{display:flex;gap:6px;align-items:center}.chat-input{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:20px;font-size:12px;background:#f8fafc;color:#000!important;transition:all .15s ease;-webkit-text-fill-color:#000000!important}.chat-input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.chat-input::placeholder{color:#94a3b8}.edit-comment-input{width:100%;padding:8px 12px;border:1px solid #0891b2;border-radius:8px;font-size:12px;background:#fff!important;color:#000!important;transition:all .15s ease;-webkit-text-fill-color:#000000!important}.edit-comment-input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.edit-save-btn,.edit-cancel-btn{padding:6px 14px;border-radius:6px;border:none;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease}.edit-cancel-btn{background:#e2e8f0;color:#475569}.edit-cancel-btn:hover{background:#cbd5e1}.edit-comment-btn{background:none;border:none;color:#ffffffb3;font-size:10px;cursor:pointer;padding:2px 4px;margin-left:4px;border-radius:4px;transition:all .15s ease}.edit-comment-btn:hover{background:#ffffff26;color:#fff}.chat-bubble.received .edit-comment-btn{color:#64748b}.chat-bubble.received .edit-comment-btn:hover{background:#0891b21a;color:#0891b2}.edited-indicator{font-style:italic;opacity:.8}.chat-send-btn{width:32px;height:32px;border-radius:50%;border:none;background:#0891b2;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.chat-send-btn:hover:not(:disabled){background:#0e7490;transform:scale(1.05)}.chat-send-btn:disabled{background:#cbd5e1;cursor:not-allowed}.chat-send-btn i{font-size:14px;margin-left:2px}.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}.resolve-toggle{width:40px;min-width:40px;height:36px;border-radius:8px;border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s ease;flex-shrink:0}.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-flex;align-items:center;justify-content:center;z-index:101}.attach-btn{width:44px;min-width:44px;height:36px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.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;text-align:left;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}.attachment-download-btn{background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;padding:4px 6px;border-radius:6px;transition:all .15s ease;flex-shrink:0}.attachment-download-btn:hover{background:#0891b21f;color:#0891b2}.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:0;width:90%;max-width:480px;box-shadow:0 4px 20px #0000001a}.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)}.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}.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}.modal-content.chat-modal{max-width:500px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.chat-modal-header{background:#fff;padding:16px 20px!important;border-bottom:1px solid var(--line2, #e2e8f0)!important}.chat-modal-title{display:flex;align-items:center;gap:12px;color:var(--text, #1e293b)}.chat-modal-title i{font-size:24px;opacity:.9}.chat-modal-title h3{color:#1e293b!important;margin:0;font-size:16px;font-weight:600}.chat-modal-subtitle{font-size:12px;opacity:.7;color:var(--muted, #64748b)}.chat-modal-header .modal-close{color:var(--text, #1e293b);opacity:.6}.chat-modal-header .modal-close:hover{opacity:1;background:#fff3}.chat-modal-body{flex:1;overflow-y:auto;padding:16px 20px!important;background:#fff;min-height:300px;max-height:400px}.chat-messages-full{display:flex;flex-direction:column;gap:12px}.chat-bubble-full{max-width:85%;padding:10px 14px;border-radius:16px;position:relative;animation:bubbleIn .2s ease-out}.chat-bubble-full.sent{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.chat-bubble-full.received{background:#fff;color:#1e293b;margin-right:auto;border-bottom-left-radius:4px;box-shadow:0 1px 2px #0000001a}.chat-header-full{display:flex;align-items:center;gap:10px;margin-bottom:6px}.chat-avatar-full{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.chat-bubble-full.sent .chat-avatar-full{background:#ffffff40}.chat-user-info{display:flex;flex-direction:column;gap:2px}.chat-user-name{font-weight:700;font-size:13px}.chat-bubble-full.sent .chat-user-name{color:#fff}.chat-bubble-full.received .chat-user-name{color:#0891b2}.chat-user-time{font-size:10px;opacity:.7}.chat-bubble-full.sent .chat-user-time{color:#ffffffb3}.chat-bubble-full.received .chat-user-time{color:#64748b}.chat-text-full{font-size:14px;line-height:1.5;word-wrap:break-word}.chat-modal-footer{padding:12px 20px!important;background:#fff;border-top:1px solid #e2e8f0}.chat-input-row-full{display:flex;gap:10px;align-items:center}.chat-input-row-full .chat-input{flex:1;padding:12px 16px;border-radius:24px;font-size:14px}.chat-input-row-full .chat-send-btn{width:44px;height:44px}.chat-input-row-full .chat-send-btn i{font-size:18px}.edit-comment-btn{background:none;border:none;color:inherit;opacity:0;cursor:pointer;padding:2px 6px;border-radius:4px;margin-left:4px;transition:all .15s ease;font-size:11px}.chat-bubble:hover .edit-comment-btn,.chat-bubble-full:hover .edit-comment-btn{opacity:.7}.edit-comment-btn:hover{opacity:1!important;background:#0000001a}.chat-bubble.sent .edit-comment-btn:hover{background:#fff3}.edited-indicator{font-style:italic;opacity:.7;font-size:9px}.edit-comment-form{display:flex;flex-direction:column;gap:8px;margin-top:4px}.edit-comment-input{padding:8px 12px;border:2px solid #0891b2;border-radius:8px;font-size:12px;background:#fff;width:100%;box-sizing:border-box}.edit-comment-input:focus{outline:none;box-shadow:0 0 0 3px #0891b233}.edit-comment-actions{display:flex;gap:6px;justify-content:flex-end}.edit-save-btn,.edit-cancel-btn{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;border:none}.edit-save-btn{background:#0891b2;color:#fff}.edit-save-btn:hover:not(:disabled){background:#0e7490}.edit-save-btn:disabled{background:#cbd5e1;cursor:not-allowed}.edit-cancel-btn{background:#f1f5f9;color:#475569}.edit-cancel-btn:hover{background:#e2e8f0}.chat-bubble.sent .edit-comment-btn{color:#ffffffe6}.chat-bubble-full .edit-comment-btn{font-size:12px;padding:4px 8px}.chat-bubble-full .edit-comment-form{gap:10px}.chat-bubble-full .edit-comment-input{font-size:14px;padding:10px 14px}.chat-bubble-full .edit-save-btn,.chat-bubble-full .edit-cancel-btn{padding:6px 16px;font-size:12px}@media(max-width:1200px){.col-label,.folder-tabs{display:none}.col-comments-chat{min-width:250px}}@media(max-width:900px){.col-comments-chat{min-width:200px}}.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;white-space:nowrap}.user-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.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;word-break:break-word}.user-email{font-size:12px;color:#94a3b8;word-break:break-word}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;min-width:40px;white-space:nowrap}.badge.resolved{background:#22c55e1a;color:#22c55e}.badge.unresolved{background:#f59e0b1a;color:#f59e0b}.date{font-size:12px;color:#64748b;white-space:nowrap}.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}.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}.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-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}.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}.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}.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{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{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}.form-row-group{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid #e2e8f0;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,#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}.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 #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:#f0f4f8}.ebr-container{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:24px 32px}.ebr-breadcrumb{display:flex;align-items:center;gap:6px;font-size:14px;color:#64748b;margin-bottom:20px;flex-wrap:wrap}.ebr-breadcrumb-link{color:#0d9488;cursor:pointer;transition:color .2s}.ebr-breadcrumb-link:hover{color:#0f766e;text-decoration:underline}.ebr-breadcrumb-current{color:#1e293b;font-weight:600}.ebr-breadcrumb-sep{color:#94a3b8;font-size:16px}.ebr-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;animation:ebr-slide-in .3s ease}.ebr-alert button{margin-left:auto;background:none;border:none;font-size:18px;cursor:pointer;color:inherit;opacity:.7}.ebr-alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.ebr-alert-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}@keyframes ebr-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ebr-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 0;color:#64748b;font-size:15px}.ebr-spinner{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#0d9488;border-radius:50%;animation:ebr-spin .7s linear infinite}@keyframes ebr-spin{to{transform:rotate(360deg)}}.ebr-section-title{font-size:20px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:10px;margin-bottom:18px}.ebr-section-title i{color:#0d9488;font-size:22px}.ebr-back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:13px;cursor:pointer;transition:all .2s;margin-bottom:16px}.ebr-back-btn:hover{background:#e2e8f0;color:#1e293b}.ebr-search-box{position:relative;margin-bottom:20px}.ebr-search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:16px}.ebr-search-box input{width:100%;padding:10px 14px 10px 40px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}.ebr-search-box input:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a}.ebr-search-sm{margin-bottom:12px}.ebr-page .wizard-step-content{flex:1;display:flex;flex-direction:column}.ebr-page .search-box{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1rem}.ebr-page .search-box:focus-within{border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a}.ebr-page .search-box i{color:#94a3b8;font-size:1rem}.ebr-page .search-box input{flex:1;background:transparent;border:none;color:#1e293b;font-size:.875rem;outline:none}.ebr-page .search-box input::placeholder{color:#94a3b8}.ebr-page .selection-list{flex:1;display:flex;flex-direction:column;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.ebr-page .list-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0}.ebr-page .list-label{font-size:.875rem;font-weight:600;color:#1e293b}.ebr-page .list-count{font-size:.75rem;color:#94a3b8}.ebr-page .list-items{flex:1;overflow-y:auto;padding:.5rem;max-height:400px;background:#fff}.ebr-page .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}.ebr-page .list-item:hover{background:#f8fafc;border-color:#e2e8f0}.ebr-page .item-icon{width:42px;height:42px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ebr-page .item-icon i{font-size:1.125rem;color:#64748b}.ebr-page .list-item:hover .item-icon{background:#0d948814;border-color:#0d948840}.ebr-page .list-item:hover .item-icon i{color:#0d9488}.ebr-page .item-content{flex:1;min-width:0}.ebr-page .item-name{font-size:.9375rem;font-weight:600;color:#1e293b;margin-bottom:.25rem}.ebr-page .item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:#94a3b8}.ebr-page .item-code{color:#94a3b8}.ebr-page .item-subtitle{color:#64748b}.ebr-page .item-count{color:#94a3b8}.ebr-page .item-arrow{color:#cbd5e1;transition:transform .2s}.ebr-page .list-item:hover .item-arrow{color:#94a3b8;transform:translate(2px)}.ebr-page .status-badge{padding:.125rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.ebr-page .status-badge.active,.ebr-page .status-badge.in_progress{background:#10b9811f;color:#059669}.ebr-page .status-badge.planned,.ebr-page .status-badge.pending{background:#f59e0b1f;color:#d97706}.ebr-page .status-badge.completed{background:#3b82f61f;color:#2563eb}.ebr-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#94a3b8;text-align:center}.ebr-page .empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.4}.ebr-page .empty-state p{font-size:.9375rem;margin-bottom:1rem}.ebr-list-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.ebr-list-header .ebr-section-title{flex:1;margin-bottom:0}.ebr-filters{margin-bottom:16px}.ebr-select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#475569;background:#fff;outline:none;cursor:pointer}.ebr-select:focus{border-color:#0d9488}.ebr-table-container{overflow-x:auto;border-radius:10px;border:1px solid #e2e8f0;background:#fff}.ebr-table{width:100%;border-collapse:collapse;font-size:14px}.ebr-table thead{background:#f8fafc}.ebr-table th{padding:12px 16px;text-align:left;color:#475569;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.ebr-table td{padding:12px 16px;color:#334155;border-bottom:1px solid #f1f5f9}.ebr-table tbody tr:hover{background:#f8fafc}.ebr-table-compact th,.ebr-table-compact td{padding:10px 14px}.ebr-number-cell{font-weight:600;color:#0d9488!important}.ebr-empty-row{text-align:center;color:#94a3b8;padding:32px 16px!important;font-style:italic}.ebr-empty{text-align:center;color:#94a3b8;padding:32px;font-style:italic}.ebr-status-badge{display:inline-block;padding:3px 10px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.ebr-status-lg{padding:5px 14px;font-size:13px}.ebr-status-sm{padding:2px 8px;font-size:11px}.ebr-progress{color:#64748b;font-size:13px}.ebr-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.ebr-btn:disabled{opacity:.6;cursor:not-allowed}.ebr-btn-primary{background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff}.ebr-btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #0d94884d;transform:translateY(-1px)}.ebr-btn-success{background:#10b981;color:#fff}.ebr-btn-success:hover:not(:disabled){background:#059669}.ebr-btn-danger{background:#ef4444;color:#fff}.ebr-btn-danger:hover:not(:disabled){background:#dc2626}.ebr-btn-outline{background:#fff;border:1px solid #e2e8f0;color:#475569}.ebr-btn-outline:hover:not(:disabled){border-color:#0d9488;color:#0d9488;background:#f0fdfa}.ebr-btn-ghost{background:transparent;color:#64748b}.ebr-btn-ghost:hover:not(:disabled){color:#1e293b;background:#f1f5f9}.ebr-btn-sm{padding:5px 10px;font-size:13px;border-radius:6px}.ebr-btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ebr-spin .6s linear infinite;display:inline-block}.ebr-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:28px}.ebr-form-group{margin-bottom:20px}.ebr-form-group label{display:block;font-size:14px;font-weight:600;color:#334155;margin-bottom:6px}.ebr-form-group .required{color:#ef4444}.ebr-form-group input[type=text],.ebr-form-group input[type=date],.ebr-form-group textarea,.ebr-form-group select{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#334155;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit}.ebr-form-group input:focus,.ebr-form-group textarea:focus,.ebr-form-group select:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a}.ebr-form-group textarea{resize:vertical;min-height:80px}.ebr-radio-group{display:flex;gap:12px}.ebr-radio-option{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px;color:#475569}.ebr-radio-option.active{border-color:#0d9488;background:#f0fdfa;color:#0d9488;font-weight:600}.ebr-radio-option input[type=radio]{display:none}.ebr-file-upload-area{display:flex;flex-direction:column;gap:10px}.ebr-file-list{display:flex;flex-direction:column;gap:6px}.ebr-file-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#334155}.ebr-file-item i{color:#0d9488}.ebr-file-size{color:#94a3b8;font-size:12px}.ebr-file-remove{margin-left:auto;background:none;border:none;color:#ef4444;cursor:pointer;font-size:18px;line-height:1}.ebr-file-download{cursor:default}.ebr-user-assignment{border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fafbfc}.ebr-user-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.ebr-user-option{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .2s}.ebr-user-option:hover{background:#f0fdfa}.ebr-user-option.selected{background:#ccfbf1;border:1px solid #99f6e4}.ebr-user-option input[type=checkbox]{accent-color:#0d9488}.ebr-user-info{display:flex;flex-direction:column}.ebr-user-name{font-size:14px;font-weight:500;color:#1e293b}.ebr-user-email{font-size:12px;color:#94a3b8}.ebr-selected-count{margin-top:8px;font-size:13px;color:#0d9488;font-weight:600}.ebr-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.ebr-detail-header{margin-bottom:24px}.ebr-detail-title-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ebr-detail-title-row h2{font-size:22px;font-weight:700;color:#1e293b;margin:0;display:flex;align-items:center;gap:10px}.ebr-number{color:#0d9488;font-size:16px;font-weight:600;padding:3px 10px;background:#f0fdfa;border-radius:6px;border:1px solid #ccfbf1;margin-right:4px}.ebr-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:24px}.ebr-info-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.ebr-info-card label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;font-weight:600;margin-bottom:4px}.ebr-info-card span{font-size:15px;color:#1e293b;font-weight:500}.ebr-info-card-wide{grid-column:1 / -1}.ebr-detail-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;margin-bottom:18px}.ebr-detail-panel h3{font-size:16px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:8px;margin:0 0 14px}.ebr-detail-panel h3 i{color:#0d9488}.ebr-users-table-container{border-radius:8px;overflow:hidden;border:1px solid #f1f5f9}.ebr-date-wrapper{display:flex;align-items:center;gap:8px;max-width:260px}.ebr-date-wrapper>i{color:#0d9488;font-size:18px;flex-shrink:0}.ebr-date-input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#334155;background:#fff;outline:none;width:100%;transition:border-color .2s,box-shadow .2s}.ebr-date-input:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a}.ebr-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;filter:none}.ebr-date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.ebr-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}@media(max-width:768px){.ebr-container{padding:16px}.ebr-detail-grid{grid-template-columns:1fr}.ebr-list-header{flex-direction:column;align-items:flex-start}.ebr-detail-actions{flex-direction:column}.ebr-detail-actions .ebr-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 .favorite-btn.active{background:#fbbf241f;border-color:#fbbf24;color:#f59e0b}.study-setup-wizard .favorite-btn:disabled{opacity:.5;cursor:not-allowed}.study-setup-wizard .wizard-breadcrumb{font-size:14px;color:var(--text, #1e293b);font-weight:700;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:1000px;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;justify-content:flex-end;margin-bottom:20px}.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}.domain-header-actions .specs-grid-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:linear-gradient(135deg,#8b5cf61a,#a855f726);color:#7c3aed;border:1px solid rgba(139,92,246,.3)}.domain-header-actions .specs-grid-btn:hover{background:linear-gradient(135deg,#8b5cf633,#a855f740);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf633}.domain-header-actions .specs-grid-btn i{font-size:14px}.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}.domain-header-actions .upload-history-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:linear-gradient(135deg,#3b82f61a,#8b5cf61a);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.domain-header-actions .upload-history-btn:hover{background:linear-gradient(135deg,#3b82f633,#8b5cf633);border-color:#3b82f680}.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);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content.upload-history-modal{max-width:850px;width:95%;max-height:85vh;overflow-y:auto;animation:slideUp .3s ease-out;border-radius:12px;box-shadow:0 25px 50px -12px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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)}.esub-metadata-card{padding:16px 20px;background:#fff;border:1px solid var(--line2, #e2e8f0);border-radius:8px;margin:16px 0}.esub-metadata-row{display:flex;align-items:baseline;padding:4px 0;font-size:14px;line-height:1.6}.esub-metadata-label{font-weight:600;color:var(--text, #1e293b);min-width:160px}.esub-metadata-value{color:var(--text, #1e293b);flex:1}.esub-metadata-input{border:1px solid var(--line2, #e2e8f0);border-radius:4px;padding:4px 8px;font-size:14px;color:var(--text, #1e293b);background:#f8fafc;width:100%;outline:none;transition:border-color .15s}.esub-metadata-input:focus{border-color:#0d9488;background:#fff}.esub-metadata-save-row{display:flex;justify-content:flex-end;margin:8px 0 4px}.esub-metadata-save-btn{padding:6px 20px!important;font-size:13px!important;background:#0d9488!important;color:#fff!important;border-radius:6px!important;gap:6px}.esub-assign-enddate{display:flex;align-items:center;gap:12px;margin:12px 0 4px}.esub-assign-enddate-label{font-size:14px;font-weight:500;color:var(--text, #1e293b);white-space:nowrap}.esub-enddate-input{border:1px solid var(--line2, #e2e8f0);border-radius:6px;padding:6px 10px;font-size:14px;color:var(--text, #1e293b);background:#f8fafc;outline:none;cursor:pointer;min-width:180px;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.esub-enddate-input:hover{border-color:#0d9488}.esub-cal-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:12px;width:280px}.esub-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.esub-cal-header button{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;color:#334155;font-size:14px}.esub-cal-header button:hover{background:#f1f5f9}.esub-cal-title{font-weight:600;font-size:14px;color:#1e293b}.esub-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.esub-cal-dow{text-align:center;font-size:11px;font-weight:600;color:#94a3b8;padding:4px 0}.esub-cal-cell{text-align:center;padding:6px 0;font-size:13px;border-radius:6px;cursor:pointer;color:#334155;transition:background .1s}.esub-cal-cell:hover{background:#f1f5f9}.esub-cal-cell.empty{cursor:default}.esub-cal-cell.today{font-weight:700;color:#0d9488}.esub-cal-cell.selected{background:#0d9488;color:#fff;font-weight:600}.esub-cal-cell.selected:hover{background:#0f766e}.esub-cal-clear{display:block;width:100%;margin-top:8px;padding:6px;background:none;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:12px;color:#64748b}.esub-cal-clear:hover{background:#fef2f2;color:#ef4444;border-color:#fecaca}.esub-assign-section{padding:16px;background:#f8fafc;border:1px solid var(--line2, #e2e8f0);border-radius:8px}.esub-assign-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.esub-assign-count{font-size:13px;font-weight:500;color:var(--muted, #64748b);background:#e2e8f0;padding:4px 10px;border-radius:12px}.esub-assigned-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.esub-assigned-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:20px;font-size:13px;color:#047857}.esub-assigned-chip i.bi-person-circle{font-size:16px;color:#059669}.esub-assigned-name{font-weight:500}.esub-assigned-role{font-size:11px;color:#6ee7b7;text-transform:capitalize}.esub-assigned-remove{background:transparent;border:none;color:#dc2626;cursor:pointer;padding:0 2px;font-size:16px;line-height:1;display:flex;align-items:center;opacity:.6;transition:opacity .15s}.esub-assigned-remove:hover{opacity:1}.esub-assign-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line2, #e2e8f0);border-radius:8px;background:#fff;margin-bottom:8px}.esub-assign-search i{color:var(--muted, #64748b);font-size:14px}.esub-assign-search input{flex:1;border:none;outline:none;font-size:13px;background:transparent;color:var(--text, #1e293b)}.esub-assign-list{max-height:200px;overflow-y:auto;border:1px solid var(--line2, #e2e8f0);border-radius:8px;background:#fff;margin-bottom:12px}.esub-assign-user-row{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f1f5f9}.esub-assign-user-row:last-child{border-bottom:none}.esub-assign-user-row:hover{background:#f0fdfa}.esub-assign-user-row input[type=checkbox]{width:16px;height:16px;accent-color:#0d9488;cursor:pointer}.esub-assign-user-info{display:flex;flex-direction:column;gap:2px}.esub-assign-user-name{font-size:13px;font-weight:500;color:var(--text, #1e293b)}.esub-assign-user-email{font-size:12px;color:var(--muted, #64748b)}.esub-assign-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;font-size:13px;color:var(--muted, #64748b)}.esub-assign-btn{width:100%;justify-content:center;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;border:none}.esub-assign-btn:hover:not(:disabled){background:linear-gradient(135deg,#0f766e,#0d9488);border-color:transparent;color:#fff}.esub-assign-btn:disabled{opacity:.5;cursor:not-allowed}@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 .filename{color:#000!important;font-weight:500}.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)}.domain-step .empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;text-align:center}.domain-step .empty-state i{font-size:48px;color:#f59e0b}.domain-step .empty-state p{margin:0;color:var(--text-secondary, #64748b)}.domain-step .empty-state .hint{font-size:.85rem;color:var(--text-muted, #94a3b8)}.domain-step .empty-state .btn-go-back{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:10px 20px;background:var(--primary, #0d9488);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.domain-step .empty-state .btn-go-back:hover{background:#0f766e}.archive-path-breadcrumb{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--line2, #e2e8f0);border-radius:6px;font-size:13px;color:var(--muted, #64748b);margin-bottom:16px}.archive-path-breadcrumb i.bi-hdd-network{font-size:16px;color:var(--primary, #0891b2)}.archive-path-breadcrumb i.bi-chevron-right{font-size:10px;opacity:.5}.archive-path-breadcrumb span{color:var(--text, #1e293b);font-weight:500}.archive-path-breadcrumb span:last-child{color:var(--primary, #0891b2);font-weight:600}.btn-download-file{background:transparent;border:1px solid var(--line2, #e2e8f0);border-radius:6px;padding:6px 12px;cursor:pointer;color:var(--primary, #0891b2);font-size:14px;transition:all .2s ease;margin-right:8px}.btn-download-file:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--primary, #0891b2);color:var(--primary, #0891b2)}.btn-download-file i{font-size:16px}.dpp-upload-history{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden;max-width:800px;margin:0 auto}.history-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff}.header-info h3{margin:0 0 4px;font-size:1.25rem;font-weight:600}.header-info .study-info{margin:0;font-size:.875rem;opacity:.9}.header-stats{display:flex;gap:16px}.stat-item{background:#ffffff26;padding:8px 16px;border-radius:20px;font-size:.875rem}.stat-item strong{font-weight:600}.btn-close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-close:hover{background:#ffffff4d}.history-content{padding:24px}.section{margin-bottom:24px}.section:last-child{margin-bottom:0}.section h4{margin:0 0 16px;font-size:1rem;font-weight:600;color:#1e3a5f;display:flex;align-items:center;gap:8px}.current-section h4:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#22c55e;color:#fff;border-radius:50%;font-size:.75rem}.upload-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;margin-bottom:12px;transition:box-shadow .2s,border-color .2s}.upload-item:last-child{margin-bottom:0}.upload-item:hover{box-shadow:0 2px 8px #00000014}.upload-item.current{border-color:#22c55e;background:linear-gradient(to right,#22c55e0d,#f8fafc)}.upload-item.archived{opacity:.85}.upload-item.archived:hover{opacity:1}.upload-item-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e2e8f0}.file-info{display:flex;align-items:center;gap:12px}.file-icon{font-size:1.5rem}.file-details{display:flex;flex-direction:column}.file-name{font-weight:600;color:#1e293b;font-size:.95rem}.file-meta{font-size:.8rem;color:#64748b;margin-top:2px}.upload-badges{display:flex;gap:8px}.badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.current-badge{background:#22c55e;color:#fff}.status-badge.status-uploaded{background:#3b82f6;color:#fff}.status-badge.status-parsed{background:#8b5cf6;color:#fff}.status-badge.status-pending{background:#f59e0b;color:#fff}.status-badge.status-failed{background:#ef4444;color:#fff}.status-badge.status-default{background:#94a3b8;color:#fff}.upload-item-body{padding:16px}.upload-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.meta-item{font-size:.85rem;color:#475569}.meta-item strong{color:#1e293b}.tfl-summary{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;background:#f1f5f9;border-radius:8px}.tfl-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#475569}.tfl-icon{font-size:1rem}.tfl-total{font-weight:600;color:#1e3a5f;margin-left:auto}.upload-item-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #e2e8f0;background:#fafafa}.btn-download,.btn-restore{padding:8px 16px;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-download{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569}.btn-download:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8}.btn-restore{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.btn-restore:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.btn-download:disabled,.btn-restore:disabled{opacity:.6;cursor:not-allowed}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.loading-state .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.loading-state p,.empty-state p{margin-top:16px;color:#64748b}.error-state .error-message{color:#dc2626;margin-bottom:16px}.btn-retry{padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.btn-retry:hover{background:#2563eb}.archives-list{max-height:400px;overflow-y:auto}@media(max-width:640px){.history-header{flex-direction:column;gap:12px;text-align:center}.upload-item-header{flex-direction:column;gap:12px;align-items:flex-start}.upload-badges{width:100%;justify-content:flex-start}.tfl-summary{flex-direction:column;align-items:flex-start}.tfl-total{margin-left:0;margin-top:8px;width:100%}}.tfl-summary-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin:16px 0}.tfl-summary-card.loading{display:flex;align-items:center;justify-content:center;min-height:80px}.tfl-summary-card .loading-spinner{width:24px;height:24px;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.summary-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.summary-icon{font-size:1.25rem}.summary-title{font-weight:600;font-size:.95rem;color:#1e293b}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-item{display:flex;align-items:center;gap:10px;padding:12px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.summary-item.tables{border-left:3px solid #3b82f6}.summary-item.figures{border-left:3px solid #8b5cf6}.summary-item.listings{border-left:3px solid #10b981}.summary-item .item-icon{font-size:1.25rem}.item-details{display:flex;flex-direction:column}.item-count{font-size:1.25rem;font-weight:700;color:#1e293b;line-height:1}.item-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.summary-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.total-count{font-size:.875rem;color:#475569}.total-count strong{color:#1e293b}.view-details-btn{padding:6px 12px;background:transparent;border:1px solid #3b82f6;color:#3b82f6;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.view-details-btn:hover{background:#3b82f6;color:#fff}@media(max-width:640px){.summary-grid{grid-template-columns:1fr}}.data-issue-log-app{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.data-issue-log-app .data-issue-log-main{flex:1;display:flex;padding:0 24px 24px;gap:20px}.data-issue-log-app .dil-nav{display:flex;flex-direction:column;gap:12px;padding-top:20px}.data-issue-log-app .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;font-size:16px}.data-issue-log-app .nav-icon:hover{background:#0891b2;color:#fff}.data-issue-log-app .dil-content{flex:1;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000a;padding:24px;overflow:hidden;display:flex;flex-direction:column}.data-issue-log-app .dil-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.data-issue-log-app .dil-title{font-size:15px;font-weight:600;color:#0891b2}.data-issue-log-app .dil-header-actions{display:flex;align-items:center;gap:10px}.data-issue-log-app .dil-action-btn{padding:8px 16px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.data-issue-log-app .dil-action-btn.report-btn{background:#0891b2;color:#fff;border:1px solid #0891b2}.data-issue-log-app .dil-action-btn.report-btn:hover{background:#0e7490}.data-issue-log-app .alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;margin-bottom:12px;font-size:13px}.data-issue-log-app .alert.error{background:#dc262614;color:#dc2626}.data-issue-log-app .alert .xbtn{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.7}.data-issue-log-app .alert .xbtn:hover{opacity:1}.data-issue-log-app .loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b;padding:48px 24px}.data-issue-log-app .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:dil-spin .8s linear infinite;margin-bottom:16px}@keyframes dil-spin{to{transform:rotate(360deg)}}.data-issue-log-app .dil-grid-wrapper{flex:1;overflow:auto}.data-issue-log-app .dil-grid{width:100%;border-collapse:collapse;font-size:13px}.data-issue-log-app .dil-grid thead{position:sticky;top:0;z-index:10;background:#0891b2}.data-issue-log-app .dil-grid 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);white-space:nowrap}.data-issue-log-app .dil-grid th:last-child{border-right:none}.data-issue-log-app .dil-grid td{padding:12px 10px;vertical-align:top;border-right:1px solid #f1f5f9;color:#1e293b}.data-issue-log-app .dil-grid td:last-child{border-right:none}.data-issue-log-app .col-sno{width:50px;text-align:center;font-weight:600}.data-issue-log-app .col-comment{width:80px;text-align:center}.data-issue-log-app .col-dataset{width:140px}.data-issue-log-app .col-variable{width:160px}.data-issue-log-app .col-comments-chat{width:380px;min-width:300px}.data-issue-log-app .col-resolved{width:100px;min-width:100px;text-align:center;vertical-align:middle;overflow:visible;white-space:nowrap}.data-issue-log-app .col-attach{width:90px;min-width:90px;text-align:center;vertical-align:middle;overflow:visible;white-space:nowrap}.data-issue-log-app .data-row{background:#fff;border-bottom:1px solid #e2e8f0;transition:background .15s ease}.data-issue-log-app .data-row:nth-child(2n){background:#0891b20a}.data-issue-log-app .data-row:hover{background:#0891b214}.data-issue-log-app .data-row.resolved-row{background:#22c55e0f}.data-issue-log-app .data-row.resolved-row:hover{background:#22c55e1f}.data-issue-log-app .new-row{background:#fff;border-bottom:1px solid #e2e8f0;transition:background .15s}.data-issue-log-app .new-row:hover{background:#0891b20a}.data-issue-log-app .editing-row{background:#fffef7!important;border-bottom:2px solid #0891b2}.data-issue-log-app .editing-row td{border-color:#0891b233!important}.data-issue-log-app .click-prompt,.data-issue-log-app .empty-cell-hint{color:#94a3b8;cursor:pointer;font-style:italic;font-size:12px}.data-issue-log-app .empty-message-row{text-align:center;padding:24px!important}.data-issue-log-app .empty-hint{display:flex;flex-direction:column;align-items:center;gap:4px;color:#94a3b8;font-size:12px}.data-issue-log-app .empty-hint i{font-size:18px;animation:dil-bounce 1.5s infinite}@keyframes dil-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.data-issue-log-app .cell-content{min-height:24px;cursor:text;padding:2px 4px;border-radius:4px;transition:background .15s;color:#1e293b}.data-issue-log-app .cell-content.editable:hover{background:#0891b214}.data-issue-log-app .cell-placeholder{color:#94a3b8;font-style:italic;font-size:12px}.data-issue-log-app .cell-editor{width:100%;padding:6px 10px;border:1px solid #0891b2;border-radius:8px;font-size:13px;outline:none;box-sizing:border-box;background:#fff;color:#1e293b;font-family:inherit;transition:all .15s ease}.data-issue-log-app .cell-editor:focus{box-shadow:0 0 0 3px #0891b21a}.data-issue-log-app .comment-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#0891b2;font-size:13px;gap:4px;transition:all .2s;text-decoration:underline;font-weight:500}.data-issue-log-app .comment-btn:hover{color:#0e7490}.data-issue-log-app .chat-container{display:flex;flex-direction:column;gap:8px;max-height:200px}.data-issue-log-app .chat-messages{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto;padding-right:4px}.data-issue-log-app .chat-messages::-webkit-scrollbar{width:4px}.data-issue-log-app .chat-messages::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.data-issue-log-app .chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.data-issue-log-app .chat-empty{display:flex;align-items:center;gap:8px;padding:12px;color:#94a3b8;font-size:12px;font-style:italic}.data-issue-log-app .chat-empty i{font-size:16px}.data-issue-log-app .chat-bubble{max-width:95%;padding:8px 12px;border-radius:12px;position:relative;animation:dil-bubbleIn .2s ease-out}@keyframes dil-bubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.data-issue-log-app .chat-bubble.sent{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.data-issue-log-app .chat-bubble.sent .chat-header{color:#ffffffd9}.data-issue-log-app .chat-bubble.sent .chat-text{color:#fff}.data-issue-log-app .chat-bubble.sent .chat-avatar{background:#ffffff40}.data-issue-log-app .chat-bubble.sent .chat-user{color:#fff}.data-issue-log-app .chat-bubble.received{background:#f1f5f9;color:#1e293b;margin-right:auto;border-bottom-left-radius:4px}.data-issue-log-app .chat-bubble.received .chat-header{color:#64748b}.data-issue-log-app .chat-bubble.received .chat-user{color:#0891b2}.data-issue-log-app .chat-header{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:10px}.data-issue-log-app .chat-avatar{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;flex-shrink:0}.data-issue-log-app .chat-user{font-weight:700;font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.2px}.data-issue-log-app .chat-time{margin-left:auto;font-size:9px;opacity:.7}.data-issue-log-app .edited-indicator{font-style:italic;color:inherit;opacity:.7}.data-issue-log-app .chat-text{font-size:12px;line-height:1.4;word-wrap:break-word;color:inherit}.data-issue-log-app .view-more-btn{background:none;border:none;color:#0891b2;font-size:11px;cursor:pointer;padding:4px 8px;margin-top:4px;border-radius:4px;transition:all .15s ease}.data-issue-log-app .view-more-btn:hover{background:#0891b21a;text-decoration:underline}.data-issue-log-app .edit-comment-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:11px;padding:2px 4px;border-radius:4px;opacity:.6;transition:all .2s}.data-issue-log-app .edit-comment-btn:hover{opacity:1;background:#0891b21a}.data-issue-log-app .edit-comment-form{display:flex;flex-direction:column;gap:8px;margin-top:4px}.data-issue-log-app .edit-comment-input{width:100%;padding:8px 12px;border:1px solid #0891b2;border-radius:8px;font-size:12px;background:#fff!important;color:#000!important;transition:all .15s ease;-webkit-text-fill-color:#000000!important;outline:none;box-sizing:border-box}.data-issue-log-app .edit-comment-input:focus{box-shadow:0 0 0 3px #0891b21a}.data-issue-log-app .edit-comment-actions{display:flex;gap:6px;justify-content:flex-end}.data-issue-log-app .edit-save-btn{background:#0891b2;color:#fff;border:none;padding:5px 14px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:background .2s}.data-issue-log-app .edit-save-btn:hover:not(:disabled){background:#0e7490}.data-issue-log-app .edit-save-btn:disabled{opacity:.5;cursor:not-allowed}.data-issue-log-app .edit-cancel-btn{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;padding:5px 14px;border-radius:6px;font-size:11px;cursor:pointer}.data-issue-log-app .edit-cancel-btn:hover{background:#e2e8f0}.data-issue-log-app .chat-input-row{display:flex;gap:6px;align-items:center}.data-issue-log-app .chat-input{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:20px;font-size:12px;background:#f8fafc;color:#000!important;transition:all .15s ease;-webkit-text-fill-color:#000000!important;outline:none}.data-issue-log-app .chat-input:focus{border-color:#0891b2;background:#fff;box-shadow:0 0 0 3px #0891b21a}.data-issue-log-app .chat-input::placeholder{color:#94a3b8}.data-issue-log-app .chat-send-btn{background:#0891b2;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;font-size:13px;flex-shrink:0}.data-issue-log-app .chat-send-btn:hover:not(:disabled){background:#0e7490}.data-issue-log-app .chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.data-issue-log-app .resolve-toggle{display:flex;justify-content:center;background:none;border:none;cursor:pointer;font-size:22px;transition:all .2s}.data-issue-log-app .resolve-toggle.resolved{color:#22c55e}.data-issue-log-app .resolve-toggle.not-resolved{color:#f59e0b}.data-issue-log-app .resolve-toggle:disabled{opacity:.5;cursor:not-allowed}.data-issue-log-app .resolve-toggle:hover:not(:disabled){transform:scale(1.15)}.data-issue-log-app .attach-wrapper{position:relative;display:inline-block}.data-issue-log-app .attach-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:1px solid transparent;cursor:pointer;color:#64748b;font-size:16px;padding:4px 8px;border-radius:6px;transition:all .2s}.data-issue-log-app .attach-btn.has-files{color:#0891b2}.data-issue-log-app .attach-btn:hover:not(:disabled){background:#0891b214;border-color:#0891b2}.data-issue-log-app .attach-btn:disabled{opacity:.5;cursor:not-allowed}.data-issue-log-app .attach-count{font-size:11px;font-weight:600;background:#0891b2;color:#fff;padding:2px 6px;border-radius:10px}.data-issue-log-app .attachment-popup{position:absolute;bottom:100%;right:0;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 30px #0000001f;min-width:340px;padding:0;animation:dil-popupIn .2s ease-out;margin-bottom:8px}@keyframes dil-popupIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.data-issue-log-app .popup-header{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:14px 18px 10px;border-bottom:1px solid #e2e8f0;color:#1e293b;display:flex;align-items:center;gap:8px;justify-content:center}.data-issue-log-app .popup-list{max-height:240px;overflow-y:auto;padding:8px 0}.data-issue-log-app .attachment-item{display:flex;align-items:center;gap:12px;padding:12px 18px;font-size:13px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f8fafc}.data-issue-log-app .attachment-item:last-child{border-bottom:none}.data-issue-log-app .attachment-item:hover{background:#0891b20f}.data-issue-log-app .attachment-item i.bi-file-earmark{font-size:20px;color:#94a3b8;flex-shrink:0}.data-issue-log-app .attachment-item .file-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1e293b;font-weight:500}.data-issue-log-app .attachment-item .file-date{color:#0891b2;font-size:12px;white-space:nowrap;font-weight:500}.data-issue-log-app .attachment-download-btn{background:none;border:none;cursor:pointer;color:#0891b2;font-size:16px;padding:4px;border-radius:4px;transition:all .2s;flex-shrink:0}.data-issue-log-app .attachment-download-btn:hover{background:#0891b21a;color:#0e7490}.data-issue-log-app .popup-add{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;border-top:1px solid #e2e8f0;padding:12px 18px;cursor:pointer;color:#0891b2;font-size:13px;font-weight:600;transition:background .2s;border-radius:0 0 12px 12px}.data-issue-log-app .popup-add:hover{background:#0891b20f}.data-issue-log-app .dil-summary{display:flex;gap:24px;padding:12px 16px;margin-top:12px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:10px;font-size:13px;color:#475569}.data-issue-log-app .text-success{color:#059669}.data-issue-log-app .text-warning{color:#f59e0b}.data-issue-log-app .dil-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:999}.data-issue-log-app .dil-modal-content{background:#fff;border-radius:0;max-width:520px;width:92%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000001a;overflow:hidden}.data-issue-log-app .dil-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.data-issue-log-app .dil-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.data-issue-log-app .dil-modal-close{background:none;border:none;font-size:20px;color:#64748b;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.data-issue-log-app .dil-modal-close:hover{background:#f1f5f9;color:#1e293b}.data-issue-log-app .dil-modal-body{padding:16px 20px;overflow-y:auto;flex:1}.data-issue-log-app .chat-modal{max-width:560px}.data-issue-log-app .chat-modal-header{background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:0;border-bottom:none}.data-issue-log-app .chat-modal-title{display:flex;align-items:center;gap:12px;color:#fff}.data-issue-log-app .chat-modal-title i{font-size:22px}.data-issue-log-app .chat-modal-title h3{color:#fff;margin:0}.data-issue-log-app .chat-modal-subtitle{font-size:12px;color:#ffffffb3}.data-issue-log-app .chat-modal-header .dil-modal-close{color:#ffffffb3}.data-issue-log-app .chat-modal-header .dil-modal-close:hover{color:#fff;background:#ffffff26}.data-issue-log-app .chat-modal-body{padding:0;display:flex;flex-direction:column;background:#fff}.data-issue-log-app .chat-messages-full{display:flex;flex-direction:column;gap:10px;padding:16px 20px;max-height:50vh;overflow-y:auto}.data-issue-log-app .chat-bubble-full{padding:10px 14px;border-radius:12px;font-size:13px;box-shadow:0 1px 3px #00000014;max-width:85%}.data-issue-log-app .chat-bubble-full.sent{align-self:flex-end;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-bottom-right-radius:2px}.data-issue-log-app .chat-bubble-full.received{align-self:flex-start;background:#f1f5f9;color:#1e293b;border-bottom-left-radius:2px}.data-issue-log-app .chat-header-full{display:flex;align-items:center;gap:8px;margin-bottom:6px}.data-issue-log-app .chat-avatar-full{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.data-issue-log-app .chat-user-info{display:flex;flex-direction:column}.data-issue-log-app .chat-user-name{font-weight:600;font-size:12px;color:inherit}.data-issue-log-app .chat-user-time{font-size:10px;opacity:.7;color:inherit}.data-issue-log-app .chat-text-full{font-size:13px;line-height:1.5;word-break:break-word;color:inherit}.data-issue-log-app .modal-input-row{padding:12px 20px;border-top:1px solid #e2e8f0;background:#fff;border-radius:0}.data-issue-log-app .upload-modal{max-width:400px}.data-issue-log-app .upload-zone{border:2px dashed #cbd5e1;border-radius:12px;padding:32px 20px;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:16px}.data-issue-log-app .upload-zone:hover{border-color:#0891b2;background:#0891b20a}.data-issue-log-app .upload-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;color:#94a3b8}.data-issue-log-app .upload-prompt i{font-size:32px}.data-issue-log-app .file-selected{display:flex;align-items:center;justify-content:center;gap:8px;color:#059669}.data-issue-log-app .file-selected i{font-size:24px}.data-issue-log-app .upload-actions{display:flex;gap:8px;justify-content:flex-end}.data-issue-log-app .upload-btn{background:#0891b2;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.data-issue-log-app .upload-btn:hover:not(:disabled){background:#0e7490}.data-issue-log-app .upload-btn:disabled{opacity:.5;cursor:not-allowed}.data-issue-log-app .cancel-btn{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px}.data-issue-log-app .cancel-btn:hover{background:#e2e8f0}@media(max-width:768px){.data-issue-log-app .data-issue-log-main{padding:0 12px 12px}.data-issue-log-app .dil-content{padding:16px}.data-issue-log-app .dil-header-row{flex-direction:column;align-items:flex-start;gap:12px}.data-issue-log-app .dil-header-actions{width:100%;justify-content:flex-end}.data-issue-log-app .dil-summary{flex-wrap:wrap;gap:12px}}.rg-notes-app{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.rg-notes-app .rg-notes-main{flex:1;display:flex;padding:0 24px 24px;gap:20px}.rg-notes-app .rgn-nav{display:flex;flex-direction:column;gap:12px;padding-top:20px}.rg-notes-app .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;font-size:16px}.rg-notes-app .nav-icon:hover{background:#0891b2;color:#fff}.rg-notes-app .rgn-content{flex:1;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000a;padding:24px;overflow:hidden;display:flex;flex-direction:column}.rg-notes-app .rgn-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.rg-notes-app .rgn-title{font-size:15px;font-weight:600;color:#0891b2}.rg-notes-app .rgn-header-actions{display:flex;align-items:center;gap:10px}.rg-notes-app .rgn-action-btn{padding:8px 16px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.rg-notes-app .rgn-action-btn.data-btn{background:#0891b2;color:#fff;border:1px solid #0891b2}.rg-notes-app .rgn-action-btn.data-btn:hover{background:#0e7490}.rg-notes-app .rgn-action-btn.report-btn{background:#fff;color:#1e293b;border:1px solid #e2e8f0}.rg-notes-app .rgn-action-btn.report-btn:hover{background:#f1f5f9}.rg-notes-app .rgn-save-row{display:flex;justify-content:flex-end;margin-bottom:16px}.rg-notes-app .save-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;color:#fff;background:#0891b2;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.rg-notes-app .save-btn:hover:not(:disabled){background:#0e7490}.rg-notes-app .save-btn:disabled{opacity:.5;cursor:not-allowed}.rg-notes-app .alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;margin-bottom:12px;font-size:13px}.rg-notes-app .alert.error{background:#dc262614;color:#dc2626}.rg-notes-app .alert .xbtn{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.7}.rg-notes-app .alert .xbtn:hover{opacity:1}.rg-notes-app .loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b;padding:48px 24px}.rg-notes-app .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;animation:rgn-spin .8s linear infinite;margin-bottom:16px}@keyframes rgn-spin{to{transform:rotate(360deg)}}.rg-notes-app .rgn-grid-wrapper{flex:1;overflow:auto}.rg-notes-app .rgn-grid{width:100%;border-collapse:collapse;font-size:13px}.rg-notes-app .rgn-grid thead{position:sticky;top:0;z-index:10;background:#0891b2}.rg-notes-app .rgn-grid 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);white-space:nowrap;text-align:center}.rg-notes-app .rgn-grid th:last-child{border-right:none}.rg-notes-app .rgn-grid td{padding:12px 10px;vertical-align:top;border-right:1px solid #f1f5f9;color:#1e293b}.rg-notes-app .rgn-grid td:last-child{border-right:none}.rg-notes-app .col-comment{width:100px;text-align:center}.rg-notes-app .col-notes{min-width:200px}.rg-notes-app .col-domain{width:120px}.rg-notes-app .col-rg-type{width:140px;text-align:center}.rg-notes-app .col-updated{width:120px;text-align:center}.rg-notes-app .col-attach{width:90px;text-align:center;vertical-align:middle;overflow:visible;white-space:nowrap}.rg-notes-app .data-row{background:#fff;border-bottom:1px solid #e2e8f0;transition:background .15s ease}.rg-notes-app .data-row:nth-child(2n){background:#0891b20a}.rg-notes-app .data-row:hover{background:#0891b214}.rg-notes-app .new-row{background:#fff;border-bottom:1px solid #e2e8f0;transition:background .15s}.rg-notes-app .new-row:hover{background:#0891b20a}.rg-notes-app .comment-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#0891b2;font-size:13px;gap:4px;transition:all .2s;text-decoration:underline;font-weight:500}.rg-notes-app .comment-btn:hover{color:#0e7490}.rg-notes-app .comment-btn .comment-link{color:inherit;text-decoration:inherit;font-size:12px}.rg-notes-app .click-prompt{color:#94a3b8;font-style:italic;cursor:pointer;font-size:12px}.rg-notes-app .cell-content{min-height:24px;cursor:text;padding:2px 4px;border-radius:4px;transition:background .15s;color:#1e293b}.rg-notes-app .cell-content:hover{background:#0891b214}.rg-notes-app .edit-cell{display:flex;flex-direction:column;gap:8px}.rg-notes-app .edit-cell textarea,.rg-notes-app .edit-cell input{width:100%;padding:8px 10px;border:1px solid #0891b2;border-radius:8px;font-size:13px;outline:none;box-sizing:border-box;background:#fff;color:#1e293b;font-family:inherit;transition:all .15s ease}.rg-notes-app .edit-cell textarea{min-height:60px;resize:vertical}.rg-notes-app .edit-cell textarea:focus,.rg-notes-app .edit-cell input:focus{box-shadow:0 0 0 3px #0891b21a}.rg-notes-app .edit-actions{display:flex;gap:8px}.rg-notes-app .edit-actions button{padding:5px 14px;border-radius:6px;cursor:pointer;border:none;font-size:11px;font-weight:500}.rg-notes-app .edit-actions .btn-save{background:#0891b2;color:#fff}.rg-notes-app .edit-actions .btn-save:hover{background:#0e7490}.rg-notes-app .edit-actions .btn-cancel{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.rg-notes-app .edit-actions .btn-cancel:hover{background:#e2e8f0}.rg-notes-app .rg-type-select{width:100%;padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;color:#1e293b}.rg-notes-app .rg-type-select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.rg-notes-app .update-icons{display:flex;justify-content:center;gap:8px}.rg-notes-app .icon-btn{background:none;border:none;cursor:pointer;font-size:22px;padding:4px;border-radius:4px;transition:all .2s}.rg-notes-app .icon-btn:hover{transform:scale(1.15)}.rg-notes-app .text-success{color:#22c55e}.rg-notes-app .text-warning{color:#f59e0b}.rg-notes-app .text-danger{color:#dc2626}.rg-notes-app .text-muted{color:#94a3b8}.rg-notes-app .attach-container{position:relative;display:inline-flex;align-items:center;gap:4px}.rg-notes-app .attach-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:1px solid transparent;cursor:pointer;color:#64748b;font-size:16px;padding:4px 8px;border-radius:6px;transition:all .2s}.rg-notes-app .attach-btn.has-files{color:#0891b2}.rg-notes-app .attach-btn:hover:not(:disabled){background:#0891b214;border-color:#0891b2}.rg-notes-app .attach-btn:disabled{opacity:.5;cursor:not-allowed}.rg-notes-app .attach-popup{position:absolute;bottom:100%;right:0;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 30px #0000001f;min-width:340px;padding:0;animation:rgn-popupIn .2s ease-out;margin-bottom:8px}@keyframes rgn-popupIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.rg-notes-app .popup-header{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:14px 18px 10px;border-bottom:1px solid #e2e8f0;color:#1e293b;display:flex;align-items:center;gap:8px;justify-content:center}.rg-notes-app .popup-list{max-height:240px;overflow-y:auto;padding:8px 0}.rg-notes-app .attachment-item{display:flex;align-items:center;gap:12px;padding:12px 18px;font-size:13px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f8fafc}.rg-notes-app .attachment-item:last-child{border-bottom:none}.rg-notes-app .attachment-item:hover{background:#0891b20f}.rg-notes-app .attachment-item i.bi-file-earmark{font-size:20px;color:#94a3b8;flex-shrink:0}.rg-notes-app .attachment-item .file-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1e293b;font-weight:500}.rg-notes-app .attachment-item .file-date{color:#0891b2;font-size:12px;white-space:nowrap;font-weight:500}.rg-notes-app .attachment-download-btn{background:none;border:none;cursor:pointer;color:#0891b2;font-size:16px;padding:4px;border-radius:4px;transition:all .2s;flex-shrink:0}.rg-notes-app .attachment-download-btn:hover{background:#0891b21a;color:#0e7490}.rg-notes-app .popup-add{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;border-top:1px solid #e2e8f0;padding:12px 18px;cursor:pointer;color:#0891b2;font-size:13px;font-weight:600;transition:background .2s;border-radius:0 0 12px 12px}.rg-notes-app .popup-add:hover{background:#0891b20f}.rg-notes-app .attach-popup-title{padding:14px 18px 10px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:#1e293b;border-bottom:1px solid #e2e8f0;text-align:center}.rg-notes-app .attach-item{display:flex;align-items:center;gap:12px;padding:12px 18px;cursor:pointer;font-size:13px;color:#1e293b;font-weight:500;transition:background .15s}.rg-notes-app .attach-item:hover{background:#0891b20f}.rg-notes-app .resolve-toggle{background:none;border:none;cursor:pointer;padding:6px;border-radius:50%;font-size:20px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.rg-notes-app .resolve-toggle.resolved{color:#10b981}.rg-notes-app .resolve-toggle.resolved:hover{color:#059669;background:#10b9811a}.rg-notes-app .resolve-toggle.not-resolved{color:#94a3b8}.rg-notes-app .resolve-toggle.not-resolved:hover{color:#64748b;background:#94a3b81a}.rg-notes-app .cell-content.editable{cursor:pointer;min-height:28px;padding:4px 6px;border-radius:4px;transition:background .15s}.rg-notes-app .cell-content.editable:hover{background:#0891b20f}.rg-notes-app .cell-placeholder{color:#94a3b8;font-style:italic;font-size:12px}.rg-notes-app .empty-message-row{text-align:center;padding:24px}.rg-notes-app .empty-hint{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;color:#94a3b8}.rg-notes-app .empty-hint i{font-size:24px}.rg-notes-app .empty-hint p{margin:0;font-size:13px;font-weight:500}.rg-notes-app .rgn-summary{display:flex;gap:24px;padding:12px 16px;margin-top:12px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:10px;font-size:13px;color:#475569}.rg-notes-app .rgn-summary span{color:#475569}.rg-notes-app .rgn-summary strong{color:#1e293b}.rg-notes-app .rgn-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:999}.rg-notes-app .rgn-modal-content{background:#fff;border-radius:16px;max-width:700px;width:92%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.rg-notes-app .rgn-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:16px 16px 0 0}.rg-notes-app .rgn-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#fff;display:flex;align-items:center;gap:10px}.rg-notes-app .rgn-modal-close{background:none;border:none;font-size:20px;color:#ffffffb3;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.rg-notes-app .rgn-modal-close:hover{background:#ffffff26;color:#fff}.rg-notes-app .rgn-modal-body{padding:16px 20px;overflow-y:auto;flex:1;max-height:50vh}.rg-notes-app .rgn-modal-footer{padding:16px 20px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end}.rg-notes-app .btn-secondary{padding:8px 16px;font-size:13px;font-weight:600;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer}.rg-notes-app .btn-secondary:hover{background:#e2e8f0}.rg-notes-app .attachments-table{width:100%;border-collapse:collapse}.rg-notes-app .attachments-table th{padding:10px 12px;text-align:left;font-weight:600;color:#64748b;font-size:12px;text-transform:uppercase;border-bottom:2px solid #e2e8f0}.rg-notes-app .attachments-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f1f5f9;color:#1e293b}.rg-notes-app .attachments-table td i{margin-right:8px;color:#94a3b8}.rg-notes-app .download-btn{background:none;border:none;color:#0891b2;cursor:pointer;font-size:16px;padding:4px;border-radius:4px;transition:all .2s}.rg-notes-app .download-btn:hover{color:#0e7490;background:#0891b21a}.rg-notes-app .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#94a3b8}.rg-notes-app .empty-state i{font-size:48px;margin-bottom:12px}@media(max-width:768px){.rg-notes-app .rg-notes-main{padding:0 12px 12px}.rg-notes-app .rgn-content{padding:16px}.rg-notes-app .rgn-header-row{flex-direction:column;align-items:flex-start;gap:12px}.rg-notes-app .rgn-header-actions{width:100%;justify-content:flex-end}.rg-notes-app .rgn-summary{flex-wrap:wrap;gap:12px}}.sdtm-spec-app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(145deg,#0f172a,#1e293b);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif}.sdtm-spec-main{flex:1;display:flex;padding:0 24px 24px;gap:20px}.sdtm-spec-nav{display:flex;flex-direction:column;gap:12px;padding-top:20px}.sdtm-spec-nav .nav-icon{width:42px;height:42px;border-radius:12px;border:1px solid rgba(34,211,238,.2);background:#0f172acc;color:#22d3ee;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;font-size:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sdtm-spec-nav .nav-icon:hover{background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 8px 24px #0891b259}.sdtm-spec-content{flex:1;background:linear-gradient(165deg,#1e293b,#0f172a);border-radius:20px;box-shadow:0 4px 30px #0000004d,inset 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.05);padding:24px;overflow:hidden;display:flex;flex-direction:column}.spec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}.spec-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:#f1f5f9;letter-spacing:-.02em}.spec-title i{font-size:24px;color:#22d3ee}.analysis-badge{padding:6px 14px;background:linear-gradient(135deg,#22d3ee26,#0891b233);border:1px solid rgba(34,211,238,.3);border-radius:20px;font-size:13px;font-weight:600;color:#22d3ee;font-family:JetBrains Mono,monospace}.spec-actions{display:flex;gap:10px}.spec-actions .btn-icon{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.spec-actions .btn-icon:hover{background:#22d3ee1a;border-color:#22d3ee4d;color:#22d3ee}.alert{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;margin-bottom:16px;font-size:14px}.alert.error{background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:#fca5a5}.alert .xbtn{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.7;font-size:18px}.alert .xbtn:hover{opacity:1}.domain-tabs-wrapper{margin-bottom:20px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(34,211,238,.3) transparent}.domain-tabs-wrapper::-webkit-scrollbar{height:6px}.domain-tabs-wrapper::-webkit-scrollbar-track{background:transparent}.domain-tabs-wrapper::-webkit-scrollbar-thumb{background:#22d3ee4d;border-radius:3px}.domain-tabs{display:flex;gap:6px;padding:4px;background:#0003;border-radius:14px;min-width:max-content}.domain-tab{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;border:none;background:transparent;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap}.domain-tab:hover{background:#ffffff0d;color:#94a3b8}.domain-tab.active{background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;box-shadow:0 4px 16px #0d948859}.domain-tab .tab-code{font-family:JetBrains Mono,monospace;letter-spacing:.05em}.domain-tab .tab-count{padding:2px 8px;background:#0003;border-radius:12px;font-size:11px;font-weight:500}.domain-tab.active .tab-count{background:#fff3}.loading,.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b;padding:60px 24px}.loading .spinner{width:44px;height:44px;border:3px solid rgba(34,211,238,.2);border-top-color:#22d3ee;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:20px}.empty-state i{font-size:56px;opacity:.3;margin-bottom:16px;color:#22d3ee}.empty-state h3{font-size:18px;font-weight:600;color:#94a3b8;margin:0 0 8px}.empty-state p{font-size:14px;color:#64748b;margin:0}.error-card{text-align:center;padding:60px;color:#94a3b8}.error-card h2{margin-bottom:20px}.excel-grid-wrapper{flex:1;overflow:auto;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#00000026}.excel-grid{width:100%;border-collapse:collapse;font-size:13px}.excel-grid thead{position:sticky;top:0;z-index:10}.excel-grid th{padding:14px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(180deg,#134e4a,#115e59);color:#5eead4;border-right:1px solid rgba(94,234,212,.15);border-bottom:2px solid #0d9488}.excel-grid th:last-child{border-right:none}.excel-grid tbody tr{background:#f8fafc05;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s ease}.excel-grid tbody tr.zebra{background:#14b8a60a}.excel-grid tbody tr:hover{background:#22d3ee14}.excel-grid tbody tr.resolved-row{background:#22c55e14}.excel-grid tbody tr.resolved-row.zebra{background:#22c55e1f}.excel-grid td{padding:12px;vertical-align:middle;border-right:1px solid rgba(255,255,255,.04);color:#e2e8f0}.excel-grid td:last-child{border-right:none}.col-domain{width:80px;font-weight:700;color:#22d3ee;font-family:JetBrains Mono,monospace;font-size:12px}.col-variable{width:140px}.variable-name{font-family:JetBrains Mono,monospace;font-weight:600;color:#f1f5f9;font-size:13px}.col-label{width:200px;max-width:240px}.label-text{display:block;color:#94a3b8;font-size:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-type{width:70px;font-family:JetBrains Mono,monospace;font-size:12px;color:#a78bfa}.col-length{width:60px;font-family:JetBrains Mono,monospace;font-size:12px;text-align:center;color:#94a3b8}.col-comment{width:100px;text-align:center}.col-resolved{width:100px;min-width:100px;text-align:center;vertical-align:middle;overflow:visible}.col-attach{width:90px;min-width:90px;text-align:center;vertical-align:middle;overflow:visible}.comment-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#22d3ee;font-size:13px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.comment-link:hover{color:#67e8f9}.comment-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:10px;font-size:10px;font-weight:700;color:#fff;text-decoration:none}.resolve-btn{width:40px;min-width:40px;height:36px;border-radius:10px;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:22px;transition:all .2s ease;flex-shrink:0}.resolve-btn.not-resolved{color:#fbbf24}.resolve-btn.not-resolved:hover{background:#fbbf2426;color:#fcd34d}.resolve-btn.resolved{color:#22c55e}.resolve-btn.resolved:hover{background:#22c55e26;color:#4ade80}.no-entry{color:#475569}.attach-btn{width:40px;min-width:40px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#64748b;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s ease;flex-shrink:0}.attach-btn:hover{background:#22d3ee26;border-color:#22d3ee4d;color:#22d3ee}.attach-btn.has-files{background:#22d3ee1f;border-color:#22d3ee59;color:#22d3ee}.comment-sidebar{position:fixed;top:0;right:0;width:400px;max-width:90vw;height:100vh;background:linear-gradient(180deg,#1e293b,#0f172a);border-left:1px solid rgba(255,255,255,.08);box-shadow:-8px 0 40px #0006;display:flex;flex-direction:column;z-index:1000;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08);background:#0003}.sidebar-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:600;color:#f1f5f9}.sidebar-header h3 i{color:#22d3ee}.close-btn{width:36px;height:36px;border-radius:10px;border:none;background:#ffffff0d;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#ef444426;color:#fca5a5}.sidebar-context{padding:20px 24px;background:#00000026;border-bottom:1px solid rgba(255,255,255,.05)}.context-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:4px}.context-value{font-family:JetBrains Mono,monospace;font-size:14px;color:#f1f5f9;margin-bottom:12px}.context-status{display:flex;align-items:center;gap:8px;font-size:13px;color:#94a3b8}.context-status span.resolved{padding:4px 12px;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:16px;color:#4ade80;font-weight:600}.context-status span.not-resolved{padding:4px 12px;background:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:16px;color:#fcd34d;font-weight:600}.sidebar-comments{flex:1;overflow-y:auto;padding:20px 24px}.no-comments{text-align:center;padding:40px 20px;color:#64748b}.no-comments i{font-size:40px;opacity:.4;margin-bottom:12px;display:block}.comment-item{padding:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;margin-bottom:12px}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.comment-user{font-weight:600;color:#22d3ee;font-size:13px}.comment-date{font-size:11px;color:#64748b}.comment-text{font-size:14px;color:#e2e8f0;line-height:1.5}.sidebar-input{padding:20px 24px;border-top:1px solid rgba(255,255,255,.08);background:#0003}.sidebar-input textarea{width:100%;padding:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#f1f5f9;font-size:14px;font-family:inherit;resize:none;transition:border-color .2s ease}.sidebar-input textarea:focus{outline:none;border-color:#22d3ee80}.sidebar-input textarea::placeholder{color:#64748b}.input-actions{display:flex;gap:10px;margin-top:12px}.btn-primary{flex:1;padding:12px 20px;border-radius:10px;border:none;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-toggle{padding:12px 16px;border-radius:10px;border:1px solid rgba(251,191,36,.3);background:#fbbf241a;color:#fcd34d;font-weight:500;font-size:13px;cursor:pointer;transition:all .2s ease}.btn-toggle:hover{background:#fbbf2433}.btn-toggle.resolved{border-color:#22c55e4d;background:#22c55e1a;color:#4ade80}.btn-toggle.resolved:hover{background:#22c55e33}.modal-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100}.modal-content{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:20px;width:90%;max-width:500px;box-shadow:0 24px 80px #00000080;animation:modalIn .3s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:#f1f5f9}.modal-close{width:36px;height:36px;border-radius:10px;border:none;background:#ffffff0d;color:#94a3b8;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:#ef444426;color:#fca5a5}.modal-body{padding:24px 28px}.upload-context{margin-bottom:20px;font-size:14px;color:#94a3b8}.upload-context strong{color:#f1f5f9;font-family:JetBrains Mono,monospace}.upload-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;border:2px dashed rgba(34,211,238,.3);border-radius:16px;background:#22d3ee08;cursor:pointer;transition:all .25s ease}.upload-dropzone:hover{border-color:#22d3ee99;background:#22d3ee14}.upload-dropzone i{font-size:42px;color:#22d3ee;margin-bottom:16px}.upload-dropzone p{font-size:14px;color:#94a3b8;margin:0}.upload-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.selected-file{display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px 18px;background:#22d3ee1a;border:1px solid rgba(34,211,238,.25);border-radius:12px}.selected-file i{color:#22d3ee;font-size:20px}.selected-file span{font-size:14px;color:#f1f5f9}.selected-file .file-size{margin-left:auto;color:#64748b;font-size:12px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px 24px;border-top:1px solid rgba(255,255,255,.05)}.btn-secondary{padding:12px 24px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#94a3b8;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#ffffff1a;color:#f1f5f9}@media(max-width:1200px){.col-label{max-width:160px}.col-type,.col-length{display:none}}@media(max-width:900px){.comment-sidebar{width:100%;max-width:100%}.domain-tabs{gap:4px}.domain-tab{padding:8px 12px}.domain-tab .tab-count{display:none}}@media(max-width:600px){.sdtm-spec-main{padding:0 12px 12px;gap:12px}.sdtm-spec-nav{display:none}.spec-header{flex-direction:column;align-items:flex-start;gap:12px}.excel-grid td,.excel-grid th{padding:8px 6px;font-size:11px}}:root{--editor-bg: #e8e8e8;--page-bg: #ffffff;--toolbar-bg: #f8f9fa;--toolbar-border: #dee2e6;--nav-bg: #f1f3f5;--nav-width: 220px;--panel-width: 320px;--sidebar-border: #e0e0e0;--accent-blue: #4a90d9;--accent-green: #28a745;--accent-red: #dc3545;--accent-orange: #fd7e14;--text-primary: #212529;--text-secondary: #6c757d;--text-muted: #adb5bd;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .18);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition: .2s ease}.review-editor-root{display:flex;flex-direction:column;height:100vh;background:var(--editor-bg);font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-primary);overflow:hidden}.review-editor-body{display:flex;flex:1;overflow:hidden}.review-toolbar-container{flex-shrink:0;border-bottom:1px solid var(--toolbar-border);background:var(--toolbar-bg)}.review-toolbar__header{display:flex;align-items:center;padding:4px 16px;gap:8px;min-height:36px;border-bottom:1px solid #e0e0e0}.review-toolbar__left{display:flex;align-items:center;gap:12px;flex:1}.review-toolbar__title{font-size:15px;font-weight:600;color:var(--text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-toolbar__status{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.review-toolbar__status--draft{background:#fff3cd;color:#856404}.review-toolbar__status--active{background:#d4edda;color:#155724}.review-toolbar__status--closed{background:#f8d7da;color:#721c24}.review-toolbar__right{display:flex;align-items:center;gap:4px}.review-toolbar__ribbon{display:flex;align-items:stretch;padding:4px 12px;gap:0;min-height:72px;overflow:visible}.review-toolbar__group{display:flex;flex-direction:column;align-items:center;padding:2px 8px;gap:2px}.review-toolbar__group-btns{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1}.review-toolbar__group-btns--review{flex-direction:row;align-items:stretch;gap:4px}.review-toolbar__group-label{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.5px;text-align:center;border-top:1px solid #e8e8e8;padding-top:2px;width:100%}.review-toolbar__group-divider{width:1px;background:#d0d0d0;margin:4px;align-self:stretch}.review-toolbar__group-stack{display:flex;flex-direction:column;gap:1px}.review-toolbar__font-row{display:flex;gap:4px;align-items:center}.review-toolbar__format-row{display:flex;gap:1px;align-items:center}.review-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border:none;background:transparent;cursor:pointer;border-radius:3px;font-size:13px;color:var(--text-secondary);transition:all .15s;gap:4px;white-space:nowrap}.review-toolbar__btn:hover{background:#e2e6ea;color:var(--text-primary)}.review-toolbar__btn--active{background:#cce0f5;color:#1a5699}.review-toolbar__btn--active:hover{background:#b5d3f0}.review-toolbar__btn--icon{padding:3px 5px;min-width:26px;min-height:26px;font-size:13px;font-weight:600}.review-toolbar__btn--lg{flex-direction:column;padding:4px 10px;font-size:12px;min-height:48px}.review-toolbar__btn--sm{font-size:11px;padding:2px 8px}.review-toolbar__btn--leave{background:#fee2e2;color:#dc3545;font-weight:500}.review-toolbar__btn--leave:hover{background:#fdd}.review-toolbar__btn--review{flex-direction:column;padding:4px 10px;font-size:11px;min-height:48px;gap:2px}.review-toolbar__btn--color{display:inline-flex;gap:1px;font-weight:700}.toolbar-icon{font-size:18px}.toolbar-label{font-size:11px}.toolbar-caret{font-size:8px;margin-left:-2px}.review-toolbar__mini-sep{width:1px;height:20px;background:#ddd;margin:0 3px}.review-toolbar__select{padding:3px 6px;border:1px solid #ccc;border-radius:3px;font-size:12px;background:#fff;color:var(--text-primary);cursor:pointer;outline:none}.review-toolbar__select:hover{border-color:#999}.review-toolbar__select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #4285f433}.review-toolbar__select--font{width:130px}.review-toolbar__select--size{width:54px}.review-toolbar__select--style{width:110px;min-height:46px;font-size:13px}.review-toolbar__separator{width:1px;height:24px;background:var(--toolbar-border);margin:0 4px}.review-toolbar__dropdown{position:relative}.review-toolbar__dropdown-menu{position:absolute;top:100%;right:0;min-width:200px;background:#fff;border:1px solid var(--toolbar-border);border-radius:6px;box-shadow:0 4px 16px #0000001f;z-index:1000;padding:4px;margin-top:4px}.review-toolbar__dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:var(--text-primary);border:none;background:transparent;width:100%;cursor:pointer;border-radius:4px;transition:background .15s}.review-toolbar__dropdown-item:hover{background:#f1f3f5}.review-toolbar__color-grid{position:absolute;top:100%;left:0;display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:8px;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 16px #00000026;z-index:1001;min-width:200px;margin-top:4px}.review-toolbar__color-grid--small{grid-template-columns:repeat(8,1fr);min-width:160px}.review-toolbar__color-swatch{width:18px;height:18px;border:1px solid transparent;border-radius:2px;cursor:pointer;padding:0;font-size:9px;display:flex;align-items:center;justify-content:center;color:#666;transition:transform .1s}.review-toolbar__color-swatch:hover{transform:scale(1.3);border-color:#333;z-index:1}.review-toolbar__color-swatch--selected{border:2px solid #333;border-radius:3px}.nav-pane{width:var(--nav-width);background:var(--nav-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:width var(--transition)}.nav-pane--collapsed{width:0;border-right:none}.nav-pane__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--sidebar-border);font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.nav-pane__toggle{width:24px;height:24px;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.nav-pane__toggle:hover{background:#dee2e6}.nav-pane__content{flex:1;overflow-y:auto;padding:8px}.nav-pane__section{margin-bottom:12px}.nav-pane__section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;margin-bottom:2px}.nav-tree-item{display:flex;align-items:center;padding:5px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--text-primary);transition:background var(--transition);gap:6px}.nav-tree-item:hover{background:#dee2e6}.nav-tree-item--active{background:#d0e4ff;color:var(--accent-blue);font-weight:500}.nav-tree-item--indent-1{padding-left:20px}.nav-tree-item--indent-2{padding-left:36px}.nav-tree-item--indent-3{padding-left:52px}.nav-tree-item__icon{font-size:12px;color:var(--text-muted);flex-shrink:0}.nav-zone-item{display:flex;align-items:center;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;gap:8px;transition:background var(--transition);border-left:3px solid transparent}.nav-zone-item:hover{background:#dee2e6}.nav-zone-item__color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.nav-zone-item__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-zone-item__range{font-size:11px;color:var(--text-muted)}.nav-participant{display:flex;align-items:center;padding:5px 8px;gap:8px;font-size:13px}.nav-participant__status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.nav-participant__status--online{background:var(--accent-green)}.nav-participant__status--offline{background:var(--text-muted)}.nav-participant__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-participant__role{font-size:11px;color:var(--text-muted)}.review-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--editor-bg)}.review-pane__scroll{flex:1;overflow-y:auto;padding:32px;display:flex;justify-content:center;align-items:flex-start}.review-pane__page{width:816px;background:var(--page-bg);box-shadow:var(--shadow-md);padding:72px 96px;font-family:Calibri,Segoe UI,sans-serif;font-size:11pt;line-height:1.5;color:#333;position:relative;margin-bottom:32px}.review-pane__editor{outline:none;min-height:400px;word-wrap:break-word;overflow-wrap:break-word}.editor-text-bold{font-weight:700}.editor-text-italic{font-style:italic}.editor-text-underline{text-decoration:underline}.editor-text-strikethrough{text-decoration:line-through}.editor-text-underline.editor-text-strikethrough{text-decoration:underline line-through}.editor-text-subscript{font-size:.8em;vertical-align:sub}.editor-text-superscript{font-size:.8em;vertical-align:super}.editor-text-code{background:#f0f0f0;padding:1px 4px;border-radius:2px;font-family:Consolas,Courier New,monospace;font-size:.9em}.review-pane__editor p{margin:0 0 8px}.review-pane__editor h1{font-size:20pt;font-weight:700;margin:24px 0 12px;color:#1a1a2e;border-bottom:1px solid #e0e0e0;padding-bottom:6px}.review-pane__editor h2{font-size:16pt;font-weight:600;margin:20px 0 8px;color:#1a1a2e}.review-pane__editor h3{font-size:13pt;font-weight:600;margin:16px 0 6px;color:#333}.review-pane__editor h4{font-size:11pt;font-weight:600;margin:12px 0 4px;color:#444}.review-pane__editor ul,.review-pane__editor ol{padding-left:28px;margin:6px 0}.review-pane__editor li{margin-bottom:3px;line-height:1.5}.review-pane__editor a{color:var(--accent-blue);text-decoration:underline}.review-pane__editor table{border-collapse:collapse;width:100%;margin:12px 0;font-size:10pt}.review-pane__editor table th,.review-pane__editor table td{border:1px solid #999;padding:6px 10px;text-align:left;vertical-align:top;line-height:1.4}.review-pane__editor table th{background:#d9e2f3;font-weight:600;color:#1a1a2e}.review-pane__editor table tr:nth-child(2n) td{background:#f6f8fc}.review-pane__editor table tr:hover td{background:#e8eef7}.review-pane__editor img{max-width:100%;height:auto;display:block;margin:12px auto;border:1px solid #e0e0e0;border-radius:2px}.review-pane__editor blockquote{margin:12px 0;padding:8px 16px;border-left:4px solid #4a90d9;background:#f0f5ff;color:#333;font-style:italic}.review-pane__editor hr{border:none;border-top:1px solid #ccc;margin:20px 0}.review-pane__editor pre{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:12px;font-family:Consolas,Courier New,monospace;font-size:10pt;overflow-x:auto;margin:8px 0}.review-pane__editor code{background:#f0f0f0;padding:1px 4px;border-radius:2px;font-family:Consolas,Courier New,monospace;font-size:10pt}.tracked-insert{background:#28a74526;border-bottom:2px solid var(--accent-green);text-decoration:none}.tracked-delete{background:#dc354526;text-decoration:line-through;color:var(--accent-red)}.tracked-replace{background:#4a90d926;border-bottom:2px solid var(--accent-blue)}.editor-mark{background:#ffec9980;border-bottom:2px solid #ffc107;cursor:pointer}.editor-mark:hover{background:#ffec99cc}.editor-mark--active{background:#ffc1074d;border-bottom-color:#e0a800}.zone-boundary{border-left:4px solid transparent;padding-left:12px;margin-left:-16px;transition:border-color var(--transition)}.comments-panel{width:var(--panel-width);background:#fff;border-left:1px solid var(--sidebar-border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.comments-panel__tabs{display:flex;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.comments-panel__tab{flex:1;padding:10px 8px;border:none;background:transparent;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);text-align:center;transition:all var(--transition);border-bottom:2px solid transparent}.comments-panel__tab:hover{color:var(--text-primary);background:#f8f9fa}.comments-panel__tab--active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.comments-panel__tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:#e9ecef;font-size:10px;font-weight:600;margin-left:4px;padding:0 4px}.comments-panel__tab--active .comments-panel__tab-badge{background:var(--accent-blue);color:#fff}.comments-panel__content{flex:1;overflow-y:auto;padding:12px}.comment-card{border-left:3px solid var(--accent-blue);background:#f8faff;border-radius:0 var(--radius-md) var(--radius-md) 0;padding:10px 12px;margin-bottom:10px;transition:all var(--transition);cursor:pointer}.comment-card:hover{box-shadow:var(--shadow-sm);transform:translate(2px)}.comment-card--active{border-left-color:#ffc107;background:#fffcf0;box-shadow:var(--shadow-sm)}.comment-card--resolved{opacity:.6;border-left-color:var(--text-muted);background:#f8f9fa}.comment-card__header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.comment-card__avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0}.comment-card__author{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.comment-card__time{font-size:11px;color:var(--text-muted)}.comment-card__text{font-size:13px;color:var(--text-primary);line-height:1.4;margin-bottom:6px}.comment-card__selected-text{font-size:12px;color:var(--text-secondary);font-style:italic;padding:4px 8px;background:#ffec994d;border-radius:var(--radius-sm);margin-bottom:6px;border-left:2px solid #ffc107}.comment-card__actions{display:flex;gap:6px}.comment-card__action{font-size:11px;padding:3px 8px;border:1px solid var(--toolbar-border);background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--transition)}.comment-card__action:hover{background:#f1f3f5;color:var(--text-primary)}.comment-card__action--accept{border-color:var(--accent-green);color:var(--accent-green)}.comment-card__action--accept:hover{background:var(--accent-green);color:#fff}.comment-card__action--reject{border-color:var(--accent-red);color:var(--accent-red)}.comment-card__action--reject:hover{background:var(--accent-red);color:#fff}.comment-card__replies{margin-top:8px;padding-top:8px;border-top:1px solid #e9ecef}.comment-reply{padding:6px 0;font-size:12px}.comment-reply__author{font-weight:600;color:var(--text-primary)}.comment-reply__text{color:var(--text-secondary)}.comment-card__reply-input{display:flex;gap:6px;margin-top:6px}.comment-card__reply-input input{flex:1;border:1px solid var(--toolbar-border);border-radius:var(--radius-sm);padding:4px 8px;font-size:12px;outline:none}.comment-card__reply-input input:focus{border-color:var(--accent-blue)}.change-card{border-left:3px solid var(--accent-orange);background:#fff8f0;border-radius:0 var(--radius-md) var(--radius-md) 0;padding:10px 12px;margin-bottom:10px}.change-card__type{display:inline-flex;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.change-card__type--insert{background:#d4edda;color:#155724}.change-card__type--delete{background:#f8d7da;color:#721c24}.change-card__type--replace{background:#cce5ff;color:#004085}.change-card__diff{font-size:12px;line-height:1.4;margin:6px 0;padding:6px 8px;background:#f8f9fa;border-radius:var(--radius-sm);font-family:Calibri,sans-serif}.change-card__diff-old{color:var(--accent-red);text-decoration:line-through}.change-card__diff-new{color:var(--accent-green);font-weight:500}.activity-item{display:flex;gap:8px;padding:6px 0;font-size:12px;border-bottom:1px solid #f1f3f5}.activity-item__avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:#fff;flex-shrink:0}.activity-item__text{flex:1;color:var(--text-secondary);line-height:1.3}.activity-item__text strong{color:var(--text-primary)}.activity-item__time{font-size:10px;color:var(--text-muted);flex-shrink:0}.editing-window{position:absolute;z-index:100;background:#fff;border:1px solid var(--toolbar-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:380px;max-height:400px;overflow:hidden}.editing-window__header{display:flex;border-bottom:1px solid var(--toolbar-border)}.editing-window__tab{flex:1;padding:10px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:center;border-bottom:2px solid transparent;transition:all var(--transition)}.editing-window__tab--active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.editing-window__body{padding:12px}.editing-window__textarea{width:100%;min-height:80px;border:1px solid var(--toolbar-border);border-radius:var(--radius-sm);padding:8px;font-size:13px;font-family:inherit;resize:vertical;outline:none}.editing-window__textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a90d926}.editing-window__original{background:#f8f9fa;padding:8px;border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);margin-bottom:8px;border-left:3px solid var(--accent-orange);font-style:italic}.editing-window__category{margin-top:8px}.editing-window__category select{width:100%;padding:6px 8px;border:1px solid var(--toolbar-border);border-radius:var(--radius-sm);font-size:13px;outline:none}.editing-window__actions-row{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.editing-window__action-btn{padding:5px 10px;font-size:12px;border:1px solid var(--toolbar-border);background:#fff;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);transition:all var(--transition)}.editing-window__action-btn:hover{background:#f1f3f5}.editing-window__action-btn--insert{color:var(--accent-green);border-color:var(--accent-green)}.editing-window__action-btn--delete{color:var(--accent-red);border-color:var(--accent-red)}.editing-window__action-btn--replace{color:var(--accent-blue);border-color:var(--accent-blue)}.editing-window__footer{display:flex;justify-content:flex-end;gap:8px;padding:8px 12px;border-top:1px solid var(--toolbar-border);background:#f8f9fa}.editing-window__footer-btn{padding:6px 16px;border:none;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:all var(--transition)}.editing-window__footer-btn--cancel{background:#e9ecef;color:var(--text-secondary)}.editing-window__footer-btn--cancel:hover{background:#dee2e6}.editing-window__footer-btn--apply{background:var(--accent-blue);color:#fff}.editing-window__footer-btn--apply:hover{background:#357abd}.review-status-bar{display:flex;align-items:center;padding:4px 16px;background:#f1f3f5;border-top:1px solid var(--sidebar-border);font-size:11px;color:var(--text-secondary);gap:16px;flex-shrink:0}.review-status-bar__item{display:flex;align-items:center;gap:4px}.review-status-bar__dot{width:6px;height:6px;border-radius:50%}.review-status-bar__dot--saved{background:var(--accent-green)}.review-status-bar__dot--saving{background:var(--accent-orange)}.review-status-bar__dot--unsaved{background:var(--accent-red)}.annotation-overlay{position:absolute;inset:0;pointer-events:none;z-index:10}.annotation-overlay--active{pointer-events:auto}.annotation-shape{position:absolute;cursor:pointer;pointer-events:auto}.annotation-sticky{position:absolute;width:120px;min-height:80px;background:#fff9c4;border:1px solid #f9a825;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:6px;font-size:11px;cursor:move;pointer-events:auto}.annotation-sticky__text{outline:none;min-height:40px}.context-menu{position:fixed;z-index:1000;background:#fff;border:1px solid #d0d0d0;border-radius:8px;box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014;min-width:220px;padding:4px 0;animation:contextMenuIn .12s ease-out}@keyframes contextMenuIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu__item{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13px;color:#333;border:none;background:transparent;width:100%;cursor:pointer;transition:background .15s}.context-menu__item:hover{background:#e8f0fe}.context-menu__item--danger{color:var(--accent-red)}.context-menu__item--danger:hover{background:#fde8e8}.context-menu__icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.context-menu__label{flex:1}.context-menu__shortcut{font-size:11px;color:var(--text-muted);margin-left:16px}.context-menu__separator{height:1px;background:#e8e8e8;margin:4px 0}.context-popup{position:fixed;z-index:1001;background:#fff;border:1px solid #d0d0d0;border-radius:10px;box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014;width:320px;padding:14px;animation:contextMenuIn .15s ease-out}.context-popup--propose{border-left:3px solid #4a90d9}.context-popup__header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.context-popup__avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;background:#4a90d9}.context-popup__user{font-size:13px;font-weight:600;color:#333;flex:1}.context-popup__icon{font-size:18px}.context-popup__title{font-size:14px;font-weight:600;color:#333;flex:1}.context-popup__close{background:none;border:none;font-size:16px;color:#999;cursor:pointer;padding:2px 6px;border-radius:4px}.context-popup__close:hover{background:#f0f0f0;color:#333}.context-popup__selected{background:#ffec9966;padding:6px 10px;border-radius:4px;font-size:12px;color:#666;font-style:italic;margin-bottom:8px;border-left:3px solid #ffc107;max-height:60px;overflow:hidden}.context-popup__original{background:#fef2f2;padding:8px 10px;border-radius:4px;margin-bottom:8px;border-left:3px solid #ef4444}.context-popup__original-text{font-size:12px;color:#991b1b;line-height:1.4}.context-popup__original-text s{text-decoration-color:#ef4444}.context-popup__label{font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.context-popup__textarea{width:100%;min-height:60px;border:1px solid #d0d0d0;border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box}.context-popup__textarea:focus{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d91f}.context-popup__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.context-popup__btn{padding:6px 14px;border:none;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.context-popup__btn--cancel{background:#f1f3f5;color:#555}.context-popup__btn--cancel:hover{background:#e2e6ea}.context-popup__btn--submit{background:#4a90d9;color:#fff}.context-popup__btn--submit:hover{background:#357abd}.context-popup__btn--submit:disabled{opacity:.5;cursor:not-allowed}.context-popup__btn--propose{background:#059669;color:#fff}.context-popup__btn--propose:hover{background:#047857}.context-popup__hint{font-size:10px;color:#aaa;text-align:right;margin-top:4px}.inline-comment-input{position:fixed;z-index:999;background:#fff;border:1px solid #d0d0d0;border-radius:10px;box-shadow:0 8px 32px #0000002e;width:340px;padding:14px;animation:contextMenuIn .15s ease-out}.inline-comment-input__header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.inline-comment-input__avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;background:#4a90d9}.inline-comment-input__user{font-size:13px;font-weight:600;color:var(--text-primary)}.inline-comment-input__selected{background:#ffec9966;padding:6px 10px;border-radius:4px;font-size:12px;color:var(--text-secondary);font-style:italic;margin-bottom:8px;border-left:3px solid #ffc107;max-height:60px;overflow:hidden}.inline-comment-input textarea{width:100%;min-height:60px;border:1px solid #d0d0d0;border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s}.inline-comment-input textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a90d91f}.inline-comment-input__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.inline-comment-input__btn{padding:6px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500;transition:all .15s}.inline-comment-input__btn--cancel{background:#f0f0f0;color:var(--text-secondary)}.inline-comment-input__btn--cancel:hover{background:#e0e0e0}.inline-comment-input__btn--submit{background:var(--accent-blue);color:#fff}.inline-comment-input__btn--submit:hover{background:#357abd}.inline-comment-input__btn--submit:disabled{background:#a0c4e8;cursor:not-allowed}.remote-cursor{position:absolute;width:2px;height:1.2em;pointer-events:none;z-index:50;animation:cursorBlink 1.2s infinite}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:.4}}.remote-cursor__label{position:absolute;top:-20px;left:0;font-size:10px;font-weight:600;color:#fff;padding:1px 6px;border-radius:3px;white-space:nowrap;pointer-events:none}@media(max-width:1200px){:root{--nav-width: 180px;--panel-width: 280px}.review-pane__page{width:700px;padding:48px 64px}}@media(max-width:960px){.nav-pane{display:none}.review-pane__page{width:100%;padding:32px 24px}}.mention-autocomplete{position:absolute;z-index:200;background:#fff;border:1px solid var(--toolbar-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:180px;overflow-y:auto;min-width:200px}.mention-autocomplete__item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;transition:background var(--transition)}.mention-autocomplete__item:hover,.mention-autocomplete__item--selected{background:#f1f3f5}.mention-autocomplete__avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-muted)}.empty-state__icon{font-size:40px;margin-bottom:12px;opacity:.5}.empty-state__text{font-size:13px;text-align:center}.review-loading{display:flex;align-items:center;justify-content:center;height:100%;flex-direction:column;gap:16px;color:var(--text-secondary)}.review-loading__spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}.nav-pane__add-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;opacity:.7;transition:opacity .15s}.nav-pane__add-btn:hover{opacity:1;background:#4a90d91a}.nav-participant{position:relative}.nav-participant__remove{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;color:#adb5bd;cursor:pointer;font-size:12px;padding:2px 5px;border-radius:3px;opacity:0;transition:opacity .15s,color .15s}.nav-participant:hover .nav-participant__remove{opacity:1}.nav-participant__remove:hover{color:#e74c3c;background:#e74c3c14}.nav-invite-dropdown{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin:6px 0 8px;box-shadow:0 4px 16px #0000001f;overflow:hidden;color:#1e293b}.nav-invite-dropdown__search{width:100%;padding:8px 10px;border:none;border-bottom:1px solid #eee;font-size:13px;color:#1e293b;outline:none;box-sizing:border-box}.nav-invite-dropdown__search::placeholder{color:#adb5bd}.nav-invite-dropdown__role{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid #eee;font-size:12px;color:#495057}.nav-invite-dropdown__role select{border:1px solid #dee2e6;border-radius:4px;padding:2px 6px;font-size:12px;background:#fff;color:#1e293b!important;-webkit-appearance:menulist;appearance:menulist;outline:none}.nav-invite-dropdown__role select option{color:#1e293b!important;background:#fff!important}.nav-invite-dropdown__list{max-height:200px;overflow-y:auto}.nav-invite-dropdown__item{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;transition:background .1s;font-size:13px}.nav-invite-dropdown__item:hover{background:#f1f3f5}.nav-invite-dropdown__item input[type=checkbox]{accent-color:#4a90d9;width:15px;height:15px;flex-shrink:0}.nav-invite-dropdown__user-info{display:flex;flex-direction:column;min-width:0}.nav-invite-dropdown__name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-invite-dropdown__email{font-size:11px;color:#868e96;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-invite-dropdown__empty{padding:16px;text-align:center;color:#adb5bd;font-size:13px}.nav-invite-dropdown__invite-btn{display:block;width:100%;padding:9px 10px;background:#4a90d9;color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.nav-invite-dropdown__invite-btn:hover:not(:disabled){background:#357abd}.nav-invite-dropdown__invite-btn:disabled{background:#b0c4de;cursor:not-allowed}.suggest-marker{color:#16a34a;text-decoration:underline;cursor:pointer;background:#16a36a14;border-radius:2px;padding:0 1px;transition:background .15s}.suggest-marker:hover{background:#16a36a2e}.change-card--active{border-left:3px solid #6366f1!important;background:#f5f3ff!important}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}.pdf-review-root{display:flex;flex-direction:column;height:100vh;background:#f8fafc;font-family:Segoe UI,Inter,system-ui,sans-serif}.pdf-review-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#1e293b;color:#f1f5f9;border-bottom:1px solid #334155;flex-shrink:0;z-index:10}.pdf-toolbar-left{display:flex;align-items:center;gap:12px}.pdf-toolbar-left .back-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:13px;padding:6px 10px;border-radius:6px;transition:all .15s}.pdf-toolbar-left .back-btn:hover{color:#f1f5f9;background:#ffffff14}.pdf-toolbar-title{font-weight:600;font-size:15px;color:#f8fafc;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-toolbar-status{font-size:11px;padding:3px 10px;border-radius:10px;font-weight:600;color:#fff}.pdf-toolbar-center{display:flex;align-items:center;gap:8px}.pdf-page-nav{display:flex;align-items:center;gap:6px}.pdf-page-nav button{background:#ffffff1a;border:none;color:#e2e8f0;width:30px;height:30px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .15s}.pdf-page-nav button:hover:not(:disabled){background:#fff3}.pdf-page-nav button:disabled{opacity:.3;cursor:not-allowed}.pdf-page-nav .page-indicator{font-size:13px;color:#cbd5e1;min-width:80px;text-align:center}.pdf-zoom-controls{display:flex;align-items:center;gap:4px;margin-left:12px}.pdf-zoom-controls button{background:#ffffff1a;border:none;color:#e2e8f0;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center}.pdf-zoom-controls button:hover{background:#fff3}.pdf-zoom-controls .zoom-label{font-size:12px;color:#94a3b8;min-width:42px;text-align:center}.pdf-toolbar-right{display:flex;align-items:center;gap:8px}.pdf-toolbar-right button{padding:7px 14px;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-size:12px;display:flex;align-items:center;gap:5px;transition:all .15s}.pdf-download-btn{background:#16a34a;color:#fff}.pdf-download-btn:hover{background:#15803d}.pdf-review-body{display:flex;flex:1;overflow:hidden}.pdf-viewer-pane{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:24px 16px;background:#64748b33;position:relative}.pdf-viewer-pane .react-pdf__Document{display:flex;flex-direction:column;align-items:center;gap:16px}.pdf-viewer-pane .react-pdf__Page{box-shadow:0 2px 12px #00000026;border-radius:4px;overflow:hidden;background:#fff}.pdf-viewer-pane .react-pdf__Page__textContent{user-select:text!important;-webkit-user-select:text!important}.pdf-comment-popup{position:fixed;z-index:1000;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;border:1px solid #e2e8f0;padding:14px;width:320px}.pdf-comment-popup .popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.pdf-comment-popup .popup-header span{font-weight:600;font-size:13px;color:#1e293b}.pdf-comment-popup .popup-header button{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:16px;line-height:1}.pdf-comment-popup .selected-text-preview{background:#fefce8;border:1px solid #fde68a;border-radius:6px;padding:6px 10px;font-size:12px;color:#854d0e;font-style:italic;margin-bottom:8px;max-height:60px;overflow-y:auto}.pdf-comment-popup textarea{width:100%;min-height:60px;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:13px;resize:vertical;outline:none;font-family:inherit;box-sizing:border-box}.pdf-comment-popup textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.pdf-comment-popup .popup-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.pdf-comment-popup .popup-actions button{padding:6px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none}.pdf-comment-popup .cancel-btn{background:#f1f5f9;color:#64748b}.pdf-comment-popup .submit-btn{background:#6366f1;color:#fff}.pdf-comment-popup .submit-btn:disabled{background:#94a3b8;cursor:not-allowed}.pdf-comments-sidebar{width:360px;min-width:360px;background:#fff;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden}.pdf-sidebar-header{padding:16px 18px 12px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between}.pdf-sidebar-header h3{font-size:15px;font-weight:700;color:#1e293b;margin:0}.pdf-sidebar-header .comment-count{font-size:12px;color:#94a3b8;background:#f1f5f9;padding:2px 10px;border-radius:10px;font-weight:600}.pdf-comments-list{flex:1;overflow-y:auto;padding:12px}.pdf-comment-card{background:#f8fafc;border-radius:10px;padding:12px 14px;margin-bottom:10px;border:1px solid #f1f5f9;transition:all .15s;cursor:pointer}.pdf-comment-card:hover{border-color:#c7d2fe;background:#f5f3ff;box-shadow:0 2px 8px #6366f10f}.pdf-comment-card.active{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 2px #6366f126}.pdf-comment-card .comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.pdf-comment-card .comment-author{font-weight:600;font-size:13px;color:#1e293b}.pdf-comment-card .comment-meta{display:flex;align-items:center;gap:6px}.pdf-comment-card .comment-page{font-size:10px;color:#6366f1;background:#eff6ff;padding:1px 6px;border-radius:4px;font-weight:600}.pdf-comment-card .comment-status{font-size:10px;padding:1px 8px;border-radius:8px;font-weight:600;color:#fff}.pdf-comment-card .comment-selected{background:#fefce8;padding:4px 8px;border-radius:4px;font-size:11px;color:#854d0e;font-style:italic;margin-bottom:6px;border-left:2px solid #fbbf24}.pdf-comment-card .comment-text{font-size:13px;color:#374151;line-height:1.5;margin:4px 0}.pdf-comment-card .comment-footer{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.pdf-comment-card .comment-time{font-size:11px;color:#94a3b8}.pdf-comment-card .comment-actions-inline{display:flex;gap:4px;opacity:0;transition:opacity .15s}.pdf-comment-card:hover .comment-actions-inline{opacity:1}.pdf-comment-card .action-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;cursor:pointer;font-size:13px;font-weight:700;transition:all .15s}.pdf-comment-card .action-icon.resolve{color:#10b981}.pdf-comment-card .action-icon.resolve:hover{background:#dcfce7}.pdf-comment-card .action-icon.delete{color:#ef4444}.pdf-comment-card .action-icon.delete:hover{background:#fee2e2}.pdf-text-highlight{background:#facc1559;pointer-events:none;z-index:5;border-radius:2px;animation:pdf-highlight-pulse 1.5s ease-in-out 2}@keyframes pdf-highlight-pulse{0%,to{background:#facc1559}50%{background:#facc1599}}.pdf-comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;text-align:center}.pdf-comments-empty .empty-icon{font-size:48px;margin-bottom:12px;opacity:.4}.pdf-comments-empty p{font-size:14px;margin:0 0 4px}.pdf-comments-empty small{font-size:12px;color:#cbd5e1}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#94a3b8;gap:12px}.pdf-loading .spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ef4444;gap:12px;padding:40px;text-align:center}: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}}.search-box input::-webkit-search-cancel-button,.search-box input::-webkit-search-decoration,.search-box input::-ms-clear,.search-box input::-ms-reveal{-webkit-appearance:none;appearance:none;display:none!important}.search-box input{color:#1e293b!important;-webkit-text-fill-color:#1e293b!important}.search-box input::placeholder{color:#94a3b8!important;-webkit-text-fill-color:#94a3b8!important}.search-box i.bi-search,.search-clear{flex-shrink:0}
