.page-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#0f3640 100%);color:var(--color-white);padding:var(--spacing-16) 0;text-align:center}.page-hero h1{color:var(--color-white);margin-bottom:var(--spacing-4)}.lead{font-size:var(--font-size-xl);opacity:.9}.bid-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-12)}.bid-form{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-8);box-shadow:var(--shadow-lg)}.form-section{margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-8);border-bottom:1px solid var(--color-gray-100)}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-2)}.form-subtitle{color:var(--color-gray-600);margin-bottom:var(--spacing-6)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.opportunities-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.opportunity-option{cursor:pointer}.opportunity-option input{display:none}.opportunity-card{padding:var(--spacing-4);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);transition:all .2s ease}.opportunity-option:hover .opportunity-card{border-color:var(--color-primary)}.opportunity-option input:checked+.opportunity-card{border-color:var(--color-secondary);background:linear-gradient(135deg,#2d8a4e14,#4aa36714)}.opportunity-card h4{font-size:var(--font-size-base);margin:0 0 var(--spacing-2) 0;color:var(--color-gray-800)}.opportunity-card p{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:0;line-height:1.4}.opportunity-date{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--spacing-2)}.form-actions{margin-top:var(--spacing-6)}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg)}.bid-sidebar{position:sticky;top:100px}.sidebar-card{background:var(--color-off-white);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-bottom:var(--spacing-4)}.sidebar-card h3{font-size:var(--font-size-base);color:var(--color-primary);margin-bottom:var(--spacing-4)}.process-list{padding-left:var(--spacing-4);margin:0}.process-list li{padding:var(--spacing-2) 0;font-size:var(--font-size-sm);color:var(--color-gray-600)}.sidebar-card p{font-size:var(--font-size-sm);color:var(--color-gray-600)}.loading-state,.no-opportunities,.success-state{text-align:center;padding:var(--spacing-12);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-4)}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon,.success-icon{font-size:4rem;margin-bottom:var(--spacing-4)}.success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-accent) 100%);color:var(--color-white);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-6);font-size:2.5rem}.success-state h2{color:var(--color-secondary);margin-bottom:var(--spacing-4)}.success-actions{display:flex;gap:var(--spacing-4);justify-content:center;margin-top:var(--spacing-6)}.file-upload{position:relative}.file-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-6);border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-off-white);text-align:center;transition:all .15s ease}.file-upload:hover .file-upload-label{border-color:var(--color-primary);background:#1a4d5c0d}.file-icon{font-size:2rem;margin-bottom:var(--spacing-2);color:var(--color-gray-400)}.file-text{font-weight:500;color:var(--color-gray-800)}.file-hint{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:var(--spacing-1)}.file-name{margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-secondary);font-weight:500}@media(max-width:768px){.bid-layout,.form-row{grid-template-columns:1fr}.bid-sidebar{position:static}}
