:root{--font-primary:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--bg-body:#f8fafc;--bg-card:#fff;--bg-column:#f1f5f9;--text-main:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--primary:#2563eb;--primary-hover:#1d4ed8;--border-subtle:#e2e8f0;--status-new-bg:#eff6ff;--status-new-text:#2563eb;--status-prog-bg:#fefce8;--status-prog-text:#ca8a04;--status-done-bg:#f0fdf4;--status-done-text:#16a34a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}body{-webkit-font-smoothing:antialiased;background-color:#f8fafc;background-color:var(--bg-body);box-sizing:border-box;color:#0f172a;color:var(--text-main)}body,button{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-primary)}.dashboard-container{padding:32px}.header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.header h1{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 4px}.header p{color:#475569;color:var(--text-secondary);font-size:15px;margin:0}.header-actions{align-items:center;display:flex;gap:12px}.search-input{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);color:#0f172a;color:var(--text-main);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-primary);font-size:14px;min-width:250px;padding:10px 16px;transition:all .2s}.search-input:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.search-input::placeholder{color:#94a3b8;color:var(--text-muted)}.new-btn{background-color:#2563eb;background-color:var(--primary);border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.new-btn:hover{background-color:#1d4ed8;background-color:var(--primary-hover);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.new-btn:disabled{background-color:#94a3b8;background-color:var(--text-muted);transform:none}.cancel-btn{border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:8px;color:#475569;color:var(--text-secondary);font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.cancel-btn:hover{background-color:#f8fafc;background-color:var(--bg-body)}.stats-row{margin-bottom:40px}.stat-card{align-items:center;background:var(--bg-card);border-radius:12px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:16px;transition:all .3s ease}.stat-card:before{background:#2563eb;background:var(--primary);height:100%;left:0;transition:width .3s ease;width:4px}.stat-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-card:hover:before{width:6px}.stat-card-primary:before{background:#3b82f6}.stat-card-success:before{background:#10b981}.stat-card-warning:before{background:#f59e0b}.stat-icon{font-size:40px;opacity:.9}.stat-content{flex:1 1}.stat-label{font-weight:600;margin-bottom:8px}.stat-value{color:#0f172a;color:var(--text-main);letter-spacing:-1px}.pipeline-container{gap:24px}.column{background:#f1f5f9;background:var(--bg-column);border:2px solid #0000;border-radius:12px;padding:16px}.column:hover{background:#e8eef5;border-color:#e2e8f0;border-color:var(--border-subtle)}.column-title{color:#475569;color:var(--text-secondary);font-size:14px;font-weight:600;letter-spacing:.5px}.empty-state{background:#fff;border:2px dashed #e2e8f0;border:2px dashed var(--border-subtle);border-radius:12px;color:#94a3b8;color:var(--text-muted);margin-top:40px;padding:40px 20px}.empty-icon{font-size:48px;margin-bottom:12px;opacity:.6}.empty-text{font-size:14px;font-style:italic;font-weight:500}.tender-card{border:1px solid #0000;border-radius:10px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:12px;padding:16px}.tender-card:hover{border-color:#2563eb;border-color:var(--primary);box-shadow:0 12px 24px -8px #00000026;transform:translateY(-4px)}.tender-card.deadline-urgent{background:linear-gradient(90deg,#fef2f2,#fff);border-left:4px solid #ef4444}.tender-card.deadline-warning{background:linear-gradient(90deg,#fffbeb,#fff);border-left:4px solid #f59e0b}.tender-card.deadline-overdue{background:linear-gradient(90deg,#fee2e2,#fff);border-left:4px solid #dc2626}.card-title{color:#0f172a;color:var(--text-main);font-weight:600;margin-bottom:4px}.client-name{color:#475569;display:block;font-size:13px;margin-bottom:8px}.card-desc,.client-name{color:var(--text-secondary)}.card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.5;overflow:hidden}.card-meta{align-items:center;border-top:1px solid #f1f5f9;border-top:1px solid var(--bg-column);color:#475569;color:var(--text-secondary);flex-wrap:wrap;font-weight:500;gap:8px}.meta-item{white-space:nowrap}.deadline-badge{animation:pulse 2s ease-in-out infinite;border-radius:6px;font-size:11px;font-weight:700;padding:4px 8px;position:absolute;right:48px;top:12px;z-index:10}.deadline-badge.urgent{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.deadline-badge.warning{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.deadline-badge.overdue{animation:shake .5s ease-in-out infinite;background:#fee2e2;border:1px solid #ef4444;color:#7f1d1d}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}.assigned-badge{background:#e0f2fe;border-radius:6px;color:#0284c7;display:inline-block;font-size:12px;font-weight:600;margin-top:8px;padding:4px 8px}.delete-btn{background:#0000;border-radius:4px;color:#94a3b8;color:var(--text-muted);padding:4px;transition:all .2s}.delete-btn:hover{background-color:#fef2f2;color:#ef4444}.move-btn-group{gap:6px}.move-btn{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;color:#0f172a;color:var(--text-main);padding:6px 12px;transition:all .2s ease}.move-btn:hover{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.move-btn-forward{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.move-btn-forward:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.move-btn-back{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);color:#475569;color:var(--text-secondary)}.move-btn-back:hover{background:#f8fafc;background:var(--bg-body);border-color:#475569;border-color:var(--text-secondary)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{border-radius:16px;padding:32px;width:600px}.modal-content h2{color:#0f172a;color:var(--text-main);font-size:24px;margin:0 0 24px}.form-grid,.form-group{margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{color:var(--text-secondary);margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border-radius:8px;padding:12px;transition:all .2s}.detail-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:32px}.tabs-container{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);display:flex;gap:32px;margin-bottom:32px}.tab-btn{background:none;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:500;padding:12px 0;position:relative;transition:color .2s}.tab-btn:hover{color:#0f172a;color:var(--text-main)}.tab-btn.active{color:#2563eb;color:var(--primary);font-weight:600}.tab-btn.active:after{background-color:#2563eb;background-color:var(--primary);bottom:-1px;content:"";height:2px;left:0;position:absolute;width:100%}.details-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr)}.detail-item label{color:#94a3b8;color:var(--text-muted);display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.detail-item div{color:#0f172a;color:var(--text-main);font-size:15px;font-weight:500}.doc-list-item{align-items:center;background:#f8fafc;background:var(--bg-body);border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:12px;padding:16px;transition:background .2s}.doc-list-item:hover{background:#fff;border-color:#cbd5e1}.doc-list-item a{color:#2563eb;color:var(--primary);font-weight:500;text-decoration:none}.doc-remove-btn{background:#fef2f2;border:1px solid #0000;border-radius:6px;color:#ef4444;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.doc-remove-btn:hover{background:#fee2e2;border-color:#fecaca}@media (max-width:768px){.pipeline-container,.stats-row{flex-direction:column;grid-template-columns:1fr}.details-grid{grid-template-columns:1fr}.modal-content{padding:20px;width:95%}.form-grid{grid-template-columns:1fr}.header{align-items:flex-start;flex-direction:column}.header-actions{flex-direction:column;width:100%}.new-btn,.search-input{width:100%}.stat-card{flex-direction:row}}.compliance-container{display:flex;gap:20px;height:calc(100vh - 200px);min-height:600px}.pdf-viewer-pane{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex:1.5 1;flex-direction:column;overflow:hidden}.pdf-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px}.doc-selector{border:1px solid #cbd5e1;border-radius:4px;padding:8px;width:100%}.pdf-frame{border:none;height:100%;width:100%}.pdf-placeholder{align-items:center;color:#94a3b8;display:flex;height:100%;justify-content:center}.clauses-pane{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;gap:15px;overflow:hidden}.clauses-header{align-items:center;display:flex;justify-content:space-between}.clauses-header h3{font-size:16px;margin:0}.compliance-stats{display:flex;font-size:12px;font-weight:700;gap:10px}.add-clause-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;padding:15px}.add-clause-box textarea{border:1px solid #e2e8f0;border-radius:4px;font-size:13px;min-height:60px;padding:8px;resize:vertical;width:100%}.clauses-list{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding-right:5px}.clause-card{border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:6px;font-size:13px}.clause-card.Complied{background:#f0fdf4;border-left-color:#16a34a}.clause-card.Non-Complied{border-left-color:#dc2626}.clause-meta{display:flex;justify-content:space-between;margin-bottom:5px}.page-tag{background:#f1f5f9;border-radius:4px;color:#64748b;font-size:10px;padding:2px 6px}.delete-x{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:16px;line-height:10px}.delete-x:hover{color:red}.clause-actions{display:flex;gap:5px;margin-top:8px}.status-btn{background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;flex:1 1;font-size:10px;opacity:.7;padding:4px}.status-btn:hover{opacity:1}.status-btn.active{background:#f8fafc;border-color:#0f172a;font-weight:700;opacity:1}.pdf-controls{align-items:center;background:#f1f5f9;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:10px}.pdf-btn{background:#fff;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:4px 12px}.pdf-btn:disabled{cursor:not-allowed;opacity:.5}.pdf-scroll-area{background:#525659;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:20px}.react-pdf__Document{align-items:center;display:flex;flex-direction:column}.react-pdf__Page{box-shadow:0 4px 8px #0003;margin-bottom:10px}.react-pdf__Page__textContent{border:1px solid #0000}.react-pdf__Page__annotations{display:none}.clause-card.Pending{background:#fffbeb;border-left-color:#f59e0b}.clause-card.Complied{background:#ecfdf5;border-left-color:#10b981}.clause-card.Non-Complied{background:#fef2f2;border-left-color:#ef4444}.clause-card.Partially.Complied{background:#eff6ff;border-left-color:#3b82f6}.clause-card.Not.Applicable{background:#f1f5f9;border-left-color:#94a3b8}.comment-area{border-top:1px dashed #e2e8f0;border-top:1px dashed var(--border-subtle);margin-top:10px;padding-top:8px}.comment-area textarea{border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;font-size:13px;margin-top:4px;min-height:50px;padding:8px;resize:vertical;width:100%}.comment-actions{display:flex;justify-content:flex-end;margin-top:5px}.ai-comment-btn{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;color:#3b82f6;cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px;transition:all .2s}.ai-comment-btn:hover{background:#e2e8f0}.ai-comment-btn:disabled{cursor:not-allowed;opacity:.6}.status-selector{-webkit-appearance:none;appearance:none;background-color:#f8fafc;background-color:var(--bg-body);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236B7280'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 0 1 1.414 0L10 10.586l3.293-3.293a1 1 0 1 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 0-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;font-size:13px;font-weight:600;padding:8px;width:100%}.tr{min-height:72px}.resp{min-height:90px}.table>[role=rowgroup]{max-height:620px;overflow:auto}@media (max-width:1100px){.tr{align-items:stretch;flex-wrap:wrap}.td{flex:0 0 100%!important;width:100%!important}.resp{min-height:80px}.thead{display:none}}*{box-sizing:border-box}.dashboard-container,.review-root{color:#0f172a;font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding:16px}.review-root .controls,.review-root>div:first-child{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.cancel-btn,.new-btn,.small{background:#fff;border:1px solid #02061714;border-radius:6px;cursor:pointer;padding:8px 10px}.new-btn:active,.small:active{transform:translateY(1px)}.table{--header-bg:linear-gradient(180deg,#075985,#0369a1);background:#f8fafc;border:1px solid #e6eef7;border-radius:8px;box-shadow:0 1px 0 #0a0f1708;overflow:hidden}.thead{align-items:center;background:var(--header-bg);color:#fff;display:flex}.thead>div{font-weight:700;letter-spacing:.2px;padding:12px}.tr{align-items:flex-start;border-bottom:1px solid #0000000a;display:flex;gap:0;min-height:240px;padding:12px 0}.td{overflow:hidden;padding:12px;white-space:normal;word-break:break-word}.td[data-col=sr],.td[id^=sr]{flex:0 0 72px;width:72px}.td[data-col=clause],.td[id^=clause]{flex:0 0 320px;width:320px}.td[data-col^=comment],.td[id^=comment]{flex:0 0 340px;width:340px}.td[data-col^=response],.td[id^=response]{flex:0 0 360px;width:360px}.td[data-col=status],.td[id^=status]{flex:0 0 160px;width:160px}.clause-cell{color:#0f172a;font-size:14px;line-height:1.4;max-height:200px;overflow:auto;padding-right:6px}.clause-cell small{color:#475569;display:block;margin-top:6px}.comment-box{color:#0f172a;font-size:14px;line-height:1.35;max-height:200px;overflow:auto}.comment-box .placeholder{color:#94a3b8}.resp{background:#fff;border:1px solid #d1e8f7;border-radius:6px;color:#0f172a;font-size:14px;line-height:1.35;max-height:180px;min-height:120px;padding:8px;resize:vertical;width:100%}.save-ind{color:#16a34a;font-weight:700}.status-badge{height:54px;line-height:1.1;padding:6px 10px;text-align:center;width:54px}.table .table-body{max-height:620px;overflow:auto}.pdf-placeholder,.react-pdf__Page{position:relative}.pdf-highlight{border-radius:4px;pointer-events:none;position:absolute;z-index:8}@media (max-width:1100px){.tr{align-items:stretch;flex-wrap:wrap;min-height:auto}.td{flex:0 0 100%!important;width:100%!important}.resp{min-height:80px}.thead{display:none}}.clause-card{margin-bottom:12px;padding:12px}.clause-card,.costing-table{background:#fff;border-radius:8px}.costing-table{border-collapse:collapse;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.costing-table thead{background:linear-gradient(180deg,#075985,#0369a1);color:#fff}.costing-table th{font-size:14px;font-weight:600;letter-spacing:.2px;padding:12px 16px;text-align:left}.costing-table tbody tr{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);transition:background-color .2s ease}.costing-table tbody tr:hover{background-color:#f8fafc}.costing-table td{color:#0f172a;color:var(--text-main);font-size:14px;padding:12px 16px;vertical-align:middle}.costing-table tfoot tr{background:#f8fafc;border-top:2px solid #e2e8f0;border-top:2px solid var(--border-subtle)}.costing-table tfoot td{font-weight:600;padding:16px}.category-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;text-transform:capitalize}.category-badge[data-category=Material]{background:#e0f2fe;color:#0369a1}.category-badge[data-category=Labor]{background:#fef3c7;color:#92400e}.category-badge[data-category=Equipment]{background:#f3e8ff;color:#6b21a8}.category-badge[data-category=Service]{background:#dcfce7;color:#15803d}.category-badge[data-category=Other]{background:#f1f5f9;color:#475569}.edit-btn{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;color:#475569;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s ease}.edit-btn:hover{background:#f8fafc;background:var(--bg-body);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.costing-table-inline{background:#fff;border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.costing-table-inline thead{background:linear-gradient(180deg,#075985,#0369a1);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.costing-table-inline th{border-right:1px solid #ffffff1a;font-size:13px;font-weight:600;letter-spacing:.3px;overflow:hidden;padding:12px 8px;position:relative;text-align:left;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;white-space:nowrap}.costing-table-inline th .resize-handle{background:#0000;bottom:0;cursor:col-resize;position:absolute;right:0;top:0;transition:background .2s ease;width:6px}.costing-table-inline th .resize-handle.resizing,.costing-table-inline th .resize-handle:hover{background:#fff6}.costing-table-inline th:last-child{border-right:none}.costing-table-inline th:last-child .resize-handle{display:none}.costing-table-inline tbody tr{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);transition:background-color .15s ease}.costing-table-inline tbody tr:hover{background-color:#f8fafc}.costing-table-inline td{border-right:1px solid #f1f5f9;color:#0f172a;color:var(--text-main);font-size:14px;overflow:hidden;padding:8px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.costing-table-inline td:last-child{border-right:none}.costing-table-inline tfoot tr{background:#f8fafc;border-top:2px solid #e2e8f0;border-top:2px solid var(--border-subtle)}.costing-table-inline tfoot td{font-weight:600;padding:12px 8px}.editable-cell:hover{background-color:#eff6ff;outline:1px dashed #93c5fd}.costing-table-inline input,.costing-table-inline textarea{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-primary);font-size:14px}.costing-table-inline td:nth-child(5){text-align:center}.costing-table-inline td:nth-child(4),.costing-table-inline td:nth-child(6),.costing-table-inline td:nth-child(7){text-align:right}.costing-table-inline .col-checkbox{min-width:40px;width:40px}.costing-table-inline .col-srno{min-width:50px;width:50px}.costing-table-inline .col-itemname{min-width:100px;width:180px}.costing-table-inline .col-description{min-width:100px;width:200px}.costing-table-inline .col-qty,.costing-table-inline .col-unit{min-width:50px;width:70px}.costing-table-inline .col-make,.costing-table-inline .col-model{min-width:60px;width:100px}.costing-table-inline .col-totalprice,.costing-table-inline .col-unitprice{min-width:70px;width:100px}.costing-table-inline .col-actions{min-width:60px;width:80px}.compliance-container-minimized{display:flex;gap:20px;height:calc(100vh - 200px);min-height:600px}.pdf-viewer-pane-minimized{align-items:center;background:#0000;border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;height:40px;justify-content:center;max-height:40px;max-width:100px;min-height:40px;min-width:100px;overflow:visible;padding:0;width:100px}.pdf-viewer-pane-minimized .pdf-header{display:flex;flex-direction:column;gap:10px}.clauses-pane-fullwidth,.compliance-container-minimized .clauses-pane{flex:1 1;max-width:none;width:calc(100% - 100px)}.accessory-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.accessory-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:90vw;overflow:hidden;width:600px}.accessory-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.accessory-modal-header h3{color:#0f172a;font-size:18px;margin:0}.accessory-modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:24px;line-height:1;padding:0}.accessory-modal-close:hover{color:#ef4444}.accessory-modal-body{flex:1 1;overflow-y:auto;padding:20px 24px}.accessory-item{align-items:flex-start;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;margin-bottom:10px;padding:12px;transition:all .2s}.accessory-item:hover{background:#f8fafc;border-color:#3b82f6}.accessory-item.selected{background:#eff6ff;border-color:#3b82f6}.accessory-checkbox{accent-color:#3b82f6;cursor:pointer;height:20px;margin-top:2px;width:20px}.accessory-details{flex:1 1}.accessory-name{color:#0f172a;font-weight:600;margin-bottom:4px}.accessory-desc{color:#64748b;font-size:13px;margin-bottom:4px}.accessory-meta{color:#94a3b8;font-size:12px}.accessory-modal-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 24px}.accessory-select-all{align-items:center;color:#475569;cursor:pointer;display:flex;font-size:14px;gap:8px}.accessory-modal-actions{display:flex;gap:12px}.suggest-btn{background:#fbbf24;border:none;border-radius:3px;cursor:pointer;font-size:10px;padding:2px 4px;transition:all .2s}.suggest-btn:hover{background:#f59e0b;transform:scale(1.1)}.suggest-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.common-items-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.common-items-btn:hover{background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 4px 12px #0ea5e94d;transform:translateY(-1px)}.proposal-writer-container{background-color:#f8fafc;background-color:var(--bg-body);margin:0 auto;max-width:1400px;padding:32px}.proposal-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.proposal-editor{grid-gap:20px;display:grid;gap:20px;grid-template-columns:300px 1fr;margin-top:20px}.editor-sidebar{background:#fff;border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);height:-webkit-fit-content;height:fit-content;max-height:calc(100vh - 300px);overflow-y:auto;padding:20px}.sections-list{display:flex;flex-direction:column;gap:8px}.section-item{align-items:center;background:#f9fafb;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:12px;transition:all .2s}.section-item:hover{background:#f1f5f9}.section-item.active{background:#e0f2fe;border-color:#0284c7}.section-controls{display:flex;gap:5px;opacity:0;transition:opacity .2s}.section-item:hover .section-controls{opacity:1}.editor-main{background:#fff;border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);min-height:500px;padding:30px}.section-title-input{border:2px solid #e5e7eb;border-radius:6px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-primary);font-size:24px;font-weight:600;margin-bottom:15px;padding:12px;width:100%}.section-title-input:focus{border-color:#0284c7;outline:none}.section-content-textarea{border-radius:6px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-primary);font-size:15px;line-height:1.6;min-height:400px;padding:15px}.section-content-textarea:focus{border-color:#0284c7}.insertion-section{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:20px}.insertion-section h4{color:#0369a1;margin-top:0}.btn-insert{background:#fff;border:2px solid #0369a1;border-radius:6px;color:#0369a1;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-insert:hover:not(:disabled){background:#0369a1;color:#fff}.btn-insert:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#0369a1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary:hover:not(:disabled){background:#075985}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#fff;border:2px solid #0369a1;border-radius:6px;color:#0369a1;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.btn-secondary:hover{background:#f0f9ff}.btn-success{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.btn-success:hover{background:#059669}.btn-small{background:#0369a1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s}.btn-small:hover:not(:disabled){background:#075985}.btn-small:disabled{cursor:not-allowed;opacity:.5}.content-library-item{transition:all .2s}.content-library-item:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}@media (max-width:1024px){.proposal-editor{grid-template-columns:1fr}.editor-sidebar{max-height:400px}}@media (max-width:768px){.proposal-writer-container{padding:16px}.proposal-header{align-items:flex-start;flex-direction:column;gap:15px}.proposal-header>div:last-child,.proposal-header>div:last-child button{width:100%}}.formatting-toolbar{background:linear-gradient(180deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;box-shadow:inset 0 1px 2px #0000000d;display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;padding:10px}.format-btn{align-items:center;background:#fff;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;height:32px;justify-content:center;min-width:32px;padding:4px 8px;transition:all .15s ease}.format-btn:hover{background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.format-btn:active{background:#dee2e6;transform:translateY(0)}.format-btn[style*="background: #3DCD58"]{border-color:#3dcd58}.format-btn[style*="background: #3DCD58"]:hover{background:#2db44a!important;border-color:#2db44a}.section-content-textarea{background:#fefefe;border:2px solid #e5e7eb;border-radius:8px;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.7;min-height:450px;padding:18px;resize:vertical;width:100%}.section-content-textarea:focus{border-color:#3dcd58;box-shadow:0 0 0 3px #3dcd5826;outline:none}.quick-insert-container{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding:10px}.rich-editor-container{background:#fff;border-radius:8px;overflow:hidden}.rich-editor-container .ql-toolbar{background:#f8fafc;border:none;border-bottom:1px solid #e2e8f0;padding:12px}.rich-editor-container .ql-container{border:none;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px}.rich-editor-container .ql-editor{line-height:1.7;min-height:350px;padding:20px}.rich-editor-container .ql-editor:focus{outline:none}.rich-editor-container .ql-editor table{border-collapse:collapse;margin:15px 0;width:100%}.rich-editor-container .ql-editor table td,.rich-editor-container .ql-editor table th{border:1px solid #e2e8f0;padding:10px}.rich-editor-container .ql-editor table th{background:#f1f5f9;font-weight:600}.rich-editor-container .ql-editor h1{color:#1e293b;font-size:24px;margin:20px 0 10px}.rich-editor-container .ql-editor h2{color:#334155;font-size:20px;margin:18px 0 8px}.rich-editor-container .ql-editor h3{color:#475569;font-size:16px;margin:15px 0 6px}.rich-editor-container .ql-editor ol,.rich-editor-container .ql-editor ul{margin:10px 0;padding-left:25px}.rich-editor-container .ql-editor li{margin:5px 0}.rich-editor-container .ql-editor blockquote{border-left:4px solid #3dcd58;color:#64748b;font-style:italic;margin:15px 0;padding-left:15px}.rich-editor-container .ql-editor pre{background:#1e293b;border-radius:6px;color:#e2e8f0;font-family:Consolas,Monaco,monospace;overflow-x:auto;padding:15px}.rich-editor-container .ql-toolbar .ql-picker-label.ql-active,.rich-editor-container .ql-toolbar .ql-picker-label:hover,.rich-editor-container .ql-toolbar button.ql-active,.rich-editor-container .ql-toolbar button:hover{color:#3dcd58!important}.rich-editor-container .ql-toolbar button.ql-active .ql-stroke,.rich-editor-container .ql-toolbar button:hover .ql-stroke{stroke:#3dcd58!important}.rich-editor-container .ql-toolbar button.ql-active .ql-fill,.rich-editor-container .ql-toolbar button:hover .ql-fill{fill:#3dcd58!important}.sld-container{min-height:calc(100vh - 200px);padding:20px}.sld-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.sld-main-content{display:flex;gap:20px;min-height:500px}.sld-left-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;max-height:calc(100vh - 350px);min-width:280px;overflow-y:auto;padding:15px;width:280px}.sld-right-panel{display:flex;flex:1 1;flex-direction:column;gap:15px}.sld-canvas{background:#fff;border:2px dashed #e2e8f0;border-radius:12px;flex:1 1;min-height:450px;overflow:hidden;position:relative}.sld-canvas:hover{border-color:#94a3b8}.sld-items-list{display:flex;flex-direction:column;gap:8px}.sld-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;transition:all .2s}.sld-item:hover:not(.added){background:#f0f9ff;border-color:#2563eb;transform:translateX(3px)}.sld-item.added{background:#f0fdf4;border-color:#86efac;opacity:.7}.sld-item-name{color:#1e293b;font-size:13px;font-weight:500;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sld-item-details{color:#64748b;font-size:11px}.sld-node{align-items:center;background:#fff;border:2px solid #64748b;border-radius:8px;cursor:grab;display:flex;flex-direction:column;justify-content:center;min-height:80px;padding:10px;transition:box-shadow .2s,border-color .2s;-webkit-user-select:none;user-select:none;width:120px;z-index:10}.sld-node:hover{box-shadow:0 4px 12px #00000026}.sld-node.selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.sld-node.connectable{animation:pulse 1.5s infinite}.sld-node:active{cursor:grabbing}.sld-node-icon{font-size:24px;margin-bottom:4px}.sld-node-label{color:#1e293b;font-size:11px;font-weight:500;line-height:1.2;text-align:center;word-break:break-word}.sld-node-qty{background:#2563eb;border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;position:absolute;right:-8px;top:-8px}.sld-empty-state{color:#94a3b8;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.sld-empty-state h3{color:#64748b;margin:0 0 10px}.sld-empty-state p{font-size:14px;margin:0}.sld-node-details{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:15px}.sld-details-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.sld-details-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:20px;line-height:1;padding:0}.sld-details-close:hover{color:#ef4444}.sld-details-content{margin-bottom:15px}.sld-detail-row{display:flex;font-size:13px;margin-bottom:6px}.sld-detail-label{color:#64748b;flex-shrink:0;width:80px}.sld-details-actions{border-top:1px solid #e2e8f0;padding-top:10px}.sld-conn-btn{background:#fff;border:1px solid;border-radius:4px;cursor:pointer;font-size:11px;padding:4px 8px;transition:all .2s}.sld-conn-btn:hover{opacity:.8;transform:scale(1.02)}.sld-delete-btn{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;cursor:pointer;font-size:13px;padding:8px 16px;width:100%}.sld-delete-btn:hover{background:#fee2e2}.sld-description-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:20px;overflow:hidden}.sld-description-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:15px 20px}.sld-description-content{color:#1e293b;font-size:14px;line-height:1.6;max-height:400px;overflow-y:auto;padding:20px}.sld-description-actions{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:10px;padding:15px 20px}.sld-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.sld-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.sld-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px}.sld-modal-header h3{font-size:18px;margin:0}.sld-modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:24px;line-height:1;padding:0}.sld-modal-close:hover{color:#ef4444}.sld-modal-body{max-height:60vh;overflow-y:auto;padding:20px}.sld-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}.sld-form-group{margin-bottom:15px}.sld-form-group label{color:#475569;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.sld-form-group input,.sld-form-group select,.sld-form-group textarea{border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.sld-form-group input:focus,.sld-form-group select:focus,.sld-form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.sld-form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.sld-node-eng{align-items:center;background:#fff;border:2px solid #64748b;border-radius:6px;cursor:grab;display:flex;flex-direction:column;justify-content:flex-start;overflow:visible;padding:3px;transition:box-shadow .2s,border-color .2s;-webkit-user-select:none;user-select:none;z-index:10}.sld-node-eng:hover{box-shadow:0 4px 12px #00000026}.sld-node-eng.selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.sld-node-eng.connectable{animation:pulse 1.5s infinite}.sld-node-eng:active{cursor:grabbing}.sld-symbol-container{align-items:center;display:flex;flex-shrink:0;justify-content:center}.sld-symbol{flex-shrink:0}.sld-label-container{align-items:center;background:#f8fafc;border-radius:0 0 4px 4px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;justify-content:center;margin-top:2px;padding:2px 0;width:100%}.sld-node-label-eng{color:#1e293b;font-size:9px;font-weight:600;line-height:1.2;max-width:100%;overflow:hidden;padding:1px 3px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.sld-node-qty-inline{color:#64748b;font-size:8px;font-weight:500}.sld-palette-groups{display:flex;flex-direction:column;gap:8px}.sld-palette-group{background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.sld-palette-group-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 10px}.sld-palette-group-header:hover{background:#f1f5f9}.sld-palette-items{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(2,1fr);padding:6px}.sld-palette-item{align-items:center;background:#fafafa;border:1px solid #e2e8f0;border-left-width:3px;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;padding:6px 4px;transition:all .2s}.sld-palette-item:hover{background:#f0f9ff;border-color:#2563eb;transform:scale(1.02)}.sld-palette-item svg{margin-bottom:2px}.sld-legend-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:20px;overflow:hidden}.sld-legend-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 20px}.sld-legend-header h4{font-size:14px;margin:0}.sld-legend-content{display:flex;flex-wrap:wrap;gap:40px;padding:15px 20px}.sld-legend-section h5{color:#64748b;font-size:12px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.sld-legend-items{display:flex;flex-wrap:wrap;gap:15px}.sld-legend-item{align-items:center;color:#475569;display:flex;font-size:12px;gap:8px}.sld-canvas.with-grid{background-image:linear-gradient(#e2e8f0 1px,#0000 0),linear-gradient(90deg,#e2e8f0 1px,#0000 0);background-size:20px 20px}.quill{background:#fff}.ql-toolbar.ql-snow{background:#f9fafb;border:none;border-bottom:1px solid #d1d5db;border-radius:6px 6px 0 0;padding:12px}.ql-container.ql-snow{border:none;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6}.ql-editor{min-height:400px;padding:20px}.ql-editor.ql-blank:before{color:#9ca3af;font-style:normal}.ql-toolbar.ql-snow .ql-picker-label.ql-active,.ql-toolbar.ql-snow .ql-picker-label:hover,.ql-toolbar.ql-snow button.ql-active,.ql-toolbar.ql-snow button:hover{color:#2563eb}.ql-toolbar.ql-snow .ql-stroke{stroke:#374151}.ql-toolbar.ql-snow .ql-fill{fill:#374151}.ql-toolbar.ql-snow .ql-picker-label:hover .ql-stroke,.ql-toolbar.ql-snow button:hover .ql-stroke{stroke:#2563eb}.ql-toolbar.ql-snow .ql-picker-label:hover .ql-fill,.ql-toolbar.ql-snow button:hover .ql-fill{fill:#2563eb}.ql-editor h1{font-size:2em;font-weight:700;margin-bottom:.67em;margin-top:.67em}.ql-editor h2{font-size:1.5em;font-weight:700;margin-bottom:.83em;margin-top:.83em}.ql-editor h3{font-size:1.17em;font-weight:700;margin-bottom:1em;margin-top:1em}.ql-editor ol,.ql-editor ul{margin:1em 0}.ql-editor li{margin:.5em 0}.ql-editor a{color:#2563eb;text-decoration:underline}.ql-editor img{height:auto;max-width:100%}.ql-editor table{border-collapse:collapse;margin:1em 0;width:100%}.ql-editor table td,.ql-editor table th{border:1px solid #d1d5db;padding:8px}.ql-editor table th{background-color:#f3f4f6;font-weight:600}.vendor-management-container{margin:0 auto;max-width:1400px;padding:32px}.vendor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.vendor-header h1{font-size:28px;font-weight:700;margin:8px 0 0}.back-button{background:none;border:none;color:#555;cursor:pointer;font-size:16px;margin-bottom:8px;padding:8px 0}.back-button:hover{color:#000}.add-vendor-button{background:#2563eb;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.add-vendor-button:hover{background:#1d4ed8;background:var(--primary-hover)}.vendors-table-container{background:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);padding:20px}.vendors-table{border-collapse:collapse;width:100%}.vendors-table th{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-subtle);color:#0f172a;color:var(--text-main);font-weight:600;padding:12px;text-align:left}.vendors-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);color:#475569;color:var(--text-secondary);padding:12px}.vendors-table tr:hover{background:#f8fafc;background:var(--bg-body)}.rating{color:#fbbf24;font-size:14px}.action-button,.delete-button,.edit-button{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-size:13px;margin-right:8px;padding:6px 12px;transition:all .2s}.edit-button:hover{background:#f8fafc;background:var(--bg-body);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.delete-button{color:#dc2626}.delete-button:hover{background:#fef2f2;border-color:#dc2626}.action-button:hover{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);color:#fff}.action-button:disabled{cursor:not-allowed;opacity:.5}.action-button:disabled:hover{background:#fff;border-color:#e2e8f0;border-color:var(--border-subtle);color:inherit}.modal-overlay{background:#00000080}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow-y:auto;padding:24px}.modal-content h2{font-size:22px;margin-bottom:20px;margin-top:0}.form-group{margin-bottom:16px}.form-group label{color:#0f172a;color:var(--text-main);font-size:14px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;box-sizing:border-box;color:#0f172a;color:var(--text-main);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-primary);font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions button{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.modal-actions button.primary{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);color:#fff}.modal-actions button.primary:hover{background:#1d4ed8;background:var(--primary-hover)}.modal-actions button:not(.primary):hover{background:#f8fafc;background:var(--bg-body)}.vendor-automation-container{background:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);padding:24px}.automation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.automation-header h2{font-size:24px;font-weight:700;margin:0}.config-button{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-size:14px;padding:10px 16px;transition:all .2s}.config-button:hover{background:#f8fafc;background:var(--bg-body);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.automation-tabs{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-subtle);display:flex;gap:8px;margin-bottom:24px}.automation-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#475569;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:12px 20px;transition:all .2s}.automation-tabs button.active{border-bottom-color:#2563eb;border-bottom-color:var(--primary);color:#2563eb;color:var(--primary)}.automation-tabs button:hover:not(.active){color:#0f172a;color:var(--text-main)}.tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.tab-header h3{font-size:20px;font-weight:700;margin:0}.primary-button{background:#2563eb;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.primary-button:hover{background:#1d4ed8;background:var(--primary-hover)}.empty-state{color:#475569;color:var(--text-secondary);padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin-bottom:20px}.empty-state button{background:#2563eb;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .2s}.empty-state button:hover{background:#1d4ed8;background:var(--primary-hover)}.subsystems-table{border-collapse:collapse;width:100%}.subsystems-table th{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-subtle);color:#0f172a;color:var(--text-main);font-weight:600;padding:12px;text-align:left}.subsystems-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);color:#475569;color:var(--text-secondary);padding:12px}.subsystems-table tr:hover{background:#f8fafc;background:var(--bg-body)}.vendor-list{margin:20px 0;max-height:400px;overflow-y:auto}.vendor-item{align-items:center;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:background .2s}.vendor-item:hover{background:#f8fafc;background:var(--bg-body)}.vendor-item input[type=checkbox]{cursor:pointer;height:18px;width:18px}.vendor-item span{color:#0f172a;color:var(--text-main);flex:1 1;font-size:14px}.info-text{font-size:14px;margin-top:12px}.info-text,.loading{color:#475569;color:var(--text-secondary)}.loading{font-size:16px;padding:40px;text-align:center}.status-badge{border-radius:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.vendor-tracking-container{margin-top:20px}.tracking-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.stat-card{border:1px solid var(--border-subtle);border-radius:8px;padding:20px;text-align:center;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.stat-card.warning{background:#fef2f2;border-color:#fecaca}.stat-value{font-size:32px;font-weight:700;margin-bottom:8px}.stat-label{color:#475569;color:var(--text-secondary);font-size:13px;letter-spacing:.5px;text-transform:uppercase}.stat-card.highlight .stat-label{color:#ffffffe6}.stat-card.warning .stat-value{color:#dc2626}.tracking-filters{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:8px;display:flex;gap:20px;margin-bottom:20px;padding:16px}.filter-group{align-items:center;display:flex;gap:10px}.filter-group label{color:#0f172a;color:var(--text-main);font-size:14px;font-weight:600}.filter-group select{border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px}.tracking-table-container{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.tracking-table{border-collapse:collapse;width:100%}.tracking-table th{background:#f8fafc;background:var(--bg-body);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-subtle);color:#0f172a;color:var(--text-main);font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 12px;text-align:left;text-transform:uppercase}.tracking-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);color:#475569;color:var(--text-secondary);font-size:14px;padding:12px}.tracking-table tbody tr:hover{background:#f8fafc;background:var(--bg-body)}.vendor-comparison-container{margin-top:20px}.comparison-header{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px}.comparison-header h3{font-size:20px;font-weight:700;margin:0 0 4px}.subsystem-selector{align-items:center;display:flex;gap:10px}.subsystem-selector label{font-size:14px;font-weight:600}.subsystem-selector select{border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-size:14px;min-width:200px;padding:8px 12px}.comparison-table-container{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:24px;overflow-x:auto}.comparison-table{min-width:1000px}.comparison-table th{background:var(--bg-body);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-subtle);color:#0f172a;color:var(--text-main);font-size:13px;letter-spacing:.5px;padding:14px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.comparison-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);color:#475569;color:var(--text-secondary);font-size:14px;padding:12px}.comparison-table tbody tr:hover{background:#f8fafc;background:var(--bg-body)}.comparison-table .winner-row{background:#f0fdf4}.comparison-table .winner-row:hover{background:#dcfce7}.select-winner-button{background:#2563eb;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background .2s}.select-winner-button:hover{background:#1d4ed8;background:var(--primary-hover)}.scoring-legend{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:8px;padding:20px}.scoring-legend h4{color:#0f172a;color:var(--text-main);font-size:16px;font-weight:700;margin:0 0 16px}.legend-items{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.legend-item{align-items:center;color:#475569;color:var(--text-secondary);display:flex;font-size:14px;gap:10px}.legend-weight{background:#2563eb;background:var(--primary);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 10px}.score-badge{align-items:center;display:inline-flex;justify-content:center;min-width:60px}.quote-uploader-container{max-width:800px}.quote-uploader-container h3{font-size:20px;font-weight:700;margin:0 0 20px}.upload-section{align-items:center;background:#f8fafc;background:var(--bg-body);border:2px dashed #e2e8f0;border:2px dashed var(--border-subtle);border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:20px}.file-input-wrapper{flex:1 1}.file-input-label{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;color:#475569;color:var(--text-secondary);cursor:pointer;display:block;font-weight:600;padding:12px 20px;text-align:center;transition:all .2s}.file-input-label:hover{border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.extract-button{background:#2563eb;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .2s;white-space:nowrap}.extract-button:hover:not(:disabled){background:#1d4ed8;background:var(--primary-hover)}.extract-button:disabled{cursor:not-allowed;opacity:.6}.extracted-data-section{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:8px;padding:24px}.section-header{align-items:center;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.section-header h4{font-size:18px;font-weight:700;margin:0}.edit-toggle-button{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.edit-toggle-button:hover{background:#f8fafc;background:var(--bg-body);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.extracted-data-form{margin-bottom:24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.read-only-field{align-items:center;background:#f8fafc;background:var(--bg-body);color:#0f172a;color:var(--text-main);display:flex;min-height:42px;padding:10px}.items-preview,.read-only-field{border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:6px}.items-preview{margin-top:8px;overflow:hidden}.items-table{border-collapse:collapse;width:100%}.items-table th{background:#f8fafc;background:var(--bg-body);font-weight:600;text-align:left}.items-table td,.items-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);font-size:13px;padding:10px}.items-table td{color:#475569;color:var(--text-secondary)}.items-table tbody tr:last-child td{border-bottom:none}.uploader-actions{display:flex;gap:12px;justify-content:flex-end}.cancel-button,.save-button{border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.cancel-button{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);color:#475569;color:var(--text-secondary)}.cancel-button:hover{background:#f8fafc;background:var(--bg-body)}.save-button{background:#2563eb;background:var(--primary);border:none;color:#fff}.save-button:hover{background:#1d4ed8;background:var(--primary-hover)}.upload-quote-button{background:#2563eb;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:background .2s}.upload-quote-button:hover{background:#1d4ed8;background:var(--primary-hover)}.large-modal{max-width:900px}body{background-color:#f7f9fc;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0}.dashboard-container{margin:0 auto;max-width:1400px;padding:20px}.new-btn{background:linear-gradient(135deg,#009e4d,#3dcd58);border:none;border-radius:10px;box-shadow:0 4px 15px #3dcd5866;color:#fff;cursor:pointer;font-weight:600;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.new-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.new-btn:hover:not(:disabled):before{left:100%}.new-btn:hover:not(:disabled){box-shadow:0 6px 20px #3dcd5899;transform:translateY(-2px)}.new-btn:active:not(:disabled){transform:translateY(0)}.new-btn:disabled{animation:none;background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.6}.cancel-btn{background-color:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#4b5563;cursor:pointer;font-weight:600;padding:10px 22px;transition:all .3s ease}.cancel-btn:hover{background-color:#f9fafb;border-color:#cbd5e1;transform:translateY(-1px)}.stats-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin:24px 0 32px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0000000d;overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:after{background:linear-gradient(90deg,#3dcd58,#009e4d);bottom:0;content:"";height:4px;left:0;position:absolute;width:100%}.stat-card:before{background:radial-gradient(circle,#3dcd5833 0,#0000 70%);border-radius:50%;content:"";height:100px;position:absolute;right:0;top:0;transform:translate(30%,-30%);width:100px}.stat-card:hover{box-shadow:0 15px 40px #0000001a;transform:translateY(-5px)}.stat-card:nth-child(2){box-shadow:0 10px 30px #0000000d}.stat-card:nth-child(2):hover{box-shadow:0 15px 40px #0000001a}.stat-card:nth-child(3){box-shadow:0 10px 30px #0000000d}.stat-card:nth-child(3):hover{box-shadow:0 15px 40px #0000001a}.stat-card div:first-child{color:#64748b;font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.stat-card div:last-child{color:#009e4d;font-size:36px;font-weight:800;text-shadow:none}.tender-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #009e4d;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin-bottom:16px;overflow:hidden;padding:18px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.tender-card:before{background:linear-gradient(180deg,#009e4d,#3dcd58);content:"";height:100%;left:0;position:absolute;top:0;transition:width .3s ease;width:4px}.tender-card:hover:before{width:6px}.tender-card:hover{border-color:#cbd5e1;box-shadow:0 8px 24px #3dcd5826;transform:translateY(-3px) translateX(2px)}.card-title{color:#007a3e;font-size:16px;font-weight:700;line-height:1.4;margin-bottom:6px}.client-name{background-color:#f1f5f9;border-radius:6px;color:#64748b;display:inline-block;font-size:12px;font-style:normal;font-weight:500;margin-bottom:10px;padding:3px 8px}.card-desc{color:#475569;font-size:13px;line-height:1.6;margin-bottom:12px}.card-meta{border-top:1px solid #e2e8f0;display:flex;font-size:12px;font-weight:600;justify-content:space-between;margin-top:12px;padding-top:12px}.card-meta span{background-color:#f0fdf4;border-radius:6px;color:#10b981;padding:4px 8px}.card-meta span:last-child{background-color:#fffbeb;color:#f59e0b}.pipeline-container{align-items:flex-start;display:flex;gap:20px}.column{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000008;flex:1 1;min-height:600px;padding:20px;transition:all .3s ease}.column:hover{box-shadow:0 6px 20px #0000000f}.column-title{align-items:center;background:linear-gradient(135deg,#009e4d,#3dcd58);border-radius:10px;box-shadow:0 4px 12px #3dcd5833;color:#1e293b;color:#fff;display:flex;font-size:13px;font-weight:700;gap:8px;justify-content:center;letter-spacing:1px;margin-bottom:16px;padding:10px 14px;text-transform:uppercase}.move-btn-group{display:flex;gap:8px;justify-content:space-between;margin-top:12px}.move-btn{background:linear-gradient(135deg,#009e4d,#3dcd58);border:none;border-radius:8px;box-shadow:0 2px 8px #3dcd584d;color:#fff;cursor:pointer;flex:1 1;font-size:11px;font-weight:600;padding:8px 12px;transition:all .3s ease}.move-btn:hover{box-shadow:0 4px 12px #3dcd5880;transform:translateY(-2px)}.move-btn:active{transform:translateY(0)}.modal-overlay{align-items:center;animation:fadeIn .3s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@supports not ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.modal-overlay{background:#0f172ab3}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:680px;padding:36px;transition:transform .3s cubic-bezier(.4,0,.2,1);width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{border-bottom:3px solid #009e4d;color:#007a3e;font-size:26px;font-weight:700;margin-bottom:24px;padding-bottom:12px}@supports ((-webkit-background-clip:text) or (background-clip:text)) or (-webkit-background-clip:text){.modal-content h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#009e4d,#3dcd58);-webkit-background-clip:text;background-clip:text;border-bottom:3px solid #e2e8f0;color:#0000}}.form-group label{color:#475569;display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group input:not([type=file]),.form-group select,.form-group textarea{background-color:#fff;border:2px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#333;font-size:14px;margin-top:6px;padding:12px 14px;transition:all .3s ease;width:100%}.form-group input:focus:not([type=file]),.form-group select:focus,.form-group textarea:focus{background-color:#fff;border-color:#3dcd58;box-shadow:0 0 0 4px #3dcd581a;outline:none}.form-group input[type=file]{border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;padding:8px;transition:all .3s ease}.form-group input[type=file]:hover{background-color:#f8fafc;border-color:#3dcd58}.dashboard-container .header{align-items:center;background:linear-gradient(135deg,#009e4d,#3dcd58);border-radius:16px;box-shadow:0 10px 30px #3dcd584d;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.dashboard-container .header h1{color:#fff;font-size:32px;font-weight:800;margin:0 0 4px;text-shadow:0 2px 10px #0000001a}.dashboard-container .header p{color:#ffffffe6;font-size:15px;font-weight:500;margin:0}.delete-btn{background:#ef44441a;border:none;border-radius:8px;color:#ef4444;cursor:pointer;font-size:16px;padding:6px 8px;position:absolute;right:12px;top:12px;transition:all .3s ease}.delete-btn:hover{background-color:#ef4444;color:#fff;transform:scale(1.1)}.column>div:last-child{background-color:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;color:#94a3b8;font-size:14px;font-style:italic;margin-top:40px;padding:30px;text-align:center}@media (max-width:1024px){.pipeline-container{flex-direction:column}.column{margin-bottom:20px;width:100%}.form-grid,.stats-row{grid-template-columns:1fr}.dashboard-container .header{flex-direction:column;gap:16px;text-align:center}}.dashboard-container{animation:pageLoad .5s ease}@keyframes pageLoad{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#009e4d,#3dcd58);border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#007a3e,#009e4d)}.new-btn:disabled{animation:pulse 1.5s infinite}.form-group input:valid:not([type=file]),.form-group select:valid,.form-group textarea:valid{border-color:#10b981}.form-group input:invalid:not(:placeholder-shown):not([type=file]),.form-group select:invalid:not(:placeholder-shown),.form-group textarea:invalid:not(:placeholder-shown){border-color:#ef4444}.tender-card>div[style*=color]{background:linear-gradient(135deg,#009e4d,#3dcd58);border-radius:8px;box-shadow:0 2px 8px #3dcd584d;color:#fff;display:inline-block;font-size:11px;font-weight:600;margin-top:12px;padding:6px 12px}.column-title,.dashboard-container .header h1,.dashboard-container .header p,.move-btn,.new-btn,.tender-card>div[style*=color]{color:#fff!important}.column,.stat-card,.tender-card{color:#333}.archive-toggle-btn{background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:10px;box-shadow:0 4px 15px #6b72804d;color:#fff;cursor:pointer;font-weight:600;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.archive-toggle-btn:hover{box-shadow:0 6px 20px #6b728080;transform:translateY(-2px)}.archive-toggle-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 15px #8b5cf666}.archive-toggle-btn.active:hover{box-shadow:0 6px 20px #8b5cf699}.move-btn-won{background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 2px 8px #10b9814d!important}.move-btn-won:hover{box-shadow:0 4px 12px #10b98180!important}.move-btn-lost{background:linear-gradient(135deg,#ef4444,#dc2626)!important;box-shadow:0 2px 8px #ef44444d!important}.move-btn-lost:hover{box-shadow:0 4px 12px #ef444480!important}.move-btn-archive{background:linear-gradient(135deg,#f59e0b,#d97706)!important;box-shadow:0 2px 8px #f59e0b4d!important}.move-btn-archive:hover{box-shadow:0 4px 12px #f59e0b80!important}.review-root{color:#0f172a;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;padding:18px}.controls{gap:12px;justify-content:space-between;margin-bottom:12px}.controls,.left-controls,.right-controls{align-items:center;display:flex;flex-wrap:wrap}.left-controls,.right-controls{gap:8px}.search-input{min-width:220px;padding:8px 10px}.column-select,.search-input{border:1px solid #e6eef7;border-radius:8px}.column-select{padding:8px}.review-info-bar{background:#f1f5f9;border-radius:6px;color:#64748b;font-size:13px;margin-bottom:12px;padding:10px 15px}.review-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:calc(100vh - 250px);overflow-x:auto;overflow-y:auto}.review-table-inline{background:#fff;border-collapse:collapse;font-size:14px;min-width:1000px;table-layout:fixed;width:100%}.review-table-inline thead{background:linear-gradient(180deg,#075985,#0369a1);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.review-table-inline th{border-right:1px solid #ffffff1a;font-size:13px;font-weight:600;letter-spacing:.3px;overflow:hidden;padding:12px 8px;position:relative;text-align:left;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.review-table-inline th:last-child{border-right:none}.th-content{align-items:center;display:flex;gap:8px;justify-content:space-between}.col-resize-handle{background:#0000;bottom:0;cursor:col-resize;position:absolute;right:0;top:0;transition:background .2s ease;width:6px}.col-resize-handle.resizing,.col-resize-handle:hover{background:#fff6}.review-table-inline th:last-child .col-resize-handle{display:none}.review-table-inline tbody tr{border-bottom:1px solid #e2e8f0;position:relative;transition:background-color .15s ease}.review-table-inline tbody tr:nth-child(2n){background-color:#f9fafb}.review-table-inline tbody tr:hover{background-color:#f0f9ff}.review-table-inline td{border-right:1px solid #f1f5f9;color:#0f172a;font-size:14px;overflow:hidden;padding:10px 8px;vertical-align:top}.review-table-inline td:last-child{border-right:none}.cell-checkbox{text-align:center;vertical-align:middle}.cell-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.cell-sr{color:#475569;font-weight:600;text-align:center}.cell-clause,.cell-comment,.cell-response{overflow:auto}.cell-status{text-align:center;vertical-align:middle}.clause-cell{display:flex;flex-direction:column;gap:6px}.clause-title{color:#0f172a;font-size:13px;font-weight:700}.collapsible-content{color:#475569;font-size:13px;line-height:1.5;max-height:6em;overflow:hidden;transition:max-height .2s ease}.collapsible-content.open{max-height:1000px}.collapsible-toggle{background:#0000;border:none;color:#0369a1;cursor:pointer;font-size:12px;font-weight:600;margin-top:6px;padding:0}.collapsible-toggle:hover{color:#075985;text-decoration:underline}.comment-content{color:#475569;font-size:13px;line-height:1.5;white-space:pre-wrap}.save-indicator{font-size:11px;margin-top:4px;min-height:16px}.save-indicator .saving{color:#64748b}.save-indicator .saved{color:#10b981;font-weight:600}.save-indicator .error{color:#ef4444;font-weight:600}.status-badge{border-radius:999px;font-weight:700;padding:6px 12px}.status-open{background:#fef3c7;color:#92400e}.status-closed{background:#d1fae5;color:#065f46}.row-resize-handle{align-items:center;background:#0000;bottom:0;cursor:row-resize;display:flex;height:10px;justify-content:center;left:0;position:absolute;right:0;transition:background .2s ease;z-index:5}.row-resize-handle:hover{background:linear-gradient(180deg,#0000 0,#0369a126)}.row-resize-icon{background:#e2e8f0;border-radius:4px;color:#94a3b8;font-size:10px;opacity:0;padding:1px 6px;transition:opacity .2s}.row-resize-handle:hover .row-resize-icon{background:#e0f2fe;color:#0369a1;opacity:1}.cell-clause::-webkit-scrollbar,.cell-comment::-webkit-scrollbar,.cell-response::-webkit-scrollbar,.review-table-container::-webkit-scrollbar{height:6px;width:6px}.cell-clause::-webkit-scrollbar-track,.cell-comment::-webkit-scrollbar-track,.cell-response::-webkit-scrollbar-track,.review-table-container::-webkit-scrollbar-track{background-color:initial}.cell-clause::-webkit-scrollbar-thumb,.cell-comment::-webkit-scrollbar-thumb,.cell-response::-webkit-scrollbar-thumb,.review-table-container::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:3px}.cell-clause::-webkit-scrollbar-thumb:hover,.cell-comment::-webkit-scrollbar-thumb:hover,.cell-response::-webkit-scrollbar-thumb:hover,.review-table-container::-webkit-scrollbar-thumb:hover{background-color:#00000040}.quick-filters{display:flex;gap:4px}@media (max-width:1100px){.review-table-inline{min-width:800px}.controls{align-items:flex-start;flex-direction:column}.left-controls,.right-controls{width:100%}}@media (max-width:768px){.review-root{padding:12px}.review-table-container{max-height:calc(100vh - 300px)}}.suggestion-indicator{align-items:center;animation:pulse 2s infinite;cursor:help;display:inline-flex;justify-content:center;margin-left:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.suggestion-tooltip-content{color:#fff;font-size:12px;line-height:1.5}.suggestion-header{align-items:center;color:#f59e0b;display:flex;font-size:13px;margin-bottom:8px}.suggestion-item{background:#ffffff1a;border-left:3px solid #f59e0b;border-radius:6px;margin-bottom:8px;padding:8px}.suggestion-item:last-child{margin-bottom:0}.suggestion-clause{color:#94a3b8;font-size:11px;font-style:italic;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-field{align-items:flex-start;display:flex;gap:6px;margin-top:4px}.suggestion-label{color:#3b82f6;font-size:11px;font-weight:600;white-space:nowrap}.suggestion-value{color:#e2e8f0;flex:1 1;font-size:11px}.suggestion-apply-btn{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:10px;padding:2px 8px;white-space:nowrap}.suggestion-apply-btn:hover{background:#2563eb}.comment-input-wrapper{position:relative;width:100%}.ai-generate-btn{bottom:28px;box-shadow:0 2px 4px #8b5cf64d;position:absolute;right:8px;transition:all .2s ease}.ai-generate-btn:hover{box-shadow:0 4px 8px #8b5cf666;transform:scale(1.05)}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--scale-factor));min-width:calc(180px*var(--scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--scale-factor));box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--scale-factor));max-width:calc(180px*var(--scale-factor));padding:calc(6px*var(--scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;position:absolute;text-align:left;text-align:initial;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{display:none;height:0;left:0;position:absolute;top:0;width:0}

/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.auth-container{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;max-width:420px;padding:40px;width:100%}.auth-header{margin-bottom:32px;text-align:center}.auth-header h1{color:var(--text-main);font-size:28px;font-weight:700;margin:0 0 8px}.auth-header p{color:var(--text-secondary);font-size:15px;margin:0}.auth-form .form-group{margin-bottom:20px}.auth-form label{color:var(--text-main);display:block;font-weight:500;margin-bottom:8px}.auth-form input{border:1px solid var(--border-subtle);border-radius:8px;box-sizing:border-box;font-size:15px;padding:12px 16px;transition:all .2s;width:100%}.auth-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.auth-btn{font-size:16px;margin-top:8px;padding:14px;width:100%}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:20px;padding:12px 16px}.auth-footer{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:var(--text-secondary);margin:0}.auth-footer a{color:var(--primary);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.google-btn{align-items:center;background:#fff;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-main);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;justify-content:center;padding:14px 20px;transition:all .2s;width:100%}.google-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 8px #00000014}.google-btn:disabled{cursor:not-allowed;opacity:.7}.google-icon{flex-shrink:0}.auth-divider{align-items:center;display:flex;margin:24px 0}.auth-divider:after,.auth-divider:before{background:var(--border-subtle);content:"";flex:1 1;height:1px}.auth-divider span{color:var(--text-muted);font-size:13px;letter-spacing:.5px;padding:0 16px;text-transform:uppercase}.user-menu-container{position:relative}.user-menu-btn{align-items:center;background:#fff;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .2s}.user-menu-btn:hover{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.user-avatar-small{align-items:center;background:linear-gradient(135deg,var(--primary),#1d4ed8);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.user-name-display{color:var(--text-main);font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:var(--text-muted);font-size:10px}.user-dropdown{background:#fff;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 10px 40px #00000026;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.dropdown-header{background:#f8fafc;display:flex;flex-direction:column;gap:4px;padding:16px}.dropdown-header strong{color:var(--text-main);font-size:15px}.user-email{color:var(--text-muted);font-size:13px}.role-badge-small{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;margin-top:4px;padding:2px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.role-badge-small.role-admin{background:#fef3c7;color:#92400e}.role-badge-small.role-manager{background:#dbeafe;color:#1e40af}.role-badge-small.role-engineer{background:#dcfce7;color:#166534}.role-badge-small.role-viewer{background:#f1f5f9;color:#475569}.dropdown-divider{background:var(--border-subtle);height:1px}.dropdown-item{background:none;border:none;color:var(--text-main);cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.dropdown-item:hover{background:#f8fafc}.dropdown-item.logout-item{color:#dc2626}.dropdown-item.logout-item:hover{background:#fef2f2}.management-container{margin:0 auto;max-width:1400px;padding:32px}.management-header{margin-bottom:32px}.management-header h1{font-size:28px;font-weight:700;margin:16px 0 8px}.management-header p{color:var(--text-secondary);margin:0}.back-btn{align-items:center;background:none;border:none;color:var(--primary);cursor:pointer;display:flex;font-size:14px;gap:4px;padding:0}.back-btn:hover{text-decoration:underline}.management-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.team-count,.user-count{color:var(--text-muted);font-size:14px}.status-message{border-radius:8px;font-size:14px;margin-bottom:24px;padding:12px 16px}.status-message.status-success{background:#dcfce7;border:1px solid #86efac;color:#166534}.status-message.status-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.users-table-container{background:#fff;border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid var(--border-subtle);padding:14px 16px;text-align:left}.users-table th{background:#f8fafc;color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover{background:#f8fafc}.users-table tr.inactive-row{opacity:.6}.user-info{gap:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,var(--primary),#1d4ed8);border-radius:50%;color:#fff;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.user-name{color:var(--text-main);font-weight:500}.role-select{background:#fff;border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-size:13px;padding:6px 10px}.role-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;text-transform:capitalize}.role-badge.role-admin{background:#fef3c7;color:#92400e}.role-badge.role-manager{background:#dbeafe;color:#1e40af}.role-badge.role-engineer{background:#dcfce7;color:#166534}.role-badge.role-viewer{background:#f1f5f9;color:#475569}.team-badge{background:#f1f5f9;color:var(--text-secondary)}.status-badge,.team-badge{border-radius:6px;display:inline-block;font-size:12px;padding:4px 10px}.status-badge{font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fef2f2;color:#dc2626}.subscription-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;text-transform:capitalize}.subscription-badge.sub-free{background:#f1f5f9;color:#475569}.subscription-badge.sub-pro{background:#dbeafe;color:#1e40af}.subscription-badge.sub-enterprise{background:#fef3c7;color:#92400e}.action-buttons{display:flex;gap:8px}.action-btn{align-items:center;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .2s;width:32px}.action-btn:hover{transform:scale(1.1)}.action-btn.edit-btn:hover{background:#dbeafe}.action-btn.toggle-btn:hover{background:#fef3c7}.action-btn.delete-btn:hover{background:#fecaca}.empty-table-message{color:var(--text-muted);padding:40px;text-align:center}.disabled-input{background:#f8fafc;cursor:not-allowed}.disabled-input+small{color:var(--text-muted);display:block;font-size:12px;margin-top:4px}.teams-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:24px}.team-card{background:#fff;border:1px solid var(--border-subtle);border-radius:12px;cursor:pointer;padding:20px;transition:all .3s}.team-card:hover{border-color:var(--primary);box-shadow:0 8px 24px #0000001a;transform:translateY(-4px)}.team-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb33}.team-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.team-card-header h3{color:var(--text-main);font-size:18px;margin:0}.team-actions{display:flex;gap:4px}.team-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 16px}.team-meta{display:flex;flex-direction:column;font-size:14px;gap:8px;margin-bottom:16px}.team-leader,.team-member-count{color:var(--text-secondary)}.team-members-preview{display:flex}.member-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:32px;justify-content:center;margin-left:-8px;width:32px}.member-avatar:first-child{margin-left:0}.member-avatar.more{background:#94a3b8}.empty-state-centered{background:#fff;border:2px dashed var(--border-subtle);border-radius:12px;grid-column:1/-1;padding:60px 40px;text-align:center}.empty-state-centered .empty-icon{font-size:48px;margin-bottom:16px}.empty-state-centered p{color:var(--text-muted);margin-bottom:20px}.team-details-panel{background:#fff;border:1px solid var(--border-subtle);border-radius:12px;margin-top:24px;padding:24px}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.panel-header h2{font-size:20px;margin:0}.close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;width:32px}.close-btn:hover{background:#e2e8f0}.panel-content h3,.panel-content h4{color:var(--text-secondary);font-size:14px;margin:0 0 16px}.members-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.member-item{background:#f8fafc;border-radius:8px;justify-content:space-between;padding:12px}.member-info,.member-item{align-items:center;display:flex}.member-info{gap:12px}.member-avatar-large{align-items:center;background:linear-gradient(135deg,var(--primary),#1d4ed8);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:600;height:44px;justify-content:center;width:44px}.member-name{align-items:center;color:var(--text-main);display:flex;font-weight:500;gap:8px}.leader-badge{background:#fef3c7;border-radius:4px;color:#92400e;font-size:11px;font-weight:600;padding:2px 8px}.member-email{color:var(--text-muted);font-size:13px}.member-role{color:var(--text-secondary);font-size:12px;text-transform:capitalize}.remove-member-btn{background:none;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.remove-member-btn:hover{background:#fef2f2}.no-members{color:var(--text-muted);padding:20px;text-align:center}.add-member-section{border-top:1px solid var(--border-subtle);padding-top:20px}.available-users{display:flex;flex-direction:column;gap:8px}.available-user-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;font-size:14px;justify-content:space-between;padding:10px 12px}.add-member-btn{background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.add-member-btn:hover{background:var(--primary-hover)}.current-plan-banner{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;flex-wrap:wrap;justify-content:space-between;margin-bottom:32px;padding:24px}.current-plan-banner,.current-plan-info{align-items:center;display:flex;gap:16px}.current-plan-icon{font-size:40px}.current-plan-info h3{font-size:20px;margin:0 0 4px}.current-plan-info p{color:var(--text-secondary);margin:0}.plan-since{color:var(--text-muted);font-size:14px}.subscription-plans-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:48px}.subscription-card{background:#fff;border:2px solid var(--border-subtle);border-radius:16px;padding:32px;position:relative;transition:all .3s}.subscription-card:hover{border-color:var(--primary);box-shadow:0 12px 40px #0000001a;transform:translateY(-4px)}.subscription-card.popular{border-color:var(--primary);box-shadow:0 8px 32px #2563eb33}.subscription-card.current{background:#f8fafc}.popular-badge{background:var(--primary);left:50%;transform:translateX(-50%)}.current-badge,.popular-badge{border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 16px;position:absolute;text-transform:uppercase;top:-12px}.current-badge{background:#16a34a;right:20px}.plan-header{margin-bottom:24px;text-align:center}.plan-icon{display:block;font-size:48px;margin-bottom:12px}.plan-name{color:var(--text-main);font-size:24px;font-weight:700;margin:0 0 16px}.plan-price{align-items:baseline;display:flex;gap:2px;justify-content:center}.price-free{color:var(--text-main);font-size:36px;font-weight:700}.price-currency{color:var(--text-secondary);font-size:20px}.price-amount{color:var(--text-main);font-size:48px;font-weight:700}.price-period{color:var(--text-muted);font-size:14px}.plan-features h4{color:var(--text-muted);font-size:13px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.features-list,.limitations-list{list-style:none;margin:0 0 20px;padding:0}.feature-item,.limitation-item{align-items:center;color:var(--text-main);display:flex;font-size:14px;gap:10px;padding:8px 0}.feature-check,.feature-x{font-size:14px}.limitation-item{color:var(--text-muted)}.plan-btn{background:#fff;border:2px solid var(--border-subtle);border-radius:8px;color:var(--text-main);cursor:pointer;font-size:16px;font-weight:600;margin-top:12px;padding:14px;transition:all .2s;width:100%}.plan-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.plan-btn.popular-btn{background:var(--primary);border-color:var(--primary);color:#fff}.plan-btn.popular-btn:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.plan-btn.current-btn{background:#16a34a;border-color:#16a34a;color:#fff;cursor:default}.plan-btn:disabled{cursor:not-allowed;opacity:.7}.feature-comparison{background:#fff;border:1px solid var(--border-subtle);border-radius:16px;padding:32px}.feature-comparison h2{font-size:24px;margin:0 0 24px}.comparison-table{border-collapse:collapse;width:100%}.comparison-table td,.comparison-table th{border-bottom:1px solid var(--border-subtle);padding:14px 16px;text-align:center}.comparison-table th{background:#f8fafc;font-size:14px;font-weight:600}.comparison-table td:first-child,.comparison-table th:first-child{text-align:left}.comparison-table tr:last-child td{border-bottom:none}.comparison-table tr:hover{background:#f8fafc}.downgrade-warning{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;color:#92400e}.downgrade-warning,.price-change-info{font-size:14px;margin-top:16px;padding:12px 16px}.price-change-info{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534}.loading-container{align-items:center;display:flex;justify-content:center;min-height:100vh}.loading-spinner{color:var(--text-muted);font-size:18px;padding:40px;text-align:center}@media (max-width:768px){.auth-card{margin:16px;padding:24px}.management-container{padding:16px}.users-table-container{overflow-x:auto}.subscription-plans-grid{grid-template-columns:1fr}.current-plan-banner{text-align:center}.current-plan-banner,.current-plan-info{flex-direction:column}.user-menu-btn .user-name-display{display:none}}
/*# sourceMappingURL=main.b636430e.css.map*/