body{min-height:100vh;overflow-x:hidden}.app{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.container.wide{max-width:calc(100% - 3rem)}.nav-back{position:fixed;top:1.5rem;left:1.5rem;z-index:100;display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:100px;backdrop-filter:blur(10px);transition:all .3s ease}.nav-back:hover{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-hover)}.nav-back svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none}.header{padding:4rem 0 2rem;text-align:center}.header-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:1.5rem;font-size:2rem;background:linear-gradient(135deg,var(--color-accent-2),var(--color-accent-1));border-radius:18px;box-shadow:0 8px 32px -8px var(--color-accent-2)}.header h1{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400;letter-spacing:-.02em;margin-bottom:.75rem}.header p{font-size:.9rem;color:var(--color-text-muted);margin:0 auto;line-height:1.6;white-space:nowrap}.main{flex:1;padding:1rem 0 3rem}.controls-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.controls-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.search-inputs{display:flex;gap:.5rem;flex-wrap:wrap;flex:1}.search-input{padding:.5rem .85rem;font-family:var(--font-body);font-size:.8rem;color:var(--color-text);background:transparent;border:1px solid var(--color-border);border-radius:100px;outline:none;transition:all .3s ease;min-width:160px;flex:1;max-width:260px}.search-input::placeholder{color:var(--color-text-subtle)}.search-input:focus{border-color:var(--color-accent-2);box-shadow:0 0 0 2px #06b6d426}.sort-label{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-subtle)}#sort-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}#sort-controls button{padding:.5rem 1rem;font-family:var(--font-body);font-size:.8rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:100px;cursor:pointer;transition:all .3s ease}#sort-controls button:hover{color:var(--color-text);border-color:var(--color-border-hover);background:var(--color-surface-hover)}#sort-controls button.active{color:#fff;background:linear-gradient(135deg,var(--color-accent-2),var(--color-accent-1));border-color:transparent}.table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;overflow:hidden}.bid-table-head,.bid-table{width:100%;border-collapse:collapse;table-layout:fixed}.bid-table-head th{padding:1rem;text-align:left;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);background:#ffffff05;border-bottom:1px solid var(--color-border);white-space:nowrap}.col-name{width:28%}.col-org{width:14%}.col-price,.col-date,.col-deadline{width:12%}.col-files{width:22%}#bid-list-container{max-height:calc(100vh - 380px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border-hover) transparent}#bid-list-container::-webkit-scrollbar{width:6px}#bid-list-container::-webkit-scrollbar-track{background:transparent}#bid-list-container::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:3px}.bid-table td{padding:1rem;text-align:left;font-size:.85rem;line-height:1.5;color:var(--color-text);border-bottom:1px solid var(--color-border);vertical-align:top;overflow:hidden;text-overflow:ellipsis}.bid-table tbody tr{transition:background .2s ease}.bid-table tbody tr:hover{background:var(--color-surface-hover)}.bid-table td a{color:var(--color-accent-2);text-decoration:none;font-weight:500;transition:color .2s ease}.bid-table td a:hover{color:#fff;text-decoration:underline}.bid-number{display:block;font-size:.7rem;color:var(--color-text-subtle);margin-top:.25rem;font-family:SF Mono,Monaco,monospace}.amount-cell{font-weight:600;color:#10b981;font-variant-numeric:tabular-nums}.date-cell{font-size:.8rem;color:var(--color-text-muted);white-space:nowrap}.col-files a{display:inline-block;padding:.25rem .5rem;margin:.15rem 0;font-size:.7rem;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;word-break:break-all;transition:all .2s ease}.col-files a:hover{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-hover);text-decoration:none}.footer{padding:2rem 0;text-align:center;border-top:1px solid var(--color-border)}.footer p{font-size:.75rem;color:var(--color-text-subtle);letter-spacing:.05em}.footer span{color:var(--color-accent-2)}.loader{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-muted);font-size:.9rem}.error-message{text-align:center;padding:3rem;color:var(--color-text-muted)}@media(max-width:1024px){.col-files{display:none}.col-name{width:35%}.col-org{width:20%}.col-price,.col-date,.col-deadline{width:15%}}@media(max-width:768px){.header{padding:5rem 0 1.5rem}.header h1{font-size:1.5rem}.header p{font-size:.8rem;white-space:normal}.controls-card{padding:1rem}.nav-back{top:1rem;left:1rem;padding:.5rem .75rem;font-size:.75rem}.bid-table-head th,.bid-table td{padding:.75rem .5rem;font-size:.75rem}.col-org,.col-date{display:none}.col-name{width:45%}.col-price{width:25%}.col-deadline{width:30%}}.bid-tab-bar{display:flex;gap:.5rem;margin-bottom:1rem}.bid-tab{padding:.6rem 1.25rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:100px;cursor:pointer;transition:all .3s ease}.bid-tab:hover{color:var(--color-text);border-color:var(--color-border-hover)}.bid-tab.active{color:#fff;background:linear-gradient(135deg,var(--color-accent-2),var(--color-accent-1));border-color:transparent}.result-date-group{margin-bottom:.5rem}.result-date-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted);background:#ffffff05;border-bottom:1px solid var(--color-border)}.result-date-header .result-count{font-weight:400;font-size:.7rem;color:var(--color-text-subtle)}.result-row{display:grid;grid-template-columns:1fr 14% 14% 12% 10%;gap:.5rem;padding:.75rem 1rem;font-size:.83rem;border-bottom:1px solid var(--color-border);transition:background .2s;align-items:center}.result-row:hover{background:var(--color-surface-hover)}.result-name{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-org{font-size:.78rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-winner{font-weight:600;color:var(--color-accent-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-amt{font-weight:600;color:#10b981;font-variant-numeric:tabular-nums;text-align:right}.result-rate{font-size:.78rem;color:var(--color-text-muted);text-align:right}.result-table-header{display:grid;grid-template-columns:1fr 14% 14% 12% 10%;gap:.5rem;padding:.6rem 1rem;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);background:#ffffff05;border-bottom:1px solid var(--color-border)}#bid-results-container{max-height:calc(100vh - 340px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border-hover) transparent}.result-empty{text-align:center;padding:3rem;color:var(--color-text-muted);font-size:.9rem}@media(max-width:768px){.result-row{grid-template-columns:1fr 30% 20%}.result-org,.result-rate{display:none}.result-table-header{grid-template-columns:1fr 30% 20%}.result-table-header span:nth-child(2),.result-table-header span:nth-child(5){display:none}}.bid-analysis-overlay{position:fixed;inset:0;z-index:1000;background:#000000a6;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:baFadeIn .15s ease}@keyframes baFadeIn{0%{opacity:0}to{opacity:1}}.bid-analysis-modal{background:#0d0d14;border:1px solid var(--color-border);border-radius:20px;width:92%;max-width:640px;max-height:88vh;overflow-y:auto;animation:baSlideUp .2s ease;scrollbar-width:thin;scrollbar-color:var(--color-border-hover) transparent}.bid-analysis-modal::-webkit-scrollbar{width:5px}.bid-analysis-modal::-webkit-scrollbar-track{background:transparent}.bid-analysis-modal::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:3px}@keyframes baSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ba-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:#0d0d14;z-index:1}.ba-header h2{font-size:1rem;font-weight:600}.ba-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s}.ba-close-btn:hover{color:#fff;border-color:var(--color-border-hover);background:var(--color-surface-hover)}.ba-body{padding:1.25rem 1.5rem 1.5rem}.ba-goto-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-accent-2, #06b6d4),var(--color-accent-1, #3b82f6));border:none;border-radius:12px;text-decoration:none;transition:opacity .2s,box-shadow .2s;margin-bottom:1.25rem}.ba-goto-btn:hover{opacity:.9;box-shadow:0 4px 20px -4px var(--color-accent-2, #06b6d4);text-decoration:none;color:#fff}.ba-section{margin-bottom:1.25rem}.ba-section h3{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.ba-section-desc{font-size:.78rem;color:var(--color-text-muted);margin-bottom:.75rem}.ba-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ba-info-item{display:flex;flex-direction:column;gap:.2rem}.ba-info-label{font-size:.7rem;color:var(--color-text-subtle)}.ba-info-value{font-size:.85rem;color:var(--color-text);word-break:break-all}.ba-info-value.ba-amount{color:#10b981;font-weight:600}.ba-history-table,.ba-other-table{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.ba-history-header,.ba-company-header{display:grid;grid-template-columns:50px 1fr 100px 70px 55px;gap:.25rem;padding:.6rem .75rem;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-subtle);background:#ffffff05;border-bottom:1px solid var(--color-border)}.ba-history-row{display:grid;grid-template-columns:50px 1fr 100px 70px 55px;gap:.25rem;padding:.6rem .75rem;font-size:.8rem;border-bottom:1px solid var(--color-border);transition:background .15s}.ba-history-row:last-of-type{border-bottom:none}.ba-history-row:hover{background:var(--color-surface-hover)}.ba-history-row.expanded{background:#06b6d40f}.ba-year{font-weight:600;color:var(--color-accent-2)}.ba-title-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.ba-winner{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ba-amt{font-variant-numeric:tabular-nums;color:#10b981;font-weight:500;text-align:right}.ba-part-count{font-size:.75rem;color:var(--color-text-muted);text-align:right}.ba-accordion{max-height:0;overflow:hidden;transition:max-height .25s ease;background:#ffffff05;border-bottom:1px solid var(--color-border)}.ba-accordion.open{max-height:500px}.ba-accordion-title{font-size:.7rem;font-weight:600;color:var(--color-text-subtle);padding:.5rem .75rem .25rem;letter-spacing:.05em}.ba-participant{display:grid;grid-template-columns:40px 1fr 80px;gap:.5rem;padding:.35rem .75rem;font-size:.78rem}.ba-p-rank{color:var(--color-text-subtle)}.ba-p-name{font-weight:500}.ba-p-amt{text-align:right;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.ba-company-table{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.ba-company-header{grid-template-columns:1fr 60px 60px}.ba-company-row{display:grid;grid-template-columns:1fr 60px 60px;gap:.25rem;padding:.5rem .75rem;font-size:.8rem;border-bottom:1px solid var(--color-border)}.ba-company-row:last-child{border-bottom:none}.ba-c-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ba-c-part,.ba-c-win,.ba-c-year{text-align:center;font-variant-numeric:tabular-nums}.ba-c-win{color:#10b981;font-weight:600}.ba-c-year{color:var(--color-text-muted)}.ba-company-row[data-tooltip]{cursor:pointer;position:relative}.ba-company-row[data-tooltip]:hover{background:var(--color-surface-hover)}.ba-win-tooltip{position:fixed;z-index:10001;background:#14141ef7;border:1px solid var(--color-border);border-radius:8px;padding:.6rem .75rem;font-size:.75rem;line-height:1.6;color:var(--color-text);pointer-events:none;max-width:380px;box-shadow:0 4px 20px #0006;backdrop-filter:blur(8px)}.ba-win-tooltip-row{display:grid;grid-template-columns:78px 1fr auto;gap:.5rem;padding:.15rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.ba-win-tooltip-row:last-child{border-bottom:none}.ba-win-tooltip-date{color:var(--color-accent-2);font-variant-numeric:tabular-nums}.ba-win-tooltip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.ba-win-tooltip-amt{color:#10b981;font-weight:500;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ba-other-row{display:grid;grid-template-columns:50px 1fr 100px 70px;gap:.25rem;padding:.5rem .75rem;font-size:.8rem;border-bottom:1px solid var(--color-border)}.ba-other-row:last-child{border-bottom:none}.ba-stats-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.ba-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:.75rem;text-align:center}.ba-stat-value{font-size:1.1rem;font-weight:700;color:var(--color-accent-2)}.ba-stat-label{font-size:.7rem;color:var(--color-text-subtle);margin-top:.2rem}.ba-top-list{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.5rem}.ba-top-label{font-size:.7rem;font-weight:600;color:var(--color-text-subtle);margin-right:.25rem}.ba-top-tag{font-size:.72rem;padding:.25rem .6rem;background:#06b6d41f;color:var(--color-accent-2);border:1px solid rgba(6,182,212,.2);border-radius:100px}.ba-top-tag.ba-tag-muted{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}.ba-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;color:var(--color-text-muted);font-size:.85rem}.ba-spinner{width:28px;height:28px;border:2px solid var(--color-border);border-top-color:var(--color-accent-2);border-radius:50%;animation:baSpin .8s linear infinite}@keyframes baSpin{to{transform:rotate(360deg)}}.ba-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.85rem;line-height:1.6}.ba-empty small{font-size:.75rem;color:var(--color-text-subtle)}@media(max-width:768px){.bid-analysis-modal{width:100%;max-width:none;height:100vh;max-height:100vh;border-radius:0}.ba-info-grid{grid-template-columns:1fr}.ba-history-header,.ba-history-row{grid-template-columns:40px 1fr 80px 55px}.ba-history-header span:nth-child(5),.ba-history-row .ba-part-count{display:none}.ba-other-row{grid-template-columns:40px 1fr 70px}.ba-other-row .ba-amt{display:none}}
