:root{--navy: #1b2559;--navy-light: #2d3a6e;--navy-dark: #111940;--accent: #4a6cf7;--accent-hover: #3b5de7;--accent-glow: rgba(74, 108, 247, .15);--bg: #f4f7fe;--surface: #ffffff;--border: #e9edf7;--text-primary: #1b2559;--text-secondary: #8f9bba;--text-muted: #a3aed0;--plddt-very-high: #0053d6;--plddt-confident: #65cbf3;--plddt-low: #ffdb13;--plddt-very-low: #ff7d45;--success: #05cd99;--warning: #ffb547;--error: #ee5d50;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--shadow-card: 0 2px 12px rgba(27, 37, 89, .04);--shadow-hover: 0 4px 24px rgba(27, 37, 89, .08);--shadow-modal: 0 8px 40px rgba(27, 37, 89, .12);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--bg);color:var(--text-primary);line-height:1.5;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none}input,textarea{font-family:var(--font-family);border:none;outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{display:flex;min-height:100vh}.sidebar{width:78px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:var(--space-lg) 0;position:fixed;left:0;top:0;bottom:0;z-index:100;transition:width .3s ease}.sidebar__logo{width:42px;height:42px;background:linear-gradient(135deg,var(--accent),#7c3aed);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:18px;margin-bottom:var(--space-2xl);box-shadow:0 4px 16px #4a6cf74d}.sidebar__nav{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);flex:1}.sidebar__nav-item{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-size:20px;transition:all .2s ease;position:relative}.sidebar__nav-item:hover,.sidebar__nav-item--active{background:var(--accent-glow);color:var(--accent)}.sidebar__nav-item--active:before{content:"";position:absolute;left:-17px;width:4px;height:24px;background:var(--accent);border-radius:0 var(--radius-full) var(--radius-full) 0}.sidebar__bottom{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.sidebar__avatar{width:38px;height:38px;border-radius:var(--radius-full);background:linear-gradient(135deg,#4a6cf7,#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.main-wrapper{margin-left:78px;flex:1;display:flex;flex-direction:column;min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--space-md) var(--space-xl);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.topbar__left{display:flex;align-items:center;gap:var(--space-lg)}.topbar__nav{display:flex;align-items:center;gap:var(--space-xs)}.topbar__nav-link{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;transition:all .2s ease;text-decoration:none}.topbar__nav-link:hover{background:var(--bg);color:var(--text-primary);text-decoration:none}.topbar__nav-link--active{background:var(--navy);color:#fff}.topbar__nav-link--active:hover{background:var(--navy-light);color:#fff}.topbar__right{display:flex;align-items:center;gap:var(--space-md)}.topbar__search{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg);border-radius:var(--radius-full);padding:var(--space-sm) var(--space-md);min-width:200px}.topbar__search-icon{color:var(--text-muted);font-size:16px}.topbar__search input{background:transparent;font-size:14px;color:var(--text-primary);width:100%}.topbar__search input::placeholder{color:var(--text-muted)}.topbar__icon-btn{width:38px;height:38px;border-radius:var(--radius-full);background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:18px;transition:all .2s ease}.topbar__icon-btn:hover{background:var(--border);color:var(--text-primary)}.page-header{padding:var(--space-xl) var(--space-xl) var(--space-md)}.page-header__row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md)}.page-header h1{font-size:32px;font-weight:800;color:var(--navy);letter-spacing:-.5px}.page-header h2{font-size:18px;font-weight:400;color:var(--text-secondary);margin-top:2px}.page-header__actions{display:flex;align-items:center;gap:var(--space-md)}.page-header__date{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:14px}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:10px 20px;border-radius:var(--radius-full);font-size:14px;font-weight:600;transition:all .2s ease}.btn--primary{background:var(--navy);color:#fff}.btn--primary:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:var(--shadow-hover)}.btn--accent{background:var(--accent);color:#fff}.btn--accent:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #4a6cf74d}.btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn--ghost:hover{background:var(--bg);color:var(--text-primary)}.btn--sm{padding:6px 14px;font-size:13px}.btn--lg{padding:12px 28px;font-size:15px}.dashboard-grid{padding:0 var(--space-xl) var(--space-xl);display:grid;grid-template-columns:5fr 4fr;gap:var(--space-lg);flex:1}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-hover)}.card__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg)}.card__title{display:flex;align-items:center;gap:var(--space-sm);font-size:15px;font-weight:600;color:var(--text-primary)}.card__title-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px}.card__actions{display:flex;align-items:center;gap:var(--space-xs)}.card__action-btn{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;transition:all .15s ease;font-size:14px}.card__action-btn:hover{background:var(--bg);color:var(--text-primary)}.card__body{padding:0 var(--space-lg) var(--space-lg)}.mol-viewer-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-card)}.mol-viewer-card:hover{box-shadow:var(--shadow-hover)}.mol-viewer__container{width:100%;height:380px;background:linear-gradient(180deg,#f8faff,#fff);position:relative}.mol-viewer__container canvas{border-radius:0}.mol-viewer__overlay-controls{position:absolute;right:var(--space-md);bottom:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);z-index:10}.mol-viewer__overlay-btn{width:36px;height:36px;border-radius:var(--radius-sm);background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);box-shadow:0 1px 4px #00000014;transition:all .15s ease;font-size:16px}.mol-viewer__overlay-btn:hover{background:#fff;color:var(--accent);box-shadow:0 2px 8px #0000001f}.mol-viewer__style-bar{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);display:flex;gap:2px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);padding:3px;box-shadow:0 1px 6px #0000001a;z-index:10}.mol-viewer__style-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 12px;border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);transition:all .15s ease;line-height:1}.mol-viewer__style-btn:hover{background:var(--bg);color:var(--text-primary)}.mol-viewer__style-btn--active{background:var(--navy);color:#fff}.mol-viewer__style-btn--active:hover{background:var(--navy-light);color:#fff}.mol-viewer__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-md);color:var(--text-muted)}.mol-viewer__placeholder-icon{font-size:56px;opacity:.4}.mol-viewer__placeholder p{font-size:14px;max-width:240px;text-align:center;line-height:1.6}.prediction-status{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border)}.prediction-status__badge-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.prediction-status__label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.prediction-status__badge{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.prediction-status__badge--ready{background:#05cd991a;color:var(--success)}.prediction-status__badge--processing{background:#ffb5471a;color:var(--warning)}.prediction-status__badge--complete{background:#4a6cf71a;color:var(--accent)}.prediction-status__badge--error{background:#ee5d501a;color:var(--error)}.prediction-status__badge-dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.prediction-status__text{font-size:13px;color:var(--text-secondary)}.status-card{padding:var(--space-md) var(--space-lg) var(--space-lg);display:flex;align-items:center;gap:var(--space-md);border-top:1px solid var(--border)}.status-card__icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.status-card__content{flex:1}.status-card__title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.status-card__subtitle{font-size:12px;color:var(--text-secondary)}.status-card__chevron{color:var(--text-muted);font-size:18px}.confidence-bar{padding:var(--space-sm) var(--space-lg) var(--space-lg);display:flex;justify-content:center;gap:var(--space-xl)}.confidence-bar__item{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.confidence-bar__circle{position:relative;width:64px;height:64px}.confidence-bar__circle svg{transform:rotate(-90deg)}.confidence-bar__circle-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--text-primary)}.confidence-bar__label{font-size:11px;color:var(--text-muted);text-align:center;white-space:nowrap}.right-column{display:flex;flex-direction:column;gap:var(--space-lg)}.sequence-input__textarea{width:100%;height:120px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);font-size:12px;font-family:Courier New,monospace;color:var(--text-primary);resize:vertical;transition:border-color .2s ease;line-height:1.6;letter-spacing:1px}.sequence-input__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.sequence-input__footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-md);gap:var(--space-md)}.sequence-input__char-count{font-size:12px;color:var(--text-muted)}.sequence-input__predict-btn{padding:10px 24px;border-radius:var(--radius-full);background:var(--navy);color:#fff;font-weight:600;font-size:14px;display:flex;align-items:center;gap:var(--space-sm);transition:all .2s ease}.sequence-input__predict-btn:hover:not(:disabled){background:var(--navy-light);transform:translateY(-1px);box-shadow:var(--shadow-hover)}.sequence-input__predict-btn:disabled{opacity:.6;cursor:not-allowed}.plddt-metrics__score{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-sm)}.plddt-metrics__score-value{font-size:42px;font-weight:800;color:var(--navy);line-height:1}.plddt-metrics__score-unit{font-size:16px;font-weight:500;color:var(--text-muted)}.plddt-metrics__desc{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-top:var(--space-sm)}.plddt-metrics__chart{margin-top:var(--space-md);height:120px}.protein-metrics{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.protein-metrics__tile{display:flex;flex-direction:column;gap:4px;padding:var(--space-md);background:var(--bg);border-radius:var(--radius-md)}.protein-metrics__tile-label{font-size:12px;color:var(--text-muted)}.protein-metrics__tile-value{font-size:22px;font-weight:700;color:var(--text-primary)}.protein-metrics__tile-unit{font-size:12px;color:var(--text-secondary)}.tabs{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap}.tab{padding:6px 14px;border-radius:var(--radius-full);font-size:13px;font-weight:500;background:transparent;color:var(--text-secondary);transition:all .15s ease}.tab:hover{background:var(--bg);color:var(--text-primary)}.tab--active{background:var(--navy);color:#fff}.tab--active:hover{background:var(--navy-light);color:#fff}.gene-info__description{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-md)}.gene-info__progress-label{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:var(--space-sm)}.gene-info__progress-bar{width:100%;height:8px;background:var(--bg);border-radius:var(--radius-full);overflow:hidden}.gene-info__progress-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--accent),#ff6b35);transition:width .6s ease}.actions-card__main-btn{width:100%;padding:14px;border-radius:var(--radius-md);background:var(--accent);color:#fff;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all .2s ease;margin-bottom:var(--space-md)}.actions-card__main-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #4a6cf74d}.actions-card__main-btn:disabled{opacity:.5;cursor:not-allowed}.actions-card__main-btn--secondary{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}.actions-card__main-btn--secondary:hover:not(:disabled){background:var(--accent-glow);transform:translateY(-1px);box-shadow:0 4px 16px #4a6cf726}.actions-card__info{font-size:13px;color:var(--text-secondary);line-height:1.6}.actions-card__slider-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-md)}.actions-card__slider-label{font-size:12px;color:var(--text-muted);white-space:nowrap}.actions-card__slider{flex:1;position:relative;height:6px;background:var(--bg);border-radius:var(--radius-full)}.actions-card__slider-track{height:100%;background:var(--accent);border-radius:var(--radius-full);position:relative}.actions-card__slider-thumb{width:14px;height:14px;border-radius:var(--radius-full);background:#fff;border:2px solid var(--accent);position:absolute;right:-7px;top:-4px;box-shadow:0 1px 4px #00000026}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner--dark{border-color:var(--border);border-top-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-pulse{animation:pulse 2s ease-in-out infinite}@media(max-width:1200px){.dashboard-grid{grid-template-columns:1fr}.right-column{order:-1}}@media(max-width:768px){.sidebar{display:none}.main-wrapper{margin-left:0}.page-header h1{font-size:24px}.topbar__search{display:none}.page-header__actions{flex-wrap:wrap}.mol-viewer__container{height:300px}}.search-panel{padding:var(--space-xl) var(--space-xl) 0}.search-panel__hero{text-align:center;padding:var(--space-2xl) 0 var(--space-lg);animation:fadeSlideDown .4s ease}.search-panel__title{font-size:36px;font-weight:800;color:var(--navy);letter-spacing:-.5px;margin-bottom:var(--space-sm);background:linear-gradient(135deg,var(--navy) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.search-panel__subtitle{font-size:16px;color:var(--text-secondary);font-weight:400}.search-panel__bar{display:flex;align-items:center;gap:var(--space-md);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-lg);box-shadow:var(--shadow-card);transition:all .25s ease;max-width:800px;margin:0 auto}.search-panel__bar:hover{box-shadow:var(--shadow-hover);border-color:#4a6cf733}.search-panel__bar--focused{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow),var(--shadow-hover)}.search-panel__bar-icon{color:var(--text-muted);flex-shrink:0;display:flex;align-items:center}.search-panel__bar--focused .search-panel__bar-icon{color:var(--accent)}.search-panel__input{flex:1;font-size:16px;font-weight:500;color:var(--text-primary);background:transparent;min-width:0;padding:var(--space-sm) 0}.search-panel__input::placeholder{color:var(--text-muted);font-weight:400}.search-panel__clear{width:32px;height:32px;border-radius:var(--radius-full);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.search-panel__clear:hover{background:var(--bg);color:var(--text-primary)}.search-panel__submit{display:flex;align-items:center;gap:var(--space-sm);padding:10px 24px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;border-radius:var(--radius-lg);transition:all .2s ease;flex-shrink:0;white-space:nowrap}.search-panel__submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #4a6cf759}.search-panel__submit:disabled{opacity:.4;cursor:not-allowed}.search-panel__filters{display:flex;align-items:center;gap:var(--space-sm);max-width:800px;margin:var(--space-md) auto 0;flex-wrap:wrap;justify-content:center}.search-panel__chip{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:var(--radius-full);font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);transition:all .2s ease;white-space:nowrap;cursor:pointer}.search-panel__chip:hover{border-color:var(--accent);color:var(--accent);background:#4a6cf70a}.search-panel__chip--active{background:#4a6cf714;border-color:var(--accent);color:var(--accent);font-weight:600}.search-panel__divider{width:1px;height:20px;background:var(--border);flex-shrink:0}.search-panel__length-filter{display:flex;align-items:center;gap:var(--space-sm);padding:4px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);white-space:nowrap}.search-panel__length-label{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.search-panel__range{width:100px;height:4px;-webkit-appearance:none;appearance:none;background:var(--border);border-radius:var(--radius-full);outline:none;cursor:pointer}.search-panel__range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 1px 4px #4a6cf74d}.search-panel__range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.search-panel__length-value{font-size:12px;font-weight:700;color:var(--accent);min-width:52px;text-align:right}.search-panel__result-summary{text-align:center;font-size:14px;color:var(--text-secondary);margin-top:var(--space-md);padding-bottom:var(--space-sm)}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.discovery-layout{padding:0 var(--space-xl) var(--space-xl);flex:1;display:flex;flex-direction:column}.discovery-table-card{width:100%}.discovery-table__count{font-size:12px;font-weight:400;color:var(--text-muted);margin-left:var(--space-sm);background:var(--bg);padding:2px 10px;border-radius:var(--radius-full)}.discovery-table__wrapper{overflow-x:auto}.discovery-table{width:100%;border-collapse:collapse;font-size:13px}.discovery-table thead th{text-align:left;padding:var(--space-sm) var(--space-md);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap}.discovery-table tbody td{padding:var(--space-md);border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.discovery-table__row{transition:background .15s ease}.discovery-table__row:hover{background:var(--bg)}.discovery-table__accession{font-family:Courier New,monospace;font-size:12px;font-weight:600;color:var(--accent);background:#4a6cf714;padding:2px 8px;border-radius:var(--radius-sm)}.discovery-table__entry-name{font-size:12px;color:var(--text-secondary);font-family:Courier New,monospace}.discovery-table__protein-name{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.discovery-table__gene{font-weight:500;color:var(--navy)}.discovery-table__organism{font-size:12px;color:var(--text-secondary);font-style:italic}.discovery-table__length{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary);text-align:right}.discovery-table__analyze-btn{white-space:nowrap}.discovery-table__pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-md)}.discovery-table__page-info{font-size:13px;color:var(--text-secondary);font-weight:500}.discovery-table__skeleton-row td{padding:var(--space-md);border-bottom:1px solid var(--border)}.discovery-table__empty{text-align:center;padding:var(--space-2xl) var(--space-lg)}.discovery-table__empty-icon{font-size:48px;margin-bottom:var(--space-md);opacity:.4}.discovery-table__empty h3{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:var(--space-sm)}.discovery-table__empty p{font-size:14px;color:var(--text-secondary);margin-bottom:var(--space-lg)}.discovery-table__suggestions{background:var(--bg);border-radius:var(--radius-md);padding:var(--space-lg);text-align:left;display:inline-block;max-width:420px}.discovery-table__suggestions-title{font-size:13px;font-weight:600;color:var(--text-primary);display:block;margin-bottom:var(--space-sm)}.discovery-table__suggestions ul{list-style:none;padding:0}.discovery-table__suggestions li{font-size:13px;color:var(--text-secondary);line-height:1.6;padding:2px 0}.discovery-table__suggestions li:before{content:"→ ";color:var(--accent)}.protein-bio__badge{font-family:Courier New,monospace;font-size:11px;font-weight:600;color:var(--accent);background:#4a6cf71a;padding:3px 10px;border-radius:var(--radius-full)}.protein-bio__name{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:var(--space-md);line-height:1.4}.protein-bio__meta-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) 0;border-bottom:1px solid var(--border)}.protein-bio__meta-row:last-of-type{border-bottom:none}.protein-bio__meta-label{font-size:12px;font-weight:500;color:var(--text-muted)}.protein-bio__meta-value{font-size:13px;font-weight:600;color:var(--text-primary)}.protein-bio__organism-badge{font-size:12px;font-weight:500;color:var(--accent);background:#4a6cf714;padding:2px 10px;border-radius:var(--radius-full);font-style:italic}.protein-bio__function{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}.protein-bio__function-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:var(--space-xs)}.protein-bio__function-text{font-size:13px;color:var(--text-secondary);line-height:1.7}.protein-bio__expand-btn{display:inline-block;margin-top:var(--space-xs);font-size:12px;font-weight:600;color:var(--accent);background:transparent;cursor:pointer;transition:opacity .15s ease}.protein-bio__expand-btn:hover{opacity:.7}.lab-readiness__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-md)}.lab-readiness__tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-md);background:var(--bg);border-radius:var(--radius-md);text-align:center;transition:transform .15s ease,box-shadow .15s ease}.lab-readiness__tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.lab-readiness__tile-label{font-size:11px;font-weight:500;color:var(--text-muted)}.lab-readiness__tile-value{font-size:22px;font-weight:700;color:var(--navy)}.lab-readiness__tile-tag{font-size:11px;font-weight:600;padding:2px 10px;border-radius:var(--radius-full)}.skeleton-tile{min-height:100px}.skeleton{background:linear-gradient(90deg,var(--border) 25%,#e4e8f4 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm);height:16px}.skeleton--text{width:80px;height:14px}.skeleton--wide{width:140px}.skeleton--narrow{width:50px}.skeleton--btn{width:70px;height:28px;border-radius:var(--radius-full)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{position:fixed;bottom:var(--space-xl);right:var(--space-xl);display:flex;flex-direction:column-reverse;gap:var(--space-sm);z-index:9999;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);font-size:13px;font-weight:500;color:var(--text-primary);pointer-events:auto;animation:toastSlideIn .3s ease;border-left:4px solid var(--accent);max-width:420px}.toast--error{border-left-color:var(--error)}.toast--warning{border-left-color:var(--warning)}.toast--success{border-left-color:var(--success)}.toast--info{border-left-color:var(--accent)}.toast__icon{width:24px;height:24px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.toast--error .toast__icon{background:#ee5d501a;color:var(--error)}.toast--warning .toast__icon{background:#ffb5471a;color:var(--warning)}.toast--success .toast__icon{background:#05cd991a;color:var(--success)}.toast--info .toast__icon{background:#4a6cf71a;color:var(--accent)}.toast__message{flex:1;line-height:1.4}.toast__close{width:22px;height:22px;border-radius:var(--radius-full);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s ease;flex-shrink:0}.toast__close:hover{background:var(--bg);color:var(--text-primary)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.topbar__search--functional{min-width:280px;position:relative}.topbar__search-clear{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted);background:transparent;border-radius:var(--radius-full);transition:all .15s ease;flex-shrink:0}.topbar__search-clear:hover{background:var(--border);color:var(--text-primary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f1629,#1b2559,#2d1b69);position:relative;overflow:hidden;padding:var(--space-lg)}.login-page__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.login-page__orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:orbFloat 8s ease-in-out infinite}.login-page__orb--1{width:400px;height:400px;background:var(--accent);top:-100px;right:-50px;animation-delay:0s}.login-page__orb--2{width:300px;height:300px;background:#7c3aed;bottom:-80px;left:-60px;animation-delay:-3s}.login-page__orb--3{width:200px;height:200px;background:#05cd99;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-5s;opacity:.2}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-20px) scale(1.05)}50%{transform:translate(-20px,30px) scale(.95)}75%{transform:translate(20px,20px) scale(1.02)}}.login-card{position:relative;z-index:2;width:100%;max-width:440px;background:#fffffff2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-xl);box-shadow:0 24px 80px #0000004d;animation:loginSlideUp .5s ease}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card__logo{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);justify-content:center}.login-card__logo-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--accent),#7c3aed);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:22px;box-shadow:0 4px 16px #4a6cf74d}.login-card__logo-text{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.5px}.login-card__title{font-size:28px;font-weight:800;color:var(--navy);text-align:center;margin-bottom:var(--space-xs)}.login-card__subtitle{font-size:14px;color:var(--text-secondary);text-align:center;margin-bottom:var(--space-xl);line-height:1.5}.login-card__error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:#ee5d5014;border:1px solid rgba(238,93,80,.2);border-radius:var(--radius-md);color:var(--error);font-size:13px;font-weight:500;margin-bottom:var(--space-lg)}.login-card__google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:14px 24px;background:#fff;border:2px solid var(--border);border-radius:var(--radius-md);font-size:15px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .25s ease;box-shadow:0 1px 3px #00000014}.login-card__google-btn:hover:not(:disabled){border-color:var(--accent);background:var(--bg);box-shadow:0 4px 16px #4a6cf71f;transform:translateY(-1px)}.login-card__google-btn:active:not(:disabled){transform:translateY(0)}.login-card__google-btn:disabled{opacity:.6;cursor:not-allowed}.login-card__divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-xl) 0;color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.login-card__divider:before,.login-card__divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-card__features{display:flex;flex-direction:column;gap:var(--space-md)}.login-card__feature{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);transition:background .15s ease}.login-card__feature:hover{background:var(--bg)}.login-card__feature-icon{font-size:20px;flex-shrink:0;margin-top:1px}.login-card__feature strong{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.login-card__feature p{font-size:12px;color:var(--text-secondary);line-height:1.4}.sidebar__avatar-btn{width:40px;height:40px;border-radius:var(--radius-full);overflow:hidden;cursor:pointer;background:transparent;padding:0;border:2px solid transparent;transition:all .2s ease}.sidebar__avatar-btn:hover{border-color:var(--accent);transform:scale(1.05)}.sidebar__avatar-img{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover}.sidebar__user-menu-wrapper{position:relative}.sidebar__user-popup{position:absolute;bottom:0;left:calc(100% + 12px);width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);padding:var(--space-md);z-index:200;animation:popupFadeIn .15s ease}@keyframes popupFadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.sidebar__user-popup-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.sidebar__popup-avatar{width:36px;height:36px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.sidebar__popup-name{font-size:13px;font-weight:600;color:var(--text-primary)}.sidebar__popup-email{font-size:11px;color:var(--text-secondary);word-break:break-all}.sidebar__signout-btn{width:100%;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:transparent;color:var(--error);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.sidebar__signout-btn:hover{background:#ee5d5014}.topbar__user-wrapper{position:relative}.topbar__user-btn{width:36px;height:36px;border-radius:var(--radius-full);overflow:hidden;cursor:pointer;background:transparent;padding:0;border:2px solid transparent;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.topbar__user-btn:hover{border-color:var(--accent)}.topbar__user-avatar-img{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover}.topbar__user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);padding:var(--space-md);z-index:200;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.topbar__dropdown-header{display:flex;align-items:center;gap:var(--space-sm);padding-bottom:var(--space-md)}.topbar__dropdown-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.topbar__dropdown-name{font-size:14px;font-weight:600;color:var(--text-primary)}.topbar__dropdown-email{font-size:12px;color:var(--text-secondary);word-break:break-all}.topbar__dropdown-divider{border:none;border-top:1px solid var(--border);margin:0 0 var(--space-sm)}.topbar__dropdown-item{width:100%;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:transparent;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.topbar__dropdown-item:hover{background:var(--bg)}.topbar__dropdown-item--danger{color:var(--error)}.topbar__dropdown-item--danger:hover{background:#ee5d5014}
