.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#0d0f12,#234b6e,#0d0f12);font-family:Hanken Grotesk,system-ui,sans-serif;position:relative;overflow:hidden}.login-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.login-shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:float 20s ease-in-out infinite}.login-shape-1{width:600px;height:600px;background:radial-gradient(circle,#00A5AB 0%,transparent 70%);top:-200px;right:-100px;animation-delay:0s}.login-shape-2{width:500px;height:500px;background:radial-gradient(circle,#F5A700 0%,transparent 70%);bottom:-150px;left:-100px;animation-delay:-7s}.login-shape-3{width:400px;height:400px;background:radial-gradient(circle,#C8703A 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,30px) scale(.9)}}.login-card{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);padding:48px 40px;border-radius:24px;width:100%;max-width:420px;position:relative;z-index:1;box-shadow:0 32px 64px -12px #0006,0 0 0 1px #ffffff0d inset}.login-header{text-align:center;margin-bottom:40px}.login-logo{width:72px;height:72px;margin:0 auto 24px;background:linear-gradient(135deg,#00a5ab,#f5a700);border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #00a5ab59,0 0 0 1px #ffffff1a inset;animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 8px 32px #00a5ab59,0 0 0 1px #ffffff1a inset}50%{box-shadow:0 12px 48px #00a5ab80,0 0 0 1px #ffffff26 inset}}.login-logo svg{width:36px;height:36px;color:#fff}.login-header h1{color:#fff;font-size:26px;font-weight:600;margin:0 0 8px;letter-spacing:-.02em}.login-subtitle{color:#ffffff80;font-size:14px;font-weight:400;margin:0;letter-spacing:.01em}.alert{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:24px;border-radius:12px;font-size:14px;font-weight:500}.alert svg{width:20px;height:20px;flex-shrink:0}.alert-danger{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.google-signin-wrapper{display:flex;justify-content:center;padding:8px 0;min-height:60px}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:12px;color:#ffffffb3;font-size:14px;font-weight:500}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:#00a5ab;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{margin-top:32px;text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.06)}.login-footer p{color:#ffffff59;font-size:12px;font-weight:400;margin:0;letter-spacing:.02em}@media (max-width: 480px){.login-card{margin:16px;padding:32px 24px}.login-header h1{font-size:22px}.login-logo{width:60px;height:60px;border-radius:16px}.login-logo svg{width:28px;height:28px}}.layout{display:flex;min-height:100vh}.sidebar{width:250px;height:100vh;position:fixed;top:0;left:0;background-color:#f4efe6;border-right:1px solid #E6DCCC;color:#1a1a1a;padding-top:20px;display:flex;flex-direction:column;font-family:Hanken Grotesk,system-ui,sans-serif}.sidebar-logo-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:4px;padding:0 12px;overflow:hidden}.sidebar-logo{width:140%;max-width:320px;height:auto;margin:-18% 0 -34%;object-fit:contain}.sidebar-logo-text{display:block;font-family:Hanken Grotesk,system-ui,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:.12em;color:#1a1a1a}.sidebar .nav{list-style:none;padding:0;flex:1}.sidebar .nav-item{margin:0}.sidebar .nav-item hr{border:none;border-top:1px solid #E6DCCC;margin:6px 16px}.sidebar .nav-link{color:#3d3d3d;padding:10px 20px;display:block;text-decoration:none;font-weight:600;font-size:.88rem;letter-spacing:-.01em;transition:background-color .15s,color .15s}.sidebar .nav-link:hover{background-color:#e6dccc;color:#1a1a1a}.sidebar .nav-link.active{background-color:#1a1a1a;color:#fff}.sidebar .nav-link .fa{margin-right:10px;width:18px;text-align:center}.sidebar .nav-section-label{color:#9a9a9a;font-size:.7rem;text-transform:uppercase;letter-spacing:1.2px;font-weight:700;padding:8px 20px 4px;margin-top:5px}.sidebar-footer{padding:20px;border-top:1px solid #E6DCCC;margin-top:auto}.user-info{color:#3d3d3d;margin-bottom:10px;font-size:.85rem;font-weight:600}.logout-btn{width:100%;padding:8px;background-color:transparent;border:1px solid #E6DCCC;color:#3d3d3d;border-radius:6px;cursor:pointer;font-weight:600;font-size:.82rem;font-family:inherit;transition:background-color .15s}.logout-btn:hover{background-color:#e6dccc;color:#1a1a1a}.main-content{margin-left:250px;padding:20px;width:calc(100% - 250px);min-height:100vh}.projects-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.projects-page .header h1{font-size:1.8rem;font-weight:700;color:var(--primary-color)}.project-sections{display:flex;flex-direction:column;gap:16px}.section-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;margin-bottom:12px;cursor:default;text-align:left;font-family:inherit}.section-header--collapsible{cursor:pointer;margin-bottom:0}.section-header--collapsible:hover .card-title{opacity:.8}.section-header .card-title{display:flex;align-items:center;gap:8px;margin-bottom:0}.section-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.section-dot--active{background:#09963b}.section-dot--archived{background:#999}.section-dot--sandbox{background:#f5a700}.section-meta{display:flex;align-items:center;gap:8px}.section-count{font-size:.8rem;font-weight:600;color:#888;background:#f0ece4;padding:2px 10px;border-radius:12px}.section-chevron{font-size:.75rem;color:#888;transition:transform .2s;display:inline-block}.section-chevron--open{transform:rotate(180deg)}.project-row{cursor:pointer;transition:background .15s}.project-row--expanded{background:#00a5ab0a}.project-name-cell{display:flex;align-items:center;gap:6px}.row-chevron{display:inline-block;font-size:.7rem;color:#999;transition:transform .2s;flex-shrink:0}.row-chevron--open{transform:rotate(90deg)}.project-detail-row td{padding:0 12px 12px!important;border-bottom:2px solid #E6DCCC!important;background:#00a5ab05}.project-detail-row:hover{background:none!important}.detail-id-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.detail-id-bar .detail-id-label{font-size:.7rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.04em}.detail-id-value{font-size:.78rem;color:#555;background:#f0ece4;padding:2px 10px;border-radius:4px;font-family:monospace}.detail-grid{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.detail-stat{display:flex;flex-direction:column;align-items:center;padding:10px 18px;background:#faf8f5;border:1px solid #E6DCCC;border-radius:8px;min-width:80px}.detail-stat-value{font-size:1.3rem;font-weight:700;color:#00a5ab}.detail-stat--approved .detail-stat-value{color:#09963b}.detail-stat--pending .detail-stat-value{color:#f5a700}.detail-stat--rejected .detail-stat-value{color:#e64823}.detail-stat-label{font-size:.72rem;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.detail-stat--link{text-decoration:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.detail-stat--link:hover{border-color:#00a5ab;box-shadow:0 2px 8px #00a5ab26}.detail-actions{display:flex;gap:10px;margin-top:4px}.detail-link{font-size:.8rem;font-weight:600;color:#00a5ab;text-decoration:none;padding:5px 12px;border:1px solid #00A5AB;border-radius:6px;transition:background .15s,color .15s}.detail-link:hover{background:#00a5ab;color:#fff}.detail-link--secondary{color:#888;border-color:#ddd}.detail-link--secondary:hover{background:#888;color:#fff}.detail-link--plan{color:#824f8c;border-color:#824f8c;background:none;cursor:pointer;font-family:Hanken Grotesk,system-ui,sans-serif}.detail-link--plan:hover{background:#824f8c;color:#fff}.detail-loading,.detail-error{font-size:.82rem;color:#999;padding:8px 0}.detail-error{color:#e64823}.btn{padding:10px 20px;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-weight:500;transition:all .3s}.btn-primary{background-color:#f5a700;color:#fff;border:none}.card{border:none;border-radius:8px;box-shadow:0 4px 6px #0000001a;background:var(--surface-color)}.card-body{padding:20px}.card-title{color:var(--primary-color);margin-bottom:15px;font-size:1.4rem;font-weight:700}.table-responsive{overflow-x:auto}.table thead th{background-color:var(--primary-color);color:#fff;padding:12px;text-align:left}.table tbody td{padding:12px;border-bottom:1px solid #E6DCCC;color:#262626}.projects-page .table tbody td{color:#262626}.table tbody tr:hover{background-color:#c8703a0f}.table tbody td a{color:var(--accent-color);text-decoration:none}.table tbody td a:hover{text-decoration:underline}.text-center{text-align:center}.alert{padding:12px;margin-bottom:20px;border-radius:4px}.create-project-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.create-project-page .header h1{font-weight:700;color:var(--primary-color)}.btn-secondary{background-color:var(--secondary-color);color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{background-color:#5a6c7d}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-color)}.new-org-fields{margin-top:10px}.bg-light{background-color:#f8f9fa}.form-text{display:block;margin-top:5px;font-size:.875rem;color:#6c757d}.tea-panel{border:1px solid #e6e8ec;border-radius:10px;padding:16px;margin-top:10px;background:#fff}.tea-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.tea-th-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#788;font-weight:700;margin-bottom:2px}.tea-th-num{font-size:1.9rem;font-weight:700;color:#1f2430}.tea-unit{font-size:1rem;color:#889;font-weight:600}.tea-delta{font-size:.85rem;font-weight:700}.tea-delta.up{color:#09963b}.tea-delta.down{color:#e64823}.tea-reset{margin-left:auto;font-size:.78rem;background:#eef0f3;border:1px solid #d8dce2;border-radius:6px;padding:6px 12px;cursor:pointer}.tea-knobs{display:flex;gap:22px;flex-wrap:wrap;margin-top:14px}.tea-knob label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#788;font-weight:700;margin-bottom:4px}.tea-knob-row{display:flex;align-items:center;gap:8px}.tea-knob-row input[type=range]{width:150px}.tea-num{width:78px;padding:4px 6px;border:1px solid #cdd2da;border-radius:6px}.tea-knob-default{font-size:.68rem;color:#aab;margin-top:3px}.project-details-page .header{margin-bottom:20px}.project-details-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:24px;margin-bottom:24px}.project-details-dashboard .dashboard-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;border:1px solid rgba(0,0,0,.1);border-radius:8px;background:var(--card-bg, #fff);color:var(--text-color, #333);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s;text-align:center;min-height:90px}.project-details-dashboard .dashboard-card:hover{border-color:var(--accent-color, #00A5AB);box-shadow:0 4px 12px #00000014}.project-details-dashboard .dashboard-card.active{border-color:var(--accent-color, #00A5AB);background:#00a5ab14;box-shadow:0 4px 12px #00a5ab26}.project-details-dashboard .dashboard-card-value{display:block;font-size:1.75rem;font-weight:700;line-height:1.2;margin-bottom:6px;color:var(--accent-color, #00A5AB)}.project-details-dashboard .dashboard-card.active .dashboard-card-value{color:var(--accent-color, #00A5AB)}.project-details-dashboard .dashboard-card-label{font-size:.9rem;font-weight:600;color:var(--text-muted, #666);line-height:1.3}.project-details-dashboard .dashboard-card-sublabel{font-size:.8rem;color:var(--text-muted, #7F7F7F);margin-top:4px;line-height:1.2}.project-details-dashboard .dashboard-card-action{min-height:90px}.project-details-dashboard .dashboard-card-action .dashboard-card-value{font-size:2rem;font-weight:600}.project-details-page .reject-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1050;padding:20px}.project-details-page .reject-modal{background:#f4efe6;border:1px solid #E6DCCC;border-radius:8px;padding:24px;max-width:440px;width:100%;max-height:90vh;overflow-y:auto}.project-details-page .reject-modal-title{margin:0 0 12px;font-size:1.2rem;color:#262626}.project-details-page .reject-modal-count{margin:0 0 16px;color:#7f7f7f;font-size:.95rem}.project-details-page .reject-modal .form-group{margin-bottom:16px}.project-details-page .reject-modal .form-group label{display:block;margin-bottom:6px;color:#7f7f7f;font-size:.9rem}.project-details-page .reject-modal .form-control{width:100%;padding:8px 12px;border:1px solid #E6DCCC;border-radius:4px;background:#fff;color:#262626;font-size:.95rem}.project-details-page .reject-modal-error{margin-bottom:16px}.project-details-page .reject-modal-actions{display:flex;justify-content:flex-end;gap:12px}.project-details-page .custom-smiles-list{list-style:none;padding:0;margin:8px 0 0}.project-details-page .custom-smiles-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;margin-bottom:6px;background:#fff;border:1px solid #E6DCCC;border-radius:4px}.project-details-page .custom-smiles-item-text{flex:1;font-size:.85rem;color:#262626;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-details-page .header h1{font-size:1.8rem;font-weight:700;color:var(--primary-color)}.project-details-page th{vertical-align:top;padding:12px 8px;min-width:100px;font-size:1.1rem}.project-details-page td{font-size:1.1rem}.column-label{display:block;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;color:#1a1a1a;margin-bottom:8px;font-size:1.1rem;white-space:nowrap;visibility:visible!important;opacity:1!important}.column-label:hover{color:var(--accent-color, #00A5AB)}.filter-input{display:block;font-size:1rem;width:100%;padding:4px 8px;border:1px solid #ddd;border-radius:4px}.table-striped tbody tr:nth-of-type(odd){background-color:#0000000d}.text-muted{color:#6c757d}.project-details-page .smiles-id-cell{font-size:.6rem;word-break:break-all;max-width:180px}.form-control-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.price-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.85rem;font-weight:600}.price-affordable{color:#09963b;background-color:#09963b1a}.price-expensive{color:#e64823;background-color:#e648231a}.price-none{color:#7f7f7f;background-color:#7f7f7f14;font-weight:500}.price-partial{font-size:.7rem;color:#f5a700;margin-left:2px;vertical-align:super}.confidence-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.8rem;font-weight:600}.confidence-high{color:#09963b;background-color:#09963b1a}.confidence-med{color:#f5a700;background-color:#f5a7001a}.confidence-low{color:#e64823;background-color:#e648231a}.tea-row-partial td{background-image:repeating-linear-gradient(45deg,rgba(127,127,127,.16) 0 6px,transparent 6px 12px)}.price-borderline{background-color:#f5a700;color:#3a2c00}.tea-econ-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 4px;font-size:.85rem}.tea-econ-chip{padding:2px 10px;border-radius:20px;font-weight:700;color:#fff}.tea-econ-chip.green{background:#09963b}.tea-econ-chip.amber{background:#f5a700;color:#3a2c00}.tea-econ-chip.red{background:#e64823}.candidates-page{padding:20px}.candidates-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.candidates-page .header h1{margin:0;font-size:1.8rem;font-weight:700;color:var(--primary-color)}.candidates-page .card{background-color:#f4efe6;border:1px solid #E6DCCC;border-radius:8px;margin-bottom:20px}.candidates-page .card-body{padding:20px}.candidates-page .card-title{color:#1a1a1a;margin-bottom:15px;font-size:1.4rem;font-weight:700}.candidates-page .count-badge{font-weight:400;font-size:.9rem;margin-left:10px;color:#7f7f7f}.candidates-page .text-muted{color:#7f7f7f}.candidates-page .text-center{color:#262626}.candidates-page .table-responsive{overflow-x:auto}.candidates-table{width:100%;border-collapse:collapse}.candidates-table thead{background-color:#fff}.candidates-table th{padding:12px 8px;font-weight:600;color:#1a1a1a!important;white-space:nowrap;vertical-align:top;border-bottom:2px solid #E6DCCC;min-width:90px}.candidates-table .column-label{display:block;margin-bottom:6px;font-size:1.1rem;-webkit-user-select:none;user-select:none;color:#1a1a1a!important;font-weight:600}.candidates-table th .column-label:hover{color:var(--accent-color, #00A5AB)!important}.candidates-table .filter-input{width:100%;padding:4px 8px;font-size:1rem;border:1px solid #7F7F7F;border-radius:4px;background-color:#fff;color:#262626}.candidates-table .filter-input::placeholder{color:#7f7f7f}.candidates-table .filter-input:focus{outline:none;border-color:var(--accent-color, #00A5AB)}.candidates-table td{padding:10px 8px;color:#262626!important;border-bottom:1px solid #E6DCCC;vertical-align:middle}.candidates-table tbody tr:hover{background-color:#c8703a0f}.candidates-table a{color:#00a5ab;text-decoration:none}.candidates-table a:hover{color:#008a90;text-decoration:underline}.structure-cell{text-align:center;vertical-align:middle}.structure-thumbnails{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:flex-start;align-items:flex-start}.structure-thumb{text-align:center;flex-shrink:0}.structure-name{font-size:.65rem;color:#7f7f7f;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.smiles-fallback{font-size:.75rem;word-break:break-all;max-width:120px;display:inline-block;color:#7f7f7f}.candidates-table .smiles-id-cell{font-size:.6rem;word-break:break-all;max-width:180px}.candidates-linker-wrap{position:relative}.candidates-linker-menu-btn{position:absolute;top:4px;right:4px;z-index:5;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:#00000080;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer}.candidates-linker-menu-btn:hover{background:#000000b3}.candidates-linker-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.candidates-linker-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:240px;padding:4px 0;background:#f4efe6;border:1px solid #E6DCCC;border-radius:6px;box-shadow:0 4px 12px #0006;z-index:21}.candidates-linker-menu-option{display:block;width:100%;padding:10px 14px;border:none;background:none;color:#262626;font-size:.9rem;text-align:left;cursor:pointer}.candidates-linker-menu-option:hover{background:#e6dccc;color:#262626}.candidates-page .reject-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.candidates-page .reject-modal{background:#f4efe6;border:1px solid #E6DCCC;border-radius:8px;padding:24px;max-width:440px;width:100%}.candidates-page .reject-modal-title{margin:0 0 12px;font-size:1.2rem;color:#262626}.candidates-page .reject-modal-count{margin:0 0 16px;color:#7f7f7f;font-size:.95rem}.candidates-page .reject-modal .form-group{margin-bottom:16px}.candidates-page .reject-modal .form-group label{display:block;margin-bottom:6px;color:#7f7f7f;font-size:.9rem}.candidates-page .reject-modal .form-control{width:100%;padding:8px 12px;border:1px solid #E6DCCC;border-radius:4px;background:#fff;color:#262626;font-size:.95rem}.candidates-page .reject-modal-error{margin-bottom:16px}.candidates-page .reject-modal-actions{display:flex;justify-content:flex-end;gap:12px}.candidates-page .alert{padding:12px 16px;margin-bottom:20px;border-radius:4px}.candidates-page .alert-danger{background-color:#dc354533;border:1px solid #dc3545;color:#ff6b6b}.lcm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0f128c;display:flex;align-items:flex-start;justify-content:center;z-index:1000;overflow-y:auto;padding:3vh 0}.lcm-modal{background:#faf8f5;border-radius:10px;box-shadow:0 12px 40px #0d0f1233;padding:1.5rem;width:min(92vw,960px);max-height:none;display:flex;flex-direction:column;gap:1rem;font-family:Hanken Grotesk,system-ui,sans-serif}.lcm-header{display:flex;align-items:center;justify-content:space-between}.lcm-header h5{margin:0;font-size:1.05rem;font-weight:600;color:#234b6e;font-family:Hanken Grotesk,system-ui,sans-serif}.lcm-close{background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:#7f7f7f;padding:0 .25rem}.lcm-close:hover{color:#262626}.lcm-chart-wrap{flex:0 0 auto;min-height:420px;overflow:visible}.lcm-error{color:#e64823;font-size:.9rem}.lcm-loading{color:#7f7f7f;font-size:.9rem}.lcm-metadata{display:flex;flex-direction:column;gap:2px;border:1px solid #E6DCCC;border-radius:8px;overflow:hidden}.lcm-meta-section{background:#fff}.lcm-meta-section+.lcm-meta-section{border-top:1px solid #E6DCCC}.lcm-meta-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:none;border:none;cursor:pointer;font-size:.82rem;font-weight:600;color:#234b6e;font-family:inherit;text-align:left;transition:background .12s ease}.lcm-meta-toggle:hover{background:#f4efe6}.lcm-meta-chevron{font-size:.7rem;color:#7f7f7f;width:.9rem;flex-shrink:0}.lcm-meta-body{padding:.25rem .85rem .65rem 2.2rem}.lcm-meta-row{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0;font-size:.78rem;line-height:1.4}.lcm-meta-key{color:#7f7f7f;text-transform:capitalize;flex-shrink:0}.lcm-meta-val{color:#262626;font-weight:500;text-align:right;word-break:break-word}.lcm-footer{display:flex;align-items:center;justify-content:space-between}.lcm-download-btn{background:#fff;border:1px solid #E6DCCC;border-radius:6px;padding:.35rem .85rem;font-size:.8rem;color:#262626;cursor:pointer;font-weight:500;font-family:inherit;transition:all .15s ease}.lcm-download-btn:hover{background:#f4efe6;border-color:#c8703a;color:#262626}.lcm-download-btn--primary{background:#00a5ab14;border-color:#00a5ab;color:#00858a}.lcm-download-btn--primary:hover{background:#00a5ab29;border-color:#00858a}.sample-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.sample-results-header h5{margin:0;font-size:1.1rem;font-weight:600;color:#234b6e}.sample-results-actions{display:flex;gap:.5rem}.sample-results-grid{display:flex;flex-direction:column;gap:.5rem}.sample-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid #E6DCCC;border-radius:8px;background:#faf8f5;transition:all .15s ease}.sample-row:hover{border-color:#00a5ab;background:#f4efe6;box-shadow:0 1px 3px #0000000a}.sample-info{flex:1;min-width:0}.sample-name{font-weight:600;font-size:.9rem;color:#262626;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sample-id{font-size:.75rem;color:#7f7f7f;font-family:SF Mono,Cascadia Code,Consolas,monospace;margin-top:.15rem}.sample-meta{display:flex;align-items:center;gap:.35rem;margin-top:.25rem;flex-wrap:wrap}.sample-meta-tag{font-size:.7rem;color:#7f7f7f;background:#f4efe6;padding:.1rem .4rem;border-radius:3px}.instrument-chips{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.instrument-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .15s ease;text-decoration:none;line-height:1}.instrument-chip:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.instrument-chip--pxrd{background:#00a5ab14;color:#00858a;border-color:#00a5ab4d}.instrument-chip--pxrd:hover{background:#00a5ab29;border-color:#00a5ab}.instrument-chip--tga{background:#f5a70014;color:#b07800;border-color:#f5a7004d}.instrument-chip--tga:hover{background:#f5a70029;border-color:#f5a700}.instrument-chip--gas_sorption{background:#09963b14;color:#077a2f;border-color:#09963b4d}.instrument-chip--gas_sorption:hover{background:#09963b29;border-color:#09963b}.instrument-chip--other{background:#f4efe6;color:#262626;border-color:#e6dccc}.instrument-chip--other:hover{background:#e6dccc;border-color:#c8703a}.instrument-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.instrument-chip--pxrd .instrument-chip-dot{background:#00a5ab}.instrument-chip--tga .instrument-chip-dot{background:#f5a700}.instrument-chip--gas_sorption .instrument-chip-dot{background:#09963b}.instrument-chip--other .instrument-chip-dot{background:#7f7f7f}.sample-actions{flex-shrink:0}.sample-add-btn{background:#fff;border:1px solid #E6DCCC;border-radius:6px;padding:.3rem .7rem;font-size:.78rem;color:#262626;cursor:pointer;font-weight:500;transition:all .15s ease}.sample-add-btn:hover{background:#f4efe6;border-color:#c8703a;color:#262626}.sample-results-empty{text-align:center;padding:2rem 1rem;color:#7f7f7f;font-size:.9rem}.plate-viz{background:#faf8f5;border:1px solid #E6DCCC;border-radius:8px;padding:28px;margin-top:16px}.plate-viz-summary{display:flex;gap:28px;padding:14px 20px;background:#f4efe6;border-radius:6px;margin-bottom:24px;font-size:.95rem;color:#262626;flex-wrap:wrap;justify-content:center}.plate-viz-summary-item{display:flex;gap:6px;align-items:baseline}.plate-viz-summary-label{color:#7f7f7f;font-size:.85rem}.plate-viz-grid-container{display:flex;gap:8px;margin-bottom:24px;justify-content:center}.plate-viz-row-labels{display:flex;flex-direction:column;gap:3px;padding-top:30px}.plate-viz-row-label{height:50px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:#7f7f7f;width:22px}.plate-viz-col-labels{display:grid;grid-template-columns:repeat(12,50px);gap:3px;margin-bottom:3px}.plate-viz-col-label{text-align:center;font-size:.85rem;font-weight:600;color:#7f7f7f;height:26px}.plate-viz-grid{display:grid;grid-template-columns:repeat(12,50px);gap:3px}.plate-viz-well{width:50px;height:50px;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.08);transition:transform .1s,border-color .1s,box-shadow .1s;position:relative}.plate-viz-well:hover{transform:scale(1.15);border-color:#fff;box-shadow:0 0 8px #ffffff4d;z-index:10}.plate-viz-well.selected{border:2px solid #fff;transform:scale(1.15);box-shadow:0 0 12px #93c5fd80;z-index:10}.plate-viz-legend{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font-size:.85rem;color:#7f7f7f}.plate-viz-legend-gradient{width:260px;height:14px;border-radius:4px}.plate-viz-popup{position:fixed;background:#f4efe6;border:1px solid #E6DCCC;border-radius:8px;padding:16px;min-width:420px;max-width:600px;z-index:1000;box-shadow:0 4px 24px #0009;font-size:.9rem;color:#262626}.plate-viz-popup-title{font-weight:700;margin-bottom:10px;color:#93c5fd;font-size:1.05rem}.plate-viz-popup-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid #E6DCCC}.plate-viz-popup-role{color:#7f7f7f;font-size:.8rem;min-width:65px}.plate-viz-popup-name{flex:1;margin:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.plate-viz-popup-vol{font-family:monospace;color:#6bc4a6}.plate-viz-vials{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.plate-viz-vial-card{background:#f4efe6;border-radius:8px;padding:16px;min-width:220px;flex:1;max-width:340px;border-left:4px solid #E6DCCC}.plate-viz-vial-role{font-weight:600;font-size:.95rem;margin-bottom:8px;text-transform:capitalize}.plate-viz-vial-detail{font-size:.85rem;color:#aaa;margin-bottom:3px}.plate-viz-vial-detail span{color:#262626}.plate-viz-view-toggle{display:flex;justify-content:center;gap:0;margin-bottom:16px}.plate-viz-toggle-btn{font-family:inherit;font-size:.8rem;font-weight:600;padding:6px 20px;border:1px solid #E6DCCC;background:#f4efe6;color:#7f7f7f;cursor:pointer;transition:all .15s}.plate-viz-toggle-btn:first-child{border-radius:6px 0 0 6px}.plate-viz-toggle-btn:last-child{border-radius:0 6px 6px 0;border-left:none}.plate-viz-toggle-btn.active{background:#00a5ab;color:#1e1e1e;border-color:#00a5ab}.plate-viz-toggle-btn:hover:not(.active){color:#262626;background:#fff}.plate-viz-vial-rack{margin-top:24px}.plate-viz-vial-group-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#7f7f7f;font-weight:600;margin:16px 0 8px;padding-left:2px}.plate-viz-vial-group-title:first-child{margin-top:0}.plate-viz-vial-id{font-family:monospace;font-size:.75rem;color:#666;margin-bottom:6px}.plate-viz-material-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:700;letter-spacing:.05em}.plate-viz-material-badge.mof{background:#2d6a4f;color:#b7e4c7}.plate-viz-material-badge.cof{background:#1e3a5f;color:#93c5fd}.constraint-widget{margin-top:8px}.constraint-widget-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.constraint-widget-label{font-size:.85rem;font-weight:600;color:#7f7f7f}.constraint-copy-select{flex:0 0 auto;width:auto;min-width:130px;padding:2px 8px;font-size:.75rem;background:#fff;border:1px solid #E6DCCC;border-radius:3px;color:#7f7f7f}.constraint-builder{display:flex;flex-direction:column;gap:6px}.constraint-builder-row{display:flex;flex-direction:row;gap:6px}.constraint-type-select,.constraint-action-select{flex:1;min-width:0}.constraint-builder .form-select{padding:4px 8px;font-size:.85rem;background:#fff;border:1px solid #E6DCCC;border-radius:4px;color:#262626}.constraint-tag-input-wrapper{position:relative}.constraint-tag-container{display:flex;flex-wrap:wrap;gap:4px;padding:4px 6px;background:#fff;border:1px solid #E6DCCC;border-radius:4px;min-height:32px;align-items:center}.constraint-tag{display:inline-flex;align-items:center;padding:1px 6px;background:var(--accent-color, #00A5AB);color:#fff;border-radius:3px;font-size:.8rem;white-space:nowrap}.constraint-tag-remove{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:0 0 0 4px;font-size:.8rem;line-height:1}.constraint-tag-remove:hover{color:#fff}.constraint-tag-input{flex:1;min-width:80px;background:transparent;border:none;outline:none;color:#262626;font-size:.85rem}.constraint-tag-input::placeholder{color:#7f7f7f}.constraint-suggestions{position:absolute;top:100%;left:0;right:0;background:#f4efe6;border:1px solid #E6DCCC;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:10;list-style:none;margin:0;padding:0}.constraint-suggestion-item{display:flex;justify-content:space-between;padding:6px 8px;cursor:pointer;font-size:.85rem;color:#262626}.constraint-suggestion-item:hover{background:#e6dccc}.constraint-suggestion-class{font-size:.75rem;color:#7f7f7f}.constraint-conditions-form{display:flex;flex-direction:column;gap:6px}.constraint-range-group{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#7f7f7f}.constraint-range-label{min-width:120px;font-size:.8rem}.constraint-range-inputs{display:flex;align-items:center;gap:6px}.constraint-range-input{width:70px;padding:3px 6px;background:#fff;border:1px solid #E6DCCC;border-radius:4px;color:#262626;font-size:.85rem}.constraint-range-separator{color:#7f7f7f}.constraint-guidance-textarea{font-size:.85rem;background:#fff;border:1px solid #E6DCCC;color:#262626;border-radius:4px;padding:6px 8px;resize:vertical}.constraint-guidance-textarea::placeholder{color:#7f7f7f}.btn-outline-accent{color:var(--accent-color, #00A5AB);border:1px solid var(--accent-color, #00A5AB);background:transparent;border-radius:4px;cursor:pointer;padding:4px 12px;font-size:.85rem;transition:background .15s,color .15s}.btn-outline-accent:hover:not(:disabled){background:var(--accent-color, #00A5AB);color:#fff}.btn-outline-accent:disabled{opacity:.5;cursor:not-allowed}.constraint-add-btn{margin-top:2px;font-size:.8rem;align-self:flex-start}.constraint-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.constraint-row{background:#353535;border:1px solid #4a4a4a;border-radius:4px;overflow:hidden}.constraint-row-header{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:.85rem}.constraint-badge{padding:1px 5px;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase}.constraint-badge-include{background:#1a6b4e;color:#8cf5d2}.constraint-badge-exclude{background:#6b1a1a;color:#f58c8c}.constraint-type-label{color:#7f7f7f;font-size:.8rem}.constraint-name{color:#262626;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.constraint-guidance-text{font-style:italic;color:#7f7f7f}.constraint-row-actions{display:flex;gap:4px;margin-left:auto;flex-shrink:0}.constraint-expand-btn,.constraint-remove-btn{background:none;border:none;cursor:pointer;font-size:.9rem;padding:0 4px;line-height:1}.constraint-expand-btn{color:#7f7f7f}.constraint-expand-btn:hover{color:#262626}.constraint-remove-btn{color:#7f7f7f}.constraint-remove-btn:hover{color:#e55}.constraint-params{padding:6px 8px 8px;border-top:1px solid #4a4a4a;display:flex;flex-direction:column;gap:4px}.constraint-param-field{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#7f7f7f}.constraint-param-field span{min-width:110px;font-size:.75rem;color:#7f7f7f}.constraint-param-field input,.constraint-param-field select{flex:1;padding:2px 6px;background:#fff;border:1px solid #E6DCCC;border-radius:3px;color:#262626;font-size:.8rem}.constraint-range-inputs-inline{display:flex;align-items:center;gap:4px;flex:1}.constraint-range-inputs-inline input{flex:1;padding:2px 6px;background:#fff;border:1px solid #E6DCCC;border-radius:3px;color:#262626;font-size:.8rem}.constraint-range-sep{color:#7f7f7f;font-size:.8rem}.constraint-range-input-wide{width:100%;padding:4px 8px;background:#fff;border:1px solid #E6DCCC;border-radius:3px;color:#262626;font-size:.8rem}.constraint-bb-form{display:flex;flex-direction:column;gap:8px;margin-top:6px}.constraint-bb-empty{color:#7f7f7f;font-size:.8rem;margin:0}.constraint-bb-cards{display:flex;flex-wrap:wrap;gap:8px}.constraint-bb-card{background:#faf8f5;border:1px solid #E6DCCC;border-radius:6px;padding:8px 10px;display:flex;align-items:center;gap:8px}.constraint-bb-structure{flex-shrink:0;background:#fff;border-radius:4px;overflow:hidden;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.constraint-bb-formula{font-family:monospace;font-size:.85rem;color:#333}.constraint-bb-info{display:flex;flex-direction:column;gap:2px}.constraint-bb-label{font-size:.7rem;font-weight:700;color:var(--accent-color, #00A5AB);text-transform:uppercase;letter-spacing:.5px}.constraint-bb-name{font-weight:600;font-size:.85rem;color:#262626}.constraint-bb-phase{display:flex;align-items:center;gap:6px;margin-top:4px}.constraint-bb-phase-label{font-size:.7rem;color:#7f7f7f;text-transform:uppercase;letter-spacing:.5px}.constraint-bb-phase-select{font-size:.8rem;padding:2px 6px;height:auto}.constraint-bb-solvent-wrapper{position:relative;display:inline-block}.constraint-bb-solvent-input{font-size:.8rem;padding:2px 6px;height:auto;width:140px}.constraint-bb-conc-input{font-size:.8rem;padding:2px 6px;height:auto;width:100px}.constraint-bb-solvent-missing{border-color:#d9534f;background:#fdf3f2}.constraint-general-textarea{background:#fff;border:1px solid #E6DCCC;border-radius:4px;color:#262626;font-size:.85rem;resize:vertical}.constraint-general-textarea::placeholder{color:#7f7f7f}.constraint-guidance-text{font-style:italic;white-space:pre-wrap}.evaluator-radar-container{grid-column:1 / -1;margin-top:10px}.evaluator-radar-title{color:#7f7f7f;display:block;margin-bottom:2px}.evaluator-radar-subtitle{display:block;font-size:.75rem;color:#aaa;margin-bottom:12px;font-style:italic}.evaluator-radar-layout{display:flex;align-items:center;justify-content:center;gap:80px;flex-wrap:wrap}.evaluator-radar-chart{flex-shrink:0}.evaluator-badges{display:flex;flex-direction:column;gap:5px;min-width:260px;max-width:360px}.radar-svg{overflow:visible}.radar-ring{fill:none;stroke:#e0e0e0;stroke-width:.8}.radar-axis{stroke:#e8e8e8;stroke-width:.6}.radar-fill{fill:#c8703a26}.radar-stroke{fill:none;stroke:#c8703a;stroke-width:2}.radar-dot{stroke:#fff;stroke-width:1.5}.radar-dot--good{fill:#2e7d32}.radar-dot--moderate{fill:#e6911a}.radar-dot--poor{fill:#c62828}.radar-label{font-size:10px;fill:#555;font-weight:500}.evaluator-badge{border-radius:6px;font-size:.82rem;background:#fafafa;border:1px solid #eee;overflow:hidden}.evaluator-badge--good{background:#e8f5e9;border-color:#c8e6c9}.evaluator-badge--moderate{background:#fff8e1;border-color:#ffe082}.evaluator-badge--poor{background:#ffebee;border-color:#ef9a9a}.evaluator-badge--overall{margin-top:6px;border-width:2px;display:flex;align-items:center;gap:8px;padding:7px 10px}.evaluator-badge-dot-inline{width:8px;height:8px;border-radius:50%;flex-shrink:0}.evaluator-badge--good .evaluator-badge-dot-inline{background:#2e7d32}.evaluator-badge--moderate .evaluator-badge-dot-inline{background:#e6911a}.evaluator-badge--poor .evaluator-badge-dot-inline{background:#c62828}.evaluator-badge-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;cursor:pointer;font:inherit;font-size:.82rem;text-align:left;color:inherit}.evaluator-badge-toggle:hover{filter:brightness(.97)}.evaluator-badge-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.evaluator-badge--good .evaluator-badge-dot{background:#2e7d32}.evaluator-badge--moderate .evaluator-badge-dot{background:#e6911a}.evaluator-badge--poor .evaluator-badge-dot{background:#c62828}.evaluator-badge-label{flex:1;color:#333}.evaluator-badge-unit{font-size:.72rem;color:#999;margin-left:4px;font-weight:400}.evaluator-badge-level{font-weight:600;font-size:.78rem;color:#555;flex-shrink:0}.evaluator-badge--good .evaluator-badge-level{color:#2e7d32}.evaluator-badge--moderate .evaluator-badge-level{color:#e6911a}.evaluator-badge--poor .evaluator-badge-level{color:#c62828}.evaluator-badge-arrow{font-size:.7rem;color:#aaa;transition:transform .15s;flex-shrink:0}.evaluator-badge-arrow--open{transform:rotate(180deg)}.evaluator-badge-detail{padding:5px 10px 7px 26px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;gap:3px}.evaluator-badge-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.76rem}.evaluator-badge-detail-label{color:#888}.evaluator-badge-raw{font-family:monospace;color:#444}.evaluator-badge-range{font-family:monospace;color:#666;font-size:.74rem}.evaluator-badge-pct{color:#999;font-style:italic}.candidate-details-page{padding:20px}.candidate-details-page .header{display:flex;align-items:center;gap:20px;margin-bottom:20px}.candidate-details-page .header h1{margin:0;flex:1;font-size:1.8rem;font-weight:700;color:var(--primary-color)}.candidate-details-page .card{background-color:#f4efe6;border:1px solid #E6DCCC;border-radius:8px;margin-bottom:20px}.candidate-details-page .card-body{padding:20px}.candidate-details-page .card-title{margin-bottom:20px;color:#1a1a1a;font-size:1.4rem;font-weight:700}.details-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.details-list p{margin:0;color:#262626;font-size:1rem;line-height:1.5}.details-list p:last-child{margin-bottom:0}.details-list strong{color:#7f7f7f;margin-right:8px}.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.candidate-details-page .detail-item{display:flex;flex-direction:column;gap:4px}.candidate-details-page .detail-item strong{color:#7f7f7f;font-size:.875rem;font-weight:600}.candidate-details-page .detail-item span{color:#262626;font-size:1rem;font-weight:500}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.875rem;font-weight:500}.status-active,.status-approved{background-color:#d4edda;color:#155724}.status-pending{background-color:#fff3cd;color:#856404}.status-rejected,.status-failed{background-color:#f8d7da;color:#721c24}.status-completed{background-color:#cce5ff;color:#004085}.smiles-code{display:block;background-color:#fff;color:#262626;padding:16px;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;word-break:break-all;white-space:pre-wrap;border:1px solid #E6DCCC}.btn-secondary{background-color:#6c757d;color:#fff;padding:8px 16px;border:none;border-radius:4px;text-decoration:none;font-size:.9rem;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background-color:#5a6268;color:#fff}.card-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header-with-action .card-title{margin-bottom:0}.btn-primary{background-color:#f5a700;color:#fff;padding:8px 16px;border:none;border-radius:4px;text-decoration:none;font-size:.9rem;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;gap:6px}.btn-primary:hover{background-color:#d99200;color:#fff}.btn-sm{padding:6px 12px;font-size:.8rem}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px;text-align:left;border-bottom:1px solid #e0e0e0;font-size:1.1rem}.table th{background-color:#e6dccc;font-weight:600;color:#234b6e;border-bottom:2px solid #C8703A}.candidate-details-page .table td,.table td{color:#262626;border-bottom:1px solid #E6DCCC}.table-hover tbody tr:hover{background-color:#c8703a14}.candidate-details-page .table-responsive table tbody td:first-child,.plan-summary-cell{vertical-align:top}.plan-date-cell{vertical-align:top;white-space:nowrap;font-size:.82rem;color:#555}.plan-date-status{display:block;font-size:.75rem;color:#999;margin-top:2px}.plan-download-cell{vertical-align:middle;text-align:center;white-space:nowrap}.plan-download-btn{display:inline-flex;align-items:center;gap:6px;background:#c8703a;color:#fff;border:none;border-radius:6px;padding:7px 14px;cursor:pointer;font-size:.82rem;font-weight:500;line-height:1;transition:background .15s,box-shadow .15s}.plan-download-btn:hover{background:#b0612f;box-shadow:0 2px 6px #00000026}.plan-download-btn svg{flex-shrink:0}.candidate-details-page .plan-summary-badge{font-size:1.1rem;padding:3px 8px}.candidate-details-page .plan-summary-compact-grid,.candidate-details-page .plan-summary-catalysts{font-size:1.1rem}.plan-summary-cell{max-width:none}.plan-summary-empty{color:#888;font-style:italic}.plan-summary{display:flex;flex-direction:column;gap:12px}.plan-summary-section{display:flex;flex-direction:column;gap:6px}.plan-summary-label{font-size:.8rem;font-weight:600;color:#7f7f7f}.plan-summary-solids{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.plan-summary-solid{display:flex;flex-direction:column;align-items:center;gap:4px}.plan-summary-solid-name{font-size:.7rem;color:#7f7f7f;max-width:150px;text-align:center;word-break:break-word;line-height:1.2}.plan-summary-liquids{font-size:.9rem;color:#262626;line-height:1.4}.plan-summary-vials{margin:0;padding-left:20px;font-size:.9rem;color:#262626;line-height:1.5}.plan-summary-vials li{margin-bottom:4px}.plan-summary-vial-id{font-weight:600;color:#7f7f7f}.plan-summary-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:4px;width:fit-content}.plan-summary-badge-mof{background:#2d6a4f;color:#b7e4c7}.plan-summary-badge-cof{background:#1e3a5f;color:#93c5fd}.plan-summary-compact{display:flex;flex-direction:row;align-items:center;gap:10px}.plan-summary-compact-grid{display:flex;gap:12px;font-size:.85rem;color:#262626}.plan-summary-catalysts{font-size:.8rem;color:#7f7f7f}.plan-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:1.6rem;color:#262626}.plan-summary-vial-vol{color:#7f7f7f;font-size:.8rem}.plan-summary-vial-components{color:#00a5ab;font-size:.8rem;font-family:monospace}.text-muted{color:#7f7f7f;font-style:italic}.molecule-grid{display:flex;flex-wrap:wrap;gap:24px}.molecule-item{display:flex;flex-direction:column;align-items:center;padding:16px;background-color:#fff;border:1px solid #E6DCCC;border-radius:8px}.molecule-name{margin-top:12px;font-size:1rem;font-weight:600;color:#262626}.molecule-smiles{margin-top:8px;font-size:.75rem;color:#7f7f7f;word-break:break-all;max-width:300px;text-align:center}.linker-3d-toggle{background:#00a5ab;color:#fff;border:none;border-radius:4px;padding:4px 12px;font-size:.78rem;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:background .15s;flex-shrink:0}.linker-3d-toggle:hover{background:#008a90}.linker-copy-btn{background:transparent;border:1px solid #d4d4d4;border-radius:4px;padding:3px 10px;font-size:.75rem;color:#555;cursor:pointer;transition:all .15s;margin-top:4px}.linker-copy-btn:hover{background:#f0f0f0;border-color:#00a5ab;color:#00a5ab}.mof-info-card{background:linear-gradient(135deg,#f5f0e8,#ebe4d8);min-width:300px;min-height:300px;justify-content:flex-start;padding:16px!important;gap:4px}.mof-tile-row{display:flex;align-items:flex-start;gap:12px;width:100%;margin-bottom:14px}.mof-element-tile{width:90px;height:100px;border:3px solid;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffffd9;flex-shrink:0;position:relative;box-shadow:0 2px 8px #00000014}.mof-tile-z{position:absolute;top:4px;left:7px;font-size:.65rem;color:#999;font-weight:600}.mof-tile-symbol{font-size:2rem;font-weight:800;line-height:1.1}.mof-tile-name{font-size:.6rem;color:#777;text-transform:uppercase;letter-spacing:.04em;margin-top:1px}.mof-tile-mass{font-size:.58rem;color:#aaa;margin-top:1px}.mof-tile-badge{background:#824f8c1f;color:#824f8c;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:4px;white-space:nowrap;margin-top:6px}.mof-formula-display{font-size:1.1rem;font-weight:600;text-align:center;margin-bottom:10px;letter-spacing:.02em}.mof-formula-elem{margin:0 1px}.mof-formula-elem sub{font-size:.7em}.mof-composition-bar{display:flex;width:100%;height:10px;border-radius:5px;overflow:hidden;margin-bottom:6px}.mof-comp-segment{height:100%;min-width:4px;transition:opacity .15s}.mof-comp-segment:hover{opacity:.75}.mof-comp-legend{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:center;margin-bottom:12px}.mof-comp-label{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#666;font-weight:500}.mof-comp-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.mof-info-stats{display:flex;gap:8px;width:100%;margin-bottom:10px}.mof-stat{flex:1;display:flex;flex-direction:column;align-items:center;background:#ffffffb3;border-radius:6px;padding:8px 4px;border:1px solid rgba(0,0,0,.06)}.mof-stat-value{font-size:.95rem;font-weight:700;color:#333}.mof-stat-label{font-size:.6rem;color:#999;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.mof-info-principle{font-size:.75rem;color:#666;text-align:center;padding:6px 10px;background:#824f8c0f;border-radius:4px;width:100%;font-weight:500}.mof-principle-icon{margin-right:4px}.assessment-form{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #E6DCCC}.assessment-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px}@media (max-width: 768px){.assessment-form-row{grid-template-columns:1fr}}.candidate-details-page .form-group{margin-bottom:16px}.candidate-details-page .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#7f7f7f;font-size:.875rem}.candidate-details-page .form-group input,.candidate-details-page .form-group select,.candidate-details-page .form-group textarea{width:100%;padding:8px 12px;border:1px solid #E6DCCC;border-radius:4px;font-size:1rem;background-color:#fff;color:#262626}.candidate-details-page .form-group input:focus,.candidate-details-page .form-group select:focus,.candidate-details-page .form-group textarea:focus{outline:none;border-color:var(--accent-color, #00A5AB)}.candidate-details-page .form-group textarea{resize:vertical;min-height:80px}.assessment-list-title{color:#7f7f7f;font-size:1rem;font-weight:600;margin-bottom:12px}.candidate-details-page .assessment-alert{margin-bottom:16px}.synthesis-approval-alert{margin-bottom:12px}.synthesis-approval-cell{vertical-align:top}.synthesis-approval-form{display:flex;flex-direction:column;align-items:flex-start;min-width:400px}.synthesis-approval-select{width:100%;max-width:700px;min-height:44px;padding:10px 14px;font-size:1.1rem;background-color:#fff;border:1px solid #E6DCCC;color:#262626}.synthesis-approval-form .form-control,.synthesis-approval-feedback{width:100%;max-width:700px;font-size:1.1rem;line-height:1.6;background-color:#fff;border:1px solid #E6DCCC;color:#262626}.synthesis-approval-select:focus,.synthesis-approval-form .form-control:focus,.synthesis-approval-feedback:focus{outline:none;border-color:var(--accent-color, #00A5AB)}.synthesis-approval-form .btn-primary{margin-top:6px}.candidate-approval-section{margin-top:20px;padding-top:20px;border-top:1px solid #E6DCCC}.candidate-approval-alert{margin-bottom:12px}.candidate-approval-form{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:400px}.candidate-approval-form-row{flex-direction:row;align-items:center;gap:16px;max-width:none;width:100%}.candidate-approval-form-row .candidate-approval-field{flex:0 0 auto}.candidate-approval-form-row .candidate-approval-comments{flex:1;min-width:120px}.candidate-approval-form-row .candidate-approval-comments textarea{height:38px;min-height:38px;resize:none;padding:8px 12px;line-height:1.25;box-sizing:border-box}.candidate-approval-form-row .candidate-approval-save-wrap{flex:0 0 auto}.candidate-approval-form .form-group{width:100%}.candidate-approval-form-row .form-group{width:auto}.candidate-approval-form .form-group label{display:block;color:#7f7f7f;font-size:.9rem;margin-bottom:4px}.candidate-approval-form-row .form-group label{min-height:1.35rem;line-height:1.35rem;margin-bottom:4px;white-space:nowrap}.candidate-approval-form .synthesis-approval-select,.candidate-approval-form .synthesis-approval-feedback{max-width:100%}.candidate-approval-form-row .synthesis-approval-select{width:140px}.plan-row-selected{background-color:#00a5ab0f!important;border-left:3px solid #00A5AB}.plan-viz-row,.plan-viz-row:hover{background-color:#fff!important}.plan-row-selected td:first-child{padding-left:17px}.approval-toggle{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.approval-toggle-icons{display:flex;gap:16px}.approval-icon{width:48px;height:48px;border-radius:50%;border:2px solid #ccc;background:#f5f5f5;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#999}.approval-icon:hover:not(:disabled){transform:scale(1.1)}.approval-icon:disabled{opacity:.5;cursor:not-allowed}.approval-icon--approve.approval-icon--active{background:#09963b;border-color:#09963b;color:#fff;box-shadow:0 0 0 4px #09963b40}.approval-icon--reject.approval-icon--active{background:#e64823;border-color:#e64823;color:#fff;box-shadow:0 0 0 4px #e6482340}.approval-icon--approve:hover:not(:disabled):not(.approval-icon--active){border-color:#09963b;color:#09963b}.approval-icon--reject:hover:not(:disabled):not(.approval-icon--active){border-color:#e64823;color:#e64823}.approval-toggle-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.approval-toggle-label--approved{color:#09963b}.approval-toggle-label--rejected{color:#e64823}.approval-toggle-label--pending{color:#888}.approval-toggle-saving{font-size:.75rem;color:#888;font-style:italic}.approval-toggle-feedback{width:100%;max-width:300px;padding:6px 10px;border:1px solid #E6DCCC;border-radius:6px;font-size:.85rem;background:#fff;color:#262626;margin-top:4px;transition:border-color .15s}.approval-toggle-feedback:focus{outline:none;border-color:#00a5ab}.review-plans-page{padding:20px}.review-plans-page .header{margin-bottom:20px}.review-plans-page .header h1{margin:0;color:var(--primary-color)}.review-plans-page .header .review-plans-subtitle{margin:4px 0 0;font-size:.95rem;color:#7f7f7f}.review-plans-page .card{background-color:#f4efe6;border:1px solid #E6DCCC;border-radius:8px;margin-bottom:20px}.review-plans-page .card-body{padding:20px}.review-plans-page .card-title{margin-bottom:20px;color:#1a1a1a;font-size:1.4rem;font-weight:700}.review-plans-page .review-plans-table th,.review-plans-page .review-plans-table td{color:#262626;border-bottom:1px solid #E6DCCC;font-size:1.1rem}.review-plans-page .review-plans-table .plan-id-cell{color:#262626;vertical-align:top}.review-plans-page .review-plans-table .candidate-id-cell{vertical-align:top}.review-plans-table a{color:var(--accent-color, #00A5AB);text-decoration:none}.review-plans-table a:hover{text-decoration:underline}.plan-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #E6DCCC}.plan-tab{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:#7f7f7f;font-size:1.15rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:8px}.plan-tab:hover{color:#262626}.plan-tab-active{color:var(--accent-color, #00A5AB);border-bottom-color:var(--accent-color, #00A5AB)}.plan-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;border-radius:13px;font-size:.9rem;font-weight:600;background-color:#e6dccc;color:#262626}.plan-tab-active .plan-tab-count{background-color:var(--accent-color, #00A5AB);color:#fff}.review-plans-table .plan-summary-badge{font-size:.7rem;padding:2px 6px}.review-plans-table .plan-summary-compact-grid,.review-plans-table .plan-summary-catalysts{font-size:.8rem}.plan-feedback-cell{vertical-align:top;max-width:300px}.plan-feedback-text{color:#7f7f7f;font-size:1.1rem;white-space:pre-wrap}.create-assessment-page{padding:20px;max-width:600px;margin:0 auto}.create-assessment-page .header{display:flex;align-items:center;gap:20px;margin-bottom:20px}.create-assessment-page .header h1{margin:0;flex:1}.candidate-info{background:#f8f9fa;padding:12px 16px;border-radius:8px;margin-bottom:20px}.candidate-info p{margin:0}.create-assessment-page .card{background:var(--surface-color, #fff);border-radius:8px;box-shadow:0 2px 4px #0000001a}.create-assessment-page .card-body{padding:24px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-color, #333)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color, #00A5AB)}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #eee}.btn-secondary{background-color:#6c757d;color:#fff;padding:10px 20px;border:none;border-radius:4px;text-decoration:none;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-primary{background-color:#f5a700;color:#fff;padding:10px 20px;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#d99200}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.alert{padding:12px 16px;margin-bottom:20px;border-radius:4px}.alert-danger{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.users-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.users-page .header h1{font-weight:700;color:var(--primary-color)}.table-custom{background-color:#fff}.table-bordered,.table-bordered th,.table-bordered td{border:1px solid #dee2e6}.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem;margin-right:5px}.btn-info{background-color:#17a2b8;color:#fff;border:none}.btn-danger{background-color:#dc3545;color:#fff;border:none}.btn-sm:disabled{opacity:.6;cursor:not-allowed}.create-user-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.create-user-page .header h1{font-weight:700;color:var(--primary-color)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--primary-color);font-weight:500}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-color)}.inventory-page{padding:20px}.inventory-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.inventory-page .header-actions{display:flex;gap:8px}.inventory-page .header h1{margin:0;color:var(--primary-color)}.inventory-page .card{background-color:#f4efe6;border:1px solid #E6DCCC;border-radius:8px;margin-bottom:20px}.inventory-page .card-body{padding:20px}.inventory-page .card-title{color:#1a1a1a;margin-bottom:15px;font-size:1.4rem;font-weight:700}.inventory-page .count-badge{font-weight:400;font-size:.9rem;margin-left:10px;color:#7f7f7f}.inventory-table{width:100%;border-collapse:collapse}.inventory-table thead{background-color:#f4efe6}.inventory-table th{padding:12px 8px;font-weight:600;color:#262626;white-space:nowrap;vertical-align:top;border-bottom:2px solid #E6DCCC}.inventory-table td{padding:10px 8px;color:#262626!important;border-bottom:1px solid #E6DCCC}.inventory-table tbody tr:hover{background-color:#c8703a0f}.inventory-table a{color:#00a5ab;text-decoration:none}.inventory-table a:hover{color:#008a90;text-decoration:underline}.sortable-header{cursor:pointer}.header-label{cursor:pointer;margin-bottom:8px;-webkit-user-select:none;user-select:none}.header-label:hover{color:#00a5ab}.sort-indicator{margin-left:4px;color:#00a5ab}.filter-input{width:100%;padding:4px 8px;font-size:.8rem;border:1px solid #E6DCCC;border-radius:4px;color:#333;background-color:#fff}.filter-input:focus{outline:none;border-color:#00a5ab;box-shadow:0 0 0 2px #00a5ab33}.low-stock-row{background-color:#ff6b6b26!important}.low-stock-row:hover{background-color:#ff6b6b40!important}.low-stock-badge{margin-left:8px;font-size:.9rem}.low-stock-value{color:#ff6b6b!important;font-weight:600}.expiring-soon{color:#ffc107!important}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-badge.pending{background-color:#ffc107;color:#000}.status-badge.ordered{background-color:#17a2b8;color:#fff}.status-badge.received,.status-badge.active{background-color:#28a745;color:#fff}.status-badge.inactive{background-color:#6c757d;color:#fff}.status-badge.expired{background-color:#dc3545;color:#fff}.inventory-form{max-width:800px}.inventory-form .form-group{margin-bottom:20px}.inventory-form label{display:block;margin-bottom:6px;color:#7f7f7f;font-weight:500}.inventory-form input,.inventory-form select,.inventory-form textarea{width:100%;padding:10px 12px;font-size:1rem;border:1px solid #E6DCCC;border-radius:6px;background-color:#fff;color:#262626}.inventory-form input:focus,.inventory-form select:focus,.inventory-form textarea:focus{outline:none;border-color:#00a5ab;box-shadow:0 0 0 2px #00a5ab33}.inventory-form textarea{min-height:100px;resize:vertical}.inventory-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.inventory-form .form-actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;font-size:1rem;border:none;border-radius:6px;cursor:pointer;text-decoration:none;transition:background-color .2s,transform .1s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background-color:#f5a700;color:#fff}.btn-primary:hover{background-color:#d99200}.btn-primary:focus-visible{box-shadow:0 0 0 3px #f5a7004d}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#218838}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-sm{padding:6px 12px;font-size:.85rem}.alert{padding:12px 16px;border-radius:6px;margin-bottom:20px}.alert-danger{background-color:#dc354533;border:1px solid #dc3545;color:#ff6b6b}.alert-success{background-color:#28a74533;border:1px solid #28a745;color:#51cf66}.alert-warning{background-color:#ffc10733;border:1px solid #ffc107;color:#ffc107}.action-buttons{display:flex;gap:8px}.action-btn{padding:4px 8px;font-size:.8rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.action-btn.edit{background-color:#00a5ab;color:#000}.action-btn.edit:hover{background-color:#008a90}.action-btn.receive{background-color:#28a745;color:#fff}.action-btn.receive:hover{background-color:#218838}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.detail-item{padding:12px;background-color:#fff;border-radius:6px}.detail-item label{display:block;color:#7f7f7f;font-size:.85rem;margin-bottom:4px}.detail-item .value{color:#262626;font-size:1rem}@media (max-width: 768px){.inventory-page .header{flex-direction:column;gap:12px;align-items:flex-start}.inventory-form .form-row,.detail-grid{grid-template-columns:1fr}}.laboratory-page{padding:20px}.laboratory-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.laboratory-page .header h1{margin:0;color:var(--primary-color)}.laboratory-page .card{background-color:#f4efe6;border:1px solid #E6DCCC;border-radius:8px;margin-bottom:20px}.laboratory-page .card-body{padding:20px}.laboratory-page .card-title{color:#1a1a1a;margin-bottom:15px;font-size:1.4rem;font-weight:700}.laboratory-page .count-badge{font-weight:400;font-size:.9rem;margin-left:10px;color:#7f7f7f}.laboratory-page .card-description{color:#7f7f7f;font-size:.9rem;margin-bottom:20px}.laboratory-page .text-muted{color:#7f7f7f;font-style:italic}.laboratory-page .text-center{color:#262626}.laboratory-page .table.laboratory-table,.laboratory-page .laboratory-table{width:100%;border-collapse:collapse;background-color:#f4efe6;color:#262626}.laboratory-page .laboratory-table thead{background-color:#f4efe6}.laboratory-page .laboratory-table th,.laboratory-page .laboratory-table thead th{padding:10px 14px;font-weight:600;color:#262626;background-color:#f4efe6;white-space:nowrap;vertical-align:middle;border-bottom:2px solid #E6DCCC;text-align:left}.laboratory-page .laboratory-table td{padding:10px 14px;color:#262626;border-bottom:1px solid #E6DCCC;background-color:transparent;vertical-align:middle;text-align:left}.laboratory-page .laboratory-table tbody tr{color:#262626}.laboratory-page .laboratory-table tbody tr:hover{background-color:#c8703a0f}.laboratory-page .laboratory-table tbody tr:hover td{color:#262626}.laboratory-page .laboratory-table a{color:#00a5ab;text-decoration:none}.laboratory-page .laboratory-table a:hover{color:#008a90;text-decoration:underline}.priority-actions{display:flex;align-items:center;gap:4px}.btn-icon{background:#e6dccc;border:1px solid #E6DCCC;color:#262626;width:28px;height:28px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:.75rem}.btn-icon:hover:not(:disabled){background:#e6dccc;border-color:#666}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.priority-num{margin-left:6px;font-weight:600;color:#262626;min-width:1.5rem}.queued-plan-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.plate-export-button{white-space:nowrap}.plate-json-cell{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:monospace;font-size:.82rem}.laboratory-page .status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:capitalize}.laboratory-page .status-badge.status-pending{background-color:#fff3cd;color:#856404}.laboratory-page .status-badge.status-approved{background-color:#d4edda;color:#155724}.laboratory-page .status-badge.status-completed{background-color:#cce5ff;color:#004085}.laboratory-page .status-badge.status-rejected,.laboratory-page .status-badge.status-failed{background-color:#f8d7da;color:#721c24}.laboratory-page .lab-project-select{background-color:#fff;border:1px solid #E6DCCC;color:#262626;padding:8px 12px;border-radius:4px;font-size:1rem;min-width:300px;cursor:pointer}.laboratory-page .lab-project-select:focus{outline:none;border-color:var(--accent-color, #00A5AB);box-shadow:0 0 0 2px #00a5ab40}.laboratory-page .lab-project-select option{background-color:#fff;color:#262626}.laboratory-page .form-actions{margin-top:20px;padding-top:20px;border-top:1px solid #E6DCCC}.laboratory-page .btn-primary{background-color:#f5a700;color:#fff;padding:10px 20px;border:none;border-radius:4px;font-size:1rem;cursor:pointer}.laboratory-page .btn-primary:hover:not(:disabled){background-color:#d99200}.laboratory-page .btn-primary:focus-visible{box-shadow:0 0 0 3px #f5a7004d}.laboratory-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.laboratory-page .alert{padding:12px 16px;margin-bottom:20px;border-radius:4px}.laboratory-page .alert-danger{background-color:#dc354533;border:1px solid #dc3545;color:#ff6b6b}.laboratory-page .alert-success{background-color:#28a74533;border:1px solid #28a745;color:#51cf66}.lab-project-list{display:flex;flex-direction:column;gap:10px}.lab-project-card{background:#f4efe6;border:1px solid #E6DCCC;border-radius:8px;overflow:hidden;transition:box-shadow .15s}.lab-project-card:hover{box-shadow:0 2px 8px #0000000f}.lab-project-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px;background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:left}.lab-project-title{display:flex;align-items:center;gap:10px}.lab-chevron{font-size:.9rem;color:#999;transition:transform .2s;display:inline-block}.lab-chevron--open{transform:rotate(90deg)}.lab-project-name{font-size:1rem;font-weight:700;color:#262626}.lab-file-count{font-size:.75rem;font-weight:500;color:#999;background:#e6dccc;padding:2px 8px;border-radius:10px}.lab-project-link{font-size:.78rem;font-weight:600;color:#00a5ab;text-decoration:none;transition:opacity .15s}.lab-project-link:hover{opacity:.7;text-decoration:underline}.lab-project-body{padding:0 20px 16px}.lab-status-msg{font-size:.85rem;color:#999;padding:8px 0}.lab-status-msg--error{color:#e64823}.lab-download-btn{font-size:.78rem;font-weight:600;color:#00a5ab;background:transparent;border:1.5px solid #00A5AB;border-radius:5px;padding:4px 12px;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.lab-download-btn:hover{background:#00a5ab;color:#fff}.lab-summary{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px}.lab-summary-card{display:flex;flex-direction:column;align-items:center;padding:14px 24px;background:#faf8f5;border:1px solid #E6DCCC;border-radius:10px;min-width:120px;flex:1;max-width:200px}.lab-summary-value{font-size:1.6rem;font-weight:700}.lab-summary-label{font-size:.72rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.lab-summary-card--awaiting .lab-summary-value{color:#00a5ab}.lab-summary-card--pending .lab-summary-value{color:#f5a700}.lab-summary-card--rejected .lab-summary-value{color:#e64823}.lab-summary-card--completed .lab-summary-value{color:#09963b}.lab-summary-card--total .lab-summary-value{color:#262626}.lab-summary-card--awaiting{border-left:3px solid #00A5AB}.lab-summary-card--pending{border-left:3px solid #F5A700}.lab-summary-card--rejected{border-left:3px solid #E64823}.lab-summary-card--completed{border-left:3px solid #09963B}.lab-summary-card--total{border-left:3px solid #E6DCCC}.lab-sections{display:flex;flex-direction:column;gap:16px}.lab-section{background:var(--surface-color, #F4EFE6);border-radius:8px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.lab-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left}.lab-section-header:hover{opacity:.85}.lab-section-title{display:flex;align-items:center;gap:8px;font-size:1.2rem;font-weight:700;color:var(--primary-color, #262626)}.lab-section-meta{display:flex;align-items:center;gap:8px}.lab-section-count{font-size:.8rem;font-weight:600;color:#888;background:#f0ece4;padding:2px 10px;border-radius:12px}.lab-section-body{display:flex;flex-direction:column;gap:8px;padding:0 16px 16px}.lab-count-badge{font-size:.7rem;font-weight:600;padding:2px 10px;border-radius:10px}.lab-count-badge--approved{color:#00a5ab;background:#00a5ab1a}.lab-count-badge--pending{color:#f5a700;background:#f5a7001a}.lab-count-badge--rejected{color:#e64823;background:#e6482314}.lab-count-badge--completed{color:#09963b;background:#09963b1a}.lab-count-badge--neutral{color:#888;background:#e6dccc}.lab-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.lab-badge--approved{color:#00a5ab;background:#00a5ab1a}.lab-badge--pending{color:#f5a700;background:#f5a7001a}.lab-badge--rejected{color:#e64823;background:#e6482314}.lab-badge--completed{color:#09963b;background:#09963b1a}.lab-plan-id{font-family:monospace;font-size:.82rem}.lab-action-stack{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.fv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000}.fv-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #00000040;width:min(92vw,960px);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.fv-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #e9ecef;flex-shrink:0}.fv-title{flex:1;font-size:.9rem;font-weight:600;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv-close{background:none;border:none;font-size:1.3rem;line-height:1;cursor:pointer;color:#6c757d;padding:0 2px;flex-shrink:0}.fv-close:hover{color:#212529}.fv-body{flex:1;overflow:auto;min-height:0;display:flex;flex-direction:column}.fv-iframe{width:100%;height:75vh;border:none;display:block}.fv-image-wrap{display:flex;align-items:center;justify-content:center;padding:24px;background:#f8f9fa;flex:1}.fv-image{max-width:100%;max-height:72vh;object-fit:contain;border-radius:4px;box-shadow:0 2px 12px #0000001f}.fv-text{margin:0;padding:20px 24px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.82rem;line-height:1.6;color:#212529;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.fv-markdown{padding:24px 32px;font-size:.92rem;line-height:1.7;color:#212529;max-width:820px}.fv-markdown h1{font-size:1.5rem;font-weight:700;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid #e9ecef}.fv-markdown h2{font-size:1.2rem;font-weight:700;margin:24px 0 10px}.fv-markdown h3{font-size:1rem;font-weight:600;margin:18px 0 8px}.fv-markdown p{margin:0 0 12px}.fv-markdown ul,.fv-markdown ol{margin:0 0 12px;padding-left:22px}.fv-markdown li{margin-bottom:3px}.fv-markdown code{background:#f0f4f8;padding:2px 5px;border-radius:3px;font-size:.85em}.fv-markdown pre{background:#f0f4f8;padding:12px 16px;border-radius:6px;overflow-x:auto;margin-bottom:14px}.fv-markdown pre code{background:none;padding:0}.fv-markdown table{border-collapse:collapse;width:100%;margin-bottom:14px;font-size:.87rem}.fv-markdown th,.fv-markdown td{border:1px solid #dee2e6;padding:6px 10px;text-align:left}.fv-markdown th{background:#f8f9fa;font-weight:600}.fv-markdown a{color:#00a5ab}.fv-status{padding:48px 24px;text-align:center;color:#6c757d;font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:12px}.fv-status a{color:#00a5ab}.wiki-page{padding:20px;max-width:1400px}.wiki-header-left{display:flex;flex-direction:column;gap:4px}.wiki-back-link{font-size:.85rem;color:#6c757d;text-decoration:none;display:flex;align-items:center;gap:6px}.wiki-back-link:hover{color:#495057}.wiki-sources-card{margin-bottom:20px}.wiki-upload-row{display:flex;gap:20px;margin-bottom:20px;align-items:flex-end}.wiki-drop-zone{flex:1;min-height:100px;border:2px dashed #ced4da;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;padding:20px;transition:border-color .15s,background .15s;color:#6c757d;font-size:.9rem;text-align:center}.wiki-drop-zone:hover,.wiki-drop-zone.drag-over{border-color:#00a5ab;background:#f0f6ff;color:#00a5ab}.wiki-drop-zone.uploading{opacity:.6;cursor:not-allowed}.wiki-drop-icon{font-size:1.8rem;margin-bottom:4px}.wiki-drop-hint{font-size:.75rem;color:#adb5bd}.wiki-url-input-wrap{flex:1;display:flex;flex-direction:column;gap:8px;justify-content:flex-end}.wiki-url-label{font-size:.85rem;font-weight:600;color:#495057;margin:0}.wiki-url-row{display:flex;gap:8px}.wiki-sources-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.wiki-source-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f8f9fa;border-radius:6px;font-size:.85rem}.wiki-source-icon{color:#6c757d;width:14px;flex-shrink:0}.wiki-source-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#212529}.wiki-source-error{color:#dc3545;cursor:help}.wiki-source-view{background:none;border:none;color:#adb5bd;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0}.wiki-source-view:hover{color:#00a5ab}.wiki-source-download{background:none;border:none;color:#adb5bd;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0}.wiki-source-download:hover{color:#00a5ab}.wiki-source-link{color:#adb5bd;padding:0 2px;line-height:1;flex-shrink:0;text-decoration:none}.wiki-source-link:hover{color:#00a5ab}.wiki-source-delete{background:none;border:none;color:#adb5bd;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;margin-left:8px}.wiki-source-delete:hover{color:#dc3545}.wiki-status-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:12px;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.wiki-status-pending{background:#fff3cd;color:#856404}.wiki-status-processing{background:#cfe2ff;color:#084298}.wiki-status-processed{background:#d1e7dd;color:#0a3622}.wiki-status-error{background:#f8d7da;color:#842029}.wiki-processing-note{margin-top:12px;font-size:.85rem;color:#6c757d;display:flex;align-items:center;gap:8px}.wiki-viewer-card{min-height:500px}.wiki-viewer-body{padding:0!important}.wiki-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#6c757d}.wiki-empty-icon{font-size:2.5rem;color:#ced4da}.wiki-layout{display:flex;height:650px}.wiki-nav{width:220px;flex-shrink:0;border-right:1px solid #e9ecef;overflow-y:auto;padding:16px 0}.wiki-nav-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6c757d;padding:0 16px 10px}.wiki-page-count{font-weight:400}.wiki-nav-item{display:flex;align-items:center;padding:0 8px 0 4px}.wiki-nav-item.active{background:#e9f0ff}.wiki-nav-link{flex:1;background:none;border:none;text-align:left;padding:7px 12px;font-size:.85rem;color:#212529;cursor:pointer;border-radius:4px;line-height:1.3;word-break:break-word}.wiki-nav-item.active .wiki-nav-link{color:#00a5ab;font-weight:600}.wiki-nav-link:hover{background:#f0f4ff}.wiki-nav-delete{background:none;border:none;color:transparent;cursor:pointer;padding:4px 6px;font-size:.75rem;flex-shrink:0;border-radius:3px}.wiki-nav-item:hover .wiki-nav-delete{color:#adb5bd}.wiki-nav-delete:hover{color:#dc3545!important;background:#fff0f0}.wiki-content{flex:1;overflow-y:auto;padding:28px 36px}.wiki-select-prompt{color:#6c757d;font-size:.9rem;padding:40px 0;display:flex;align-items:center;gap:8px}.wiki-markdown{font-size:.92rem;line-height:1.7;color:#212529;max-width:860px}.wiki-markdown h1{font-size:1.6rem;font-weight:700;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e9ecef}.wiki-markdown h2{font-size:1.25rem;font-weight:700;margin:28px 0 12px}.wiki-markdown h3{font-size:1.05rem;font-weight:600;margin:20px 0 8px}.wiki-markdown p{margin:0 0 14px}.wiki-markdown ul,.wiki-markdown ol{margin:0 0 14px;padding-left:24px}.wiki-markdown li{margin-bottom:4px}.wiki-markdown code{background:#f0f4f8;padding:2px 5px;border-radius:3px;font-size:.85em}.wiki-markdown pre{background:#f0f4f8;padding:14px 16px;border-radius:6px;overflow-x:auto;margin-bottom:16px}.wiki-markdown pre code{background:none;padding:0}.wiki-markdown blockquote{border-left:3px solid #ced4da;margin:0 0 14px;padding:4px 16px;color:#6c757d}.wiki-markdown table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:.88rem}.wiki-markdown th,.wiki-markdown td{border:1px solid #dee2e6;padding:7px 12px;text-align:left}.wiki-markdown th{background:#f8f9fa;font-weight:600}.wiki-markdown a{color:#00a5ab}.wiki-markdown p{white-space:pre-wrap}.eval-page{display:flex;flex-direction:column;height:calc(100vh - 60px)}.eval-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid #E6DCCC;background:#faf8f5;flex-shrink:0;flex-wrap:wrap;gap:12px}.eval-header-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.eval-back{font-size:.82rem;font-weight:600;color:#00a5ab;text-decoration:none;transition:opacity .15s}.eval-back:hover{opacity:.7}.eval-header h1{margin:0;font-size:1.3rem;font-weight:700;color:var(--primary-color, #262626)}.eval-project-badge{font-size:.78rem;font-weight:600;color:#824f8c;background:#824f8c1a;padding:3px 10px;border-radius:4px}.eval-header-actions{display:flex;align-items:center;gap:10px}.eval-filename{font-size:.72rem;color:#999;font-family:monospace}.eval-action-btn{font-size:.8rem;font-weight:600;border-radius:6px;padding:7px 16px;cursor:pointer;transition:background .15s,color .15s;font-family:Hanken Grotesk,system-ui,sans-serif;text-decoration:none;display:inline-flex;align-items:center}.eval-action-btn--upload{color:#00a5ab;background:transparent;border:1.5px solid #00A5AB}.eval-action-btn--upload:hover{background:#00a5ab;color:#fff}.eval-action-btn--download{color:#824f8c;background:transparent;border:1.5px solid #824F8C}.eval-action-btn--download:hover{background:#824f8c;color:#fff}.eval-action-btn--busy{opacity:.6;pointer-events:none}.eval-action-btn--large{font-size:.9rem;padding:10px 24px;margin-top:16px}.eval-upload-msg{padding:8px 24px;font-size:.8rem;font-weight:500;flex-shrink:0}.eval-upload-msg--success{background:#09963b14;color:#09963b}.eval-upload-msg--error{background:#e6482314;color:#e64823}.eval-body{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:24px;background:#f0ece4}.eval-content-wrapper{width:100%;max-width:95%;height:100%;background:#fff;border-radius:10px;box-shadow:0 4px 20px #00000014;overflow:hidden;border:1px solid #E6DCCC}.eval-iframe{width:100%;height:100%;border:none}.eval-status{font-size:.9rem;color:#999}.eval-status--error{color:#e64823}.eval-empty{display:flex;flex-direction:column;align-items:center;text-align:center;color:#888}.eval-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.5}.eval-empty p{margin:4px 0;font-size:.95rem}.eval-empty code{font-size:.78rem;background:#f0ece4;padding:2px 8px;border-radius:4px;color:#666}.eval-hint{font-size:.82rem!important;color:#aaa!important}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 40px);padding:20px;box-sizing:border-box}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.chat-header h1{margin:0;color:var(--primary-color)}.chat-project-select{padding:8px 12px;border:1px solid #7F7F7F;border-radius:4px;font-size:14px;min-width:220px;background:var(--surface-color)}.chat-window{flex:1;overflow-y:auto;background:var(--surface-color);border:1px solid #e5e5e5;border-radius:8px;padding:16px;margin-bottom:12px;display:flex;flex-direction:column;gap:12px}.chat-empty{margin:auto;text-align:center;color:var(--text-muted)}.chat-empty i{font-size:36px;margin-bottom:8px;display:block;opacity:.5}.chat-message{display:flex}.chat-message-user{justify-content:flex-end}.chat-message-assistant{justify-content:flex-start}.chat-bubble{max-width:75%;padding:10px 14px;border-radius:12px;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.chat-message-user .chat-bubble{background-color:var(--accent-color);color:#fff;border-bottom-right-radius:2px}.chat-message-assistant .chat-bubble{background-color:#f0f2f5;color:var(--text-color);border-bottom-left-radius:2px;white-space:normal}.chat-bubble p:first-child{margin-top:0}.chat-bubble p:last-child{margin-bottom:0}.chat-bubble pre{background:#f4efe6;color:#3d3529;padding:10px;border-radius:6px;overflow-x:auto}.chat-bubble code{background:#0000000f;padding:1px 4px;border-radius:3px}.chat-bubble pre code{background:none;padding:0}.chat-bubble p{margin:8px 0}.chat-bubble ul,.chat-bubble ol{margin:8px 0;padding-left:22px}.chat-bubble li{margin:3px 0}.chat-bubble li>ul,.chat-bubble li>ol{margin:3px 0}.chat-bubble h1,.chat-bubble h2,.chat-bubble h3,.chat-bubble h4{margin:14px 0 6px;line-height:1.25}.chat-bubble>:first-child{margin-top:0}.chat-bubble>:last-child{margin-bottom:0}.chat-bubble table{border-collapse:collapse;width:100%;margin:10px 0;font-size:.95em;display:block;overflow-x:auto;max-width:100%}.chat-bubble th,.chat-bubble td{border:1px solid #d4d7dc;padding:6px 10px;text-align:left;vertical-align:top}.chat-bubble th{background:#e4e7eb;font-weight:600}.chat-bubble tbody tr:nth-child(2n){background:#00000006}.chat-thinking{color:var(--text-muted);font-style:italic}.chat-input-row{display:flex;gap:8px;align-items:flex-end}.chat-input-wrap{flex:1;display:flex;flex-direction:column;gap:6px}.chat-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #7F7F7F;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical}.chat-skill-picker{display:flex;flex-direction:column;background:var(--surface-color);border:1px solid #e5e5e5;border-radius:8px;margin-bottom:8px;max-height:220px;overflow-y:auto}.chat-skill-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;background:none;border:none;border-bottom:1px solid #f0f0f0;text-align:left;cursor:pointer;font-family:inherit}.chat-skill-option:last-child{border-bottom:none}.chat-skill-option:hover{background:#f0f2f5}.chat-skill-name{font-weight:600;color:var(--accent-color);font-size:14px}.chat-skill-desc{font-size:12px;color:var(--text-muted)}.chat-skill-empty{padding:8px 12px;color:var(--text-muted);font-style:italic;font-size:13px}.chat-skill-chip,.chat-skill-tag{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;padding:2px 8px;border-radius:10px;background:var(--accent-color);color:#fff;font-size:12px;font-weight:600}.chat-skill-tag{margin-bottom:6px}.chat-skill-chip-clear{background:none;border:none;color:#fff;font-size:14px;line-height:1;cursor:pointer;padding:0}.chat-send-btn{height:fit-content}.alert-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.alert-warning code{background:#0000000f;padding:1px 4px;border-radius:3px}:root{--primary-color: #1a1a1a;--secondary-color: #7F7F7F;--background-color: #FAF8F5;--surface-color: #FFFFFF;--accent-color: #00A5AB;--text-color: #262626;--text-muted: #7F7F7F}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Hanken Grotesk,system-ui,sans-serif;font-size:15px;background-color:var(--background-color);color:#1a1a1a;font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.plan-summary-warning{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;white-space:nowrap;padding:2px 8px;border-radius:10px;color:#8a5a00;background-color:#fff3cd;border:1px solid #ffe08a;cursor:help}
