@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;700&display=swap";.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-container{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:48px 40px;width:100%;max-width:420px;text-align:center;box-shadow:0 24px 60px -20px #1b1c2033}.login-logo{display:flex;justify-content:center;margin-bottom:8px}.login-logo-img{width:64px;height:64px;object-fit:contain}.login-header h1{font-size:2rem;margin:0 0 8px;font-weight:700;color:var(--brand)}.login-header p{color:#64748b;margin:0 0 32px;font-size:.9rem;font-family:IBM Plex Mono,monospace}.login-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:12px;padding:12px 16px;margin-bottom:24px;font-size:.85rem}.login-error strong{display:block;margin-bottom:4px}.login-error p{margin:0;font-size:.85rem}.login-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.login-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:14px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s ease;cursor:pointer;border:1px solid var(--line);font-family:inherit;width:100%}.login-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014;border-color:#94a3b8}.login-btn:active{transform:translateY(0)}.google-btn{background:#fff;color:var(--ink)}.google-btn:hover{background:#f8fafc}.microsoft-btn{background:#fff;color:var(--ink)}.microsoft-btn:hover{background:#f8fafc}.login-footer{color:#94a3b8;font-size:.78rem;margin:24px 0 0;line-height:1.5;border-top:1px solid var(--line);padding-top:20px}.login-footer p{margin:0}.loading-spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1b1c2073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.admin-modal{background:var(--paper);border:1px solid var(--line);border-radius:20px;width:100%;max-width:900px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px -20px #1b1c2040}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.admin-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--ink)}.close-btn{background:none;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-btn:hover{color:var(--ink)}.admin-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 16px;margin:16px 24px 0;color:#b91c1c;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.admin-error button{background:none;border:none;color:#b91c1c;cursor:pointer;font-size:1.1rem}.admin-actions{padding:16px 24px}.add-user-btn{background:var(--brand);border:none;border-radius:10px;padding:8px 16px;color:#fff;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s}.add-user-btn:hover{opacity:.88}.add-user-form{display:flex;gap:10px;padding:0 24px 16px;flex-wrap:wrap}.add-user-form input,.add-user-form select{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--ink);font-size:.875rem;font-family:inherit;flex:1;min-width:150px;outline:none;transition:border-color .15s,box-shadow .15s}.add-user-form input:focus,.add-user-form select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0f766e14}.add-user-form button{background:#0f766e1a;border:1px solid rgba(15,118,110,.2);border-radius:8px;padding:8px 20px;color:var(--brand);font-weight:600;font-family:inherit;cursor:pointer;font-size:.875rem;transition:background .2s}.add-user-form button:hover{background:#0f766e26}.loading{padding:40px;text-align:center;color:#9ca3af;font-size:.9rem}.users-table{width:100%;border-collapse:collapse;overflow-y:auto;flex:1}.users-table th,.users-table td{padding:10px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:.875rem}.users-table th{background:var(--bg);color:#6b7280;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0}.users-table tbody{display:block;max-height:calc(80vh - 250px);overflow-y:auto}.users-table thead,.users-table tbody tr{display:table;width:100%;table-layout:fixed}.users-table th:nth-child(1),.users-table td:nth-child(1){width:35%}.users-table th:nth-child(2),.users-table td:nth-child(2){width:15%}.users-table th:nth-child(3),.users-table td:nth-child(3){width:12%}.users-table th:nth-child(4),.users-table td:nth-child(4){width:8%}.users-table th:nth-child(5),.users-table td:nth-child(5){width:18%}.users-table th:nth-child(6),.users-table td:nth-child(6){width:12%}.users-table tr.inactive{opacity:.45}.users-table tbody tr:hover td{background:#0f766e08}.user-email{display:flex;align-items:center;gap:10px}.user-avatar{width:28px;height:28px;border-radius:50%}.you-badge{background:#0f766e1a;color:var(--brand);font-size:.7rem;padding:2px 6px;border-radius:5px;margin-left:6px;font-weight:600}.role-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.78rem;font-weight:600;letter-spacing:.3px}.role-badge.admin{background:#c2410c1a;color:var(--brand-2);border:1px solid rgba(194,65,12,.2)}.role-badge.user{background:#0f766e14;color:var(--brand);border:1px solid rgba(15,118,110,.15)}.status-toggle{width:30px;height:30px;border-radius:8px;border:none;cursor:pointer;font-size:.9rem;transition:all .2s}.status-toggle.active{background:#0f766e1a;color:var(--brand)}.status-toggle.inactive{background:#c2410c1a;color:var(--brand-2)}.status-toggle:disabled{opacity:.3;cursor:not-allowed}.action-buttons{display:flex;gap:6px}.action-buttons button{width:30px;height:30px;border-radius:7px;border:none;cursor:pointer;font-size:.85rem;transition:all .2s}.edit-btn{background:#d977061a;color:#d97706}.edit-btn:hover{background:#d977062e}.delete-btn{background:#c2410c14;color:var(--brand-2)}.delete-btn:hover{background:#c2410c26}.delete-btn:disabled{opacity:.3;cursor:not-allowed}.save-btn{background:#0f766e1a;color:var(--brand)}.save-btn:hover{background:#0f766e2e}.cancel-btn{background:#64748b1a;color:#64748b}.cancel-btn:hover{background:#64748b2e}.edit-input,.edit-select{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:5px 8px;color:var(--ink);font-size:.875rem;font-family:inherit;width:100%;outline:none;transition:border-color .15s,box-shadow .15s}.edit-input:focus,.edit-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0f766e14}.api-keys-modal{max-width:900px}.created-key-banner{background:#0f766e12;border:1px solid rgba(15,118,110,.2);border-radius:12px;padding:16px;margin-bottom:16px}.created-key-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.created-key-header strong{color:var(--brand);font-size:.9rem}.created-key-header button{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:18px;transition:color .2s}.created-key-header button:hover{color:var(--ink)}.created-key-banner p{color:#6b7280;font-size:.85rem;margin-bottom:12px}.created-key-value{display:flex;gap:12px;align-items:center;background:var(--bg);border:1px solid var(--line);padding:10px 12px;border-radius:8px}.created-key-value code{flex:1;font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--brand-2);word-break:break-all}.copy-btn{background:var(--brand);color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;font-family:inherit;white-space:nowrap;transition:opacity .2s}.copy-btn:hover{opacity:.88}.masked-key{font-family:IBM Plex Mono,monospace;font-size:.78rem;color:#9ca3af;background:var(--bg);border:1px solid var(--line);padding:3px 8px;border-radius:6px}.source-badge{display:inline-block;background:#0f766e14;border:1px solid rgba(15,118,110,.15);color:var(--brand);padding:3px 10px;border-radius:8px;font-size:.78rem;font-weight:500}.hooks-modal{max-width:min(1100px,95vw);width:95vw}.hooks-modal .users-table{table-layout:fixed;width:100%}.hooks-modal .users-table th:nth-child(1),.hooks-modal .users-table td:nth-child(1){width:15%}.hooks-modal .users-table th:nth-child(2),.hooks-modal .users-table td:nth-child(2){width:35%}.hooks-modal .users-table th:nth-child(3),.hooks-modal .users-table td:nth-child(3){width:10%}.hooks-modal .users-table th:nth-child(4),.hooks-modal .users-table td:nth-child(4){width:20%}.hooks-modal .users-table th:nth-child(5),.hooks-modal .users-table td:nth-child(5){width:7%;text-align:center}.edit-row td{padding:0!important;background:#0f766e08;border-bottom:2px solid var(--brand, #0f766e)}.edit-panel{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.edit-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-panel-grid label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:#6b7280;font-weight:500}.edit-panel-grid label.full-col{grid-column:1 / -1}.edit-panel-grid input,.edit-panel-grid select,.edit-panel-grid textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:.85rem;background:var(--bg);color:var(--ink);width:100%;box-sizing:border-box}.edit-panel-actions{display:flex;gap:8px}.edit-panel-actions .save-btn{background:var(--brand, #0f766e);color:#fff;border:none;padding:7px 18px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem;font-family:inherit;transition:opacity .2s}.edit-panel-actions .save-btn:hover{opacity:.88}.edit-panel-actions .cancel-btn{background:transparent;border:1px solid var(--line);padding:7px 18px;border-radius:8px;cursor:pointer;font-size:.85rem;font-family:inherit;color:var(--ink);transition:background .2s}.edit-panel-actions .cancel-btn:hover{background:#0000000d}.headers-input{font-family:IBM Plex Mono,monospace;font-size:12px;width:100%;min-height:60px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);resize:vertical}.method-badge{display:inline-block;background:#6366f114;border:1px solid rgba(99,102,241,.15);color:#6366f1;padding:3px 10px;border-radius:8px;font-size:.75rem;font-weight:600;font-family:IBM Plex Mono,monospace;letter-spacing:.5px}.hook-url{font-family:IBM Plex Mono,monospace;font-size:.78rem;color:#6b7280;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hook-headers-preview{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:#9ca3af;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-hook-form{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;margin-bottom:16px;padding:16px;background:#0f766e08;border:1px solid var(--line);border-radius:12px}.add-hook-form .full-row{grid-column:1 / -1}.add-hook-form input,.add-hook-form select,.add-hook-form textarea{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:.85rem;background:var(--bg);color:var(--ink)}.add-hook-form button[type=submit]{background:var(--brand);color:#fff;border:none;padding:8px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-family:inherit;font-size:.85rem;transition:opacity .2s}.add-hook-form button[type=submit]:hover{opacity:.88}.search-page{min-height:100vh;color:var(--ink);padding:20px}.search-header{display:flex;flex-direction:column;align-items:center;padding:60px 20px 40px;transition:all .3s ease}.search-header.compact{padding:16px 20px;position:sticky;top:0;background:var(--bg);z-index:100;border-bottom:1px solid var(--line)}.search-title{font-size:2rem;font-weight:700;margin-bottom:32px;color:var(--brand)}.search-form{width:100%;max-width:700px;display:flex;flex-direction:column;gap:16px}.search-box{display:flex;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:10px 16px;transition:all .2s ease;box-shadow:0 2px 8px #1b1c200d}.search-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #0f766e1a}.search-icon{width:20px;height:20px;color:#94a3b8;margin-right:12px;flex-shrink:0}.search-input{flex:1;background:none;border:none;color:var(--ink);font-size:1rem;font-family:inherit;outline:none}.search-input::placeholder{color:#94a3b8}.clear-button{background:none;border:none;color:#94a3b8;font-size:1.4rem;cursor:pointer;padding:0 6px;line-height:1;transition:color .2s}.clear-button:hover{color:var(--ink)}.search-actions{display:flex;justify-content:center;gap:10px}.filter-toggle{display:flex;align-items:center;gap:8px;padding:8px 18px;background:var(--paper);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease}.filter-toggle:hover,.filter-toggle.active{background:#0f766e14;border-color:var(--brand);color:var(--brand)}.search-button{padding:8px 28px;background:var(--brand);border:none;border-radius:10px;color:#fff;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease}.search-button:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.search-button:disabled{opacity:.5;cursor:not-allowed}.upload-button{display:flex;align-items:center;gap:8px;padding:8px 18px;background:var(--paper);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease}.upload-button:hover{background:#0f766e0f;border-color:var(--brand);color:var(--brand)}.uploaded-file-info{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#0f766e14;border:1px solid rgba(15,118,110,.2);border-radius:10px;color:var(--brand);font-size:.9rem;font-weight:500}.uploaded-file-info button{background:none;border:none;color:#9ca3af;font-size:1.2rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s}.uploaded-file-info button:hover{color:var(--brand-2)}.filters-panel{width:100%;max-width:700px;display:flex;flex-wrap:wrap;gap:16px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-top:8px}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:200px}.filter-group label{font-size:.78rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.filter-group select{padding:8px 12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:.9rem;font-family:inherit;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.filter-group select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0f766e14}.filter-group.checkbox{flex-direction:row;align-items:center}.filter-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink);text-transform:none;font-size:.9rem;letter-spacing:0}.filter-group.checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.search-results{max-width:800px;margin:0 auto;padding:20px}.results-info{font-size:.85rem;color:#6b7280;margin-bottom:16px;font-family:IBM Plex Mono,monospace}.processing-time{color:#9ca3af}.loading-indicator{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px;color:#6b7280}.spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.result-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:12px;transition:all .2s ease;box-shadow:0 1px 4px #1b1c200a}.result-card:hover{border-color:#0f766e4d;box-shadow:0 4px 16px #0f766e14}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.result-source{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-family:IBM Plex Mono,monospace}.score-badge{background:#0f766e1a;border:1px solid rgba(15,118,110,.2);color:var(--brand);padding:3px 10px;border-radius:8px;font-size:.78rem;font-weight:600;font-family:IBM Plex Mono,monospace}.result-title{margin:0 0 12px;font-size:1.1rem;font-weight:600}.result-title a{color:var(--ink);text-decoration:none;transition:color .2s ease}.result-title a:hover{color:var(--brand);text-decoration:underline}.result-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:.85rem;color:#6b7280}.meta-item strong{color:#9ca3af;font-weight:500;margin-right:4px}.result-snippet{font-size:.9rem;color:#6b7280;line-height:1.6;margin:0 0 12px}.result-link{font-size:.82rem;color:var(--brand);text-decoration:none;word-break:break-all;font-family:IBM Plex Mono,monospace}.result-link:hover{text-decoration:underline}.no-results{text-align:center;padding:48px;color:#6b7280}.no-results p:first-child{font-size:1.05rem;margin-bottom:8px;color:var(--ink)}.no-results-hint{font-size:.88rem;color:#94a3b8;font-family:IBM Plex Mono,monospace}.search-error{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:16px;color:#b91c1c;text-align:center;margin-bottom:20px;font-size:.9rem}@media (max-width: 768px){.search-header{padding:32px 16px 20px}.search-title{font-size:1.5rem;margin-bottom:24px}.search-actions{flex-direction:column;width:100%}.filter-toggle,.search-button{width:100%;justify-content:center}.filters-panel{flex-direction:column}.filter-group{width:100%}.result-meta{flex-direction:column;gap:6px}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:50}.app-header-right{display:flex;align-items:center;gap:.75rem}.app-header h1{font-size:1.5rem;font-weight:700;color:var(--brand);margin:0;display:flex;align-items:center;gap:.5rem}.app-logo-icon{width:24px;height:24px;object-fit:contain}.app-nav{display:flex;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--paper);border-bottom:1px solid var(--line)}.nav-tab{padding:.5rem 1.25rem;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--ink);opacity:.6;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.nav-tab:hover{background:#0f766e0f;border-color:var(--brand);opacity:.8}.nav-tab.active{background:#0f766e1a;border-color:var(--brand);color:var(--brand);font-weight:600;opacity:1}.app-main{flex:1;padding:2rem;display:flex;flex-direction:column;align-items:center;width:100%;max-width:1400px;margin:0 auto}.tender-table-container{background:var(--paper);border-radius:16px;padding:1.5rem;width:100%;margin-top:0;border:1px solid var(--line);box-shadow:0 2px 12px #1b1c200f}.tender-table{width:100%;border-collapse:collapse;color:var(--ink)}.tender-table th{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--line);color:#6b7280;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.tender-table td{padding:.85rem 1rem;border-bottom:1px solid var(--line);font-size:.9rem}.tender-table tr:last-child td{border-bottom:none}.tender-table tr:hover td{background:#0f766e0a}.action-btn{background:var(--brand);border:none;padding:.5rem 1.1rem;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;font-size:.85rem;font-family:inherit;transition:opacity .2s,transform .15s}.action-btn:hover{opacity:.88;transform:translateY(-1px)}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.status-badge{padding:.2rem .6rem;border-radius:6px;font-size:.8rem;background:#0f766e1a;color:var(--brand);font-weight:500}.filters-row{display:flex;gap:1.5rem;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.4rem}.filter-group>label{color:#6b7280;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.45rem 2rem .45rem .8rem;color:var(--ink);font-size:.85rem;font-weight:500;min-width:180px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.filter-select:hover{border-color:#b8b2a0}.filter-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0f766e14}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--ink);font-size:.9rem;font-weight:500;cursor:pointer;padding:.45rem 0}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.pagination-btn{background:var(--paper);border:1px solid var(--line);padding:.45rem 1rem;border-radius:10px;color:var(--ink);cursor:pointer;font-weight:600;font-size:.85rem;font-family:inherit;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#0f766e14;border-color:var(--brand);color:var(--brand)}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-info{color:#6b7280;font-size:.85rem;font-family:IBM Plex Mono,monospace}.link-button{background:none;border:none;color:var(--brand);font-weight:600;cursor:pointer;font-size:inherit;font-family:inherit;text-align:left;padding:0;text-decoration:none;transition:color .2s}.link-button:hover{color:#0d5c57;text-decoration:underline}.external-link-icon{color:#94a3b8;display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border-radius:4px;transition:color .2s,background .2s}.external-link-icon:hover{color:var(--brand);background:#0f766e14}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1b1c2080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:var(--paper);border:1px solid var(--line);border-radius:20px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px -20px #1b1c2059}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;border-bottom:1px solid var(--line);gap:1rem}.modal-header h2{font-size:1.25rem;font-weight:700;color:var(--ink);margin:0;line-height:1.4}.modal-close{background:none;border:none;color:#94a3b8;font-size:1.75rem;cursor:pointer;line-height:1;padding:0;transition:color .2s;flex-shrink:0}.modal-close:hover{color:var(--ink)}.modal-body{padding:2rem}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.detail-row{display:flex;flex-direction:column;gap:.3rem}.detail-row.full-width{grid-column:1 / -1}.detail-row label{color:#6b7280;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-row span,.detail-row a{color:var(--ink);font-size:.95rem}.detail-row a{color:var(--brand);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;word-break:break-all}.detail-row a:hover{text-decoration:underline}.description-content{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:1rem;color:var(--ink);line-height:1.6;white-space:pre-wrap;font-size:.9rem;max-height:300px;overflow-y:auto}.attachments-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.attachments-list li a{color:var(--brand);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#0f766e12;border:1px solid rgba(15,118,110,.15);border-radius:8px;transition:background .2s}.attachments-list li a:hover{background:#0f766e1f;text-decoration:none}.external-link{color:var(--brand)}@media (max-width: 600px){.detail-grid{grid-template-columns:1fr}.modal-content{margin:1rem}.modal-header,.modal-body{padding:1rem}}.time-expired{color:#9ca3af;font-style:italic;font-family:IBM Plex Mono,monospace}.time-urgent{color:var(--brand-2);font-weight:600;font-family:IBM Plex Mono,monospace}.time-warning{color:#d97706;font-weight:500;font-family:IBM Plex Mono,monospace}.time-normal{color:var(--brand);font-family:IBM Plex Mono,monospace}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:6px 12px;color:var(--ink);cursor:pointer;font-family:inherit;transition:all .2s}.user-menu-trigger:hover{border-color:#b8b2a0;background:#f0ece0}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-avatar-placeholder{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff;text-transform:uppercase}.user-name{font-size:.85rem;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.dropdown-arrow{font-size:.6rem;color:#9ca3af;transition:transform .2s}.user-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;min-width:220px;box-shadow:0 12px 40px #1b1c201f;z-index:100;overflow:hidden}.user-menu-header{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.user-menu-header strong{color:var(--ink);font-size:.9rem}.user-menu-header span{color:#6b7280;font-size:.78rem;font-family:IBM Plex Mono,monospace}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:none;border:none;color:var(--ink);font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s}.user-menu-item:hover{background:#0f766e0f}.user-menu-item.logout{border-top:1px solid var(--line);color:var(--brand-2)}.user-menu-item.logout:hover{background:#c2410c0f}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink)}.app-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#b91c1c;font-size:.85rem}.spinner{width:32px;height:32px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}select{background:var(--paper);border:1px solid var(--line);padding:.45rem 2rem .45rem .8rem;border-radius:10px;color:var(--ink);font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;outline:none;transition:border-color .15s ease,box-shadow .15s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}select:hover{background-color:#fafaf5;border-color:#b8b2a0}select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0f766e14}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bbb}.checkbox-col{width:40px;text-align:center!important}.checkbox-col input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.tender-table tr.selected-row td{background:#0f766e0f}.floating-action-bar{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.75rem 1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 12px 40px #1b1c202e;z-index:100;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.selection-count{color:var(--ink);font-size:.85rem;font-weight:600;white-space:nowrap}.hook-select{min-width:180px;padding:.4rem 2rem .4rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:.85rem;font-family:inherit;cursor:pointer}.send-hook-btn{background:var(--brand);color:#fff;border:none;padding:.45rem 1rem;border-radius:10px;font-weight:600;font-size:.85rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:opacity .2s}.send-hook-btn:hover:not(:disabled){opacity:.88}.send-hook-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-selection-btn{background:none;border:1px solid var(--line);border-radius:8px;color:#9ca3af;font-size:1rem;cursor:pointer;padding:.3rem .6rem;line-height:1;transition:all .2s}.cancel-selection-btn:hover{border-color:var(--brand-2);color:var(--brand-2);background:#c2410c0f}:root{--bg: #f7f4ea;--ink: #1b1c20;--paper: #fefcf6;--line: #d8d2bd;--brand: #0f766e;--brand-2: #c2410c}body{margin:0;min-height:100vh;color:var(--ink);font-family:Space Grotesk,sans-serif;background:radial-gradient(circle at 8% 8%,rgba(194,65,12,.1),transparent 30%),radial-gradient(circle at 88% 16%,rgba(15,118,110,.13),transparent 32%),linear-gradient(165deg,#f5f0e1,#f7f4ea 45%,#fefdf7)}*{box-sizing:border-box}
