@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{--grainflow-green: #66CC99;--harvest-gold: #FFCC66;--sky-blue: #3399FF;--amber-orange: #FF9933;--alert-red: #CC0000;--neutral-gray: #464646;--white: #FFFFFF;--green: #66CC99;--gold: #FFCC66;--blue: #3399FF;--orange: #FF9933;--red: #CC0000;--gray: #464646;--light-gray: #f5f5f5;--primary: #66CC99;--secondary: #FFCC66;--accent: #FF9933;--danger: #CC0000;--background: #f9fafb;--border: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;background-color:var(--light-gray);color:var(--gray);line-height:1.6;min-height:100vh}#root{min-height:100vh}.page-header-banner{background:var(--grainflow-green);padding:25px;text-align:center;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:100}.page-header-logo{height:100px;width:auto;object-fit:contain}@media(max-width:768px){.page-header-logo{height:70px}.page-header-banner{padding:20px}}.loading-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--grainflow-green) 0%,var(--harvest-gold) 100%);color:var(--white)}.loading-logo{max-width:300px;width:80%;height:auto;margin-bottom:1rem}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--grainflow-green) 0%,var(--harvest-gold) 100%);padding:20px}.login-card{background:var(--white);padding:40px;border-radius:16px;box-shadow:0 10px 40px #00000026;max-width:400px;width:100%}.login-logo{max-width:250px;width:100%;height:auto;margin:0 auto 1rem;display:block}.login-subtitle{text-align:center;color:var(--gray);margin-bottom:2rem;font-size:.95rem}.error-message{background-color:#ffe6e6;color:var(--alert-red);padding:12px;border-radius:8px;margin-bottom:20px;font-size:.9rem;border-left:4px solid var(--alert-red)}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--white);color:var(--gray);border:2px solid #e0e0e0;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif}.google-btn:hover{background-color:#f9f9f9;border-color:var(--grainflow-green);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.microsoft-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--white);color:var(--gray);border:2px solid #e0e0e0;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;margin-top:12px}.microsoft-btn:hover{background-color:#f9f9f9;border-color:#05a6f0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.microsoft-btn:disabled,.google-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.divider{text-align:center;margin:24px 0;position:relative;color:#999;font-size:.9rem}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background-color:#e0e0e0}.divider:before{left:0}.divider:after{right:0}.phone-form,.verify-form{display:flex;flex-direction:column;gap:16px}.phone-input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:Montserrat,sans-serif;transition:border-color .3s}.phone-input:focus{outline:none;border-color:var(--grainflow-green)}#recaptcha-container{margin:10px 0}.phone-btn{width:100%;background:var(--grainflow-green);color:var(--white);border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif}.phone-btn:hover{background:var(--amber-orange);transform:translateY(-2px);box-shadow:0 4px 12px #ff99334d}.setup-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--grainflow-green) 0%,var(--harvest-gold) 100%);padding:20px}.setup-card{background:var(--white);padding:40px;border-radius:16px;box-shadow:0 10px 40px #00000026;max-width:500px;width:100%}.setup-logo{max-width:200px;width:100%;height:auto;margin:0 auto 1.5rem;display:block}.setup-title{font-size:1.8rem;font-weight:700;color:var(--gray);margin-bottom:.5rem;text-align:center}.setup-subtitle{text-align:center;color:#666;margin-bottom:2rem;font-size:.95rem}.setup-form{display:flex;flex-direction:column;gap:20px}.setup-form .form-row{display:flex;gap:16px}.setup-form .form-row .form-group{flex:1}@media(max-width:480px){.setup-form .form-row{flex-direction:column}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--gray);font-size:.95rem}.form-input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:Montserrat,sans-serif;transition:border-color .3s;background:var(--white)}.form-input:focus{outline:none;border-color:var(--grainflow-green)}.read-only-field{padding:12px 16px;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:Montserrat,sans-serif;color:#333}.read-only-field.role-field{background:var(--green);color:#fff;font-weight:600;border-color:var(--green)}.setup-btn{width:100%;background:var(--green);color:var(--white);border:none;padding:14px 24px;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;margin-top:10px}.setup-btn:hover:not(:disabled){background:var(--amber-orange);transform:translateY(-2px);box-shadow:0 4px 12px #ff99334d}.setup-btn:disabled{opacity:.6;cursor:not-allowed}.page-container{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh}.header{display:flex;flex-direction:column;gap:20px;margin-bottom:30px;padding:20px 0;border-bottom:2px solid var(--green)}.header h1{color:var(--gray);font-size:2rem;font-weight:700}.nav-links{display:flex;gap:12px}.nav-btn{background:var(--white);color:var(--gray);border:2px solid var(--green);padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif}.nav-btn:hover{background:var(--green);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px #66cc994d}.nav-btn.active{background:var(--grainflow-green);color:var(--white);border-color:var(--grainflow-green);box-shadow:0 4px 12px #6c96;font-weight:700}.nav-btn.active:hover{background:var(--green);transform:translateY(0)}.hamburger-btn{display:none;flex-direction:column;justify-content:space-around;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:8px;z-index:1001}.hamburger-line{width:100%;height:3px;background:var(--grainflow-green);border-radius:2px;transition:all .3s ease}.mobile-menu-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:998}@media(max-width:768px){.hamburger-btn{display:flex}.mobile-menu-overlay{display:block}.nav-links{position:fixed;top:0;right:-100%;height:100vh;width:280px;background:var(--white);flex-direction:column;padding:80px 20px 20px;box-shadow:-4px 0 20px #00000026;transition:right .3s ease;z-index:999;overflow-y:auto;gap:10px}.nav-links.mobile-open{right:0}.nav-btn{width:100%;text-align:left;padding:14px 20px;font-size:1rem}.nav-btn:hover{transform:translate(-4px)}.nav-btn.active:hover{transform:translate(0)}}.filter-section{background:var(--white);padding:20px 24px;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:24px}.filter-label{display:block;font-weight:600;color:var(--gray);font-size:1rem;margin-bottom:12px}.province-filters{display:flex;gap:10px;flex-wrap:wrap}.filter-btn{background:var(--white);color:var(--gray);border:2px solid #e0e0e0;padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif}.filter-btn:hover{border-color:var(--green);transform:translateY(-2px)}.filter-btn.active{background:var(--green);color:var(--white);border-color:var(--green)}.filter-count{margin-top:12px;font-size:.9rem;color:#666;font-weight:500}.filter-group{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.company-filter-dropdown{width:100%;max-width:400px;padding:10px 16px;font-size:1rem;font-family:Montserrat,sans-serif;border:2px solid #e0e0e0;border-radius:8px;background:var(--white);color:var(--gray);cursor:pointer;transition:all .3s ease;margin-top:8px}.company-filter-dropdown:hover{border-color:var(--green)}.company-filter-dropdown:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #4caf501a}.elevator-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.elevator-card{background:var(--white);padding:24px;border-radius:12px;box-shadow:0 4px 12px #00000014;transition:all .3s ease}.elevator-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.elevator-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.elevator-header h3{color:var(--gray);font-size:1.3rem;font-weight:700;margin-bottom:4px}.elevator-location{color:#666;font-size:.95rem;margin-bottom:16px}.facility-type-badge{display:inline-block;background:var(--grainflow-green);color:var(--white);padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;margin-top:8px}.facility-type-table{color:var(--grainflow-green);font-weight:600;font-size:.85rem}.status-badge{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.available{background-color:#e8f5e9;color:#2e7d32}.status-badge.unavailable{background-color:#fff3e0;color:#e65100}.nearby-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;background-color:#fef3c7;color:var(--amber-orange);margin-top:6px}.action-btn{width:100%;background:var(--green);color:var(--white);border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;margin-top:16px}.action-btn:hover:not(:disabled){background:var(--amber-orange);transform:translateY(-2px);box-shadow:0 4px 12px #ff99334d}.action-btn.added{background:var(--gold);cursor:default}.action-btn:disabled{opacity:.6;cursor:not-allowed}.contact-buttons{display:flex;gap:10px;margin-top:16px}.contact-btn{flex:1;padding:10px 16px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;text-decoration:none;display:inline-block;text-align:center}.email-btn{background:var(--amber-orange);color:var(--white)}.email-btn:hover{background:var(--grainflow-green);transform:translateY(-2px);color:var(--white)}.phone-btn{background:var(--green);color:var(--white)}.phone-btn:hover{background:var(--amber-orange);transform:translateY(-2px);color:var(--white)}.text-btn{background:var(--gold);color:var(--gray)}.text-btn:hover{background:var(--amber-orange);transform:translateY(-2px);color:var(--white)}.empty-state{text-align:center;padding:60px 20px;background:var(--white);border-radius:12px;box-shadow:0 4px 12px #00000014}.empty-state h2{color:var(--gray);font-size:2rem;margin-bottom:12px}.empty-state p{color:#666;font-size:1.1rem;margin-bottom:24px}.primary-btn{background:var(--green);color:var(--white);border:none;padding:14px 32px;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif}.primary-btn:hover{background:var(--amber-orange);transform:translateY(-2px);box-shadow:0 4px 12px #ff99334d}.my-elevator .remove-btn{background:none;border:none;color:#999;font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.my-elevator .remove-btn:hover{background:#ffe6e6;color:var(--alert-red);transform:rotate(90deg)}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0;padding:20px;background:var(--light-gray);border-radius:8px}.metric{text-align:center}.metric-label{font-size:.85rem;color:#666;margin-bottom:8px;font-weight:500}.metric-value{font-size:1.8rem;font-weight:700;color:var(--gray);margin-bottom:4px}.metric-value.small{font-size:.9rem}.metric-value.status-short{color:var(--green)}.metric-value.status-moderate{color:var(--gold)}.metric-value.status-long{color:#ff6b6b}.metric-status{font-size:.8rem;font-weight:600;text-transform:uppercase;color:#999}.contact-info{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.contact-link{color:var(--grainflow-green);text-decoration:none;font-size:.9rem;transition:color .3s ease}.contact-link:hover{color:var(--amber-orange);text-decoration:underline}.loading{text-align:center;padding:40px;font-size:1.2rem;color:var(--gray)}@media(max-width:768px){.header{flex-direction:column;gap:16px;align-items:flex-start}.nav-links{width:100%;flex-direction:column}.nav-btn{width:100%}.elevator-list,.metrics-grid{grid-template-columns:1fr}.login-card{padding:30px 20px}.login-logo{max-width:200px}.setup-card{padding:30px 20px}.setup-logo{max-width:150px}.nav-links{flex-wrap:wrap}}.marker-label{background:#fff!important;padding:4px 8px!important;border-radius:4px!important;border:2px solid #2e7d32!important;box-shadow:0 2px 6px #0000004d!important;white-space:nowrap!important}.view-toggle{display:flex;gap:12px;margin-bottom:24px;justify-content:center}.view-toggle-btn{background:var(--white);color:var(--gray);border:2px solid #e0e0e0;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.view-toggle-btn:hover{border-color:var(--green);color:var(--green)}.view-toggle-btn.active{background:var(--green);color:var(--white);border-color:var(--green)}.map-container{background:var(--white);padding:20px;border-radius:12px;box-shadow:0 4px 12px #00000014}.map-info-window{padding:8px;min-width:200px}.map-info-window h3{font-size:1rem;color:var(--gray);margin-bottom:8px}.info-location{font-size:.85rem;color:#666;margin-bottom:12px}.info-status{padding:8px 12px;border-radius:6px;font-size:.85rem;font-weight:600;text-align:center;margin-bottom:12px}.info-status.available{background-color:#e8f5e9;color:#2e7d32}.info-status.unavailable{background-color:#ffebee;color:#c62828}.info-contact{display:flex;gap:8px}.info-btn{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.info-btn.email{background-color:var(--amber-orange);color:var(--white)}.info-btn.email:hover{background-color:var(--grainflow-green)}.info-btn.phone{background-color:var(--green);color:var(--white)}.info-btn.phone:hover{background-color:var(--amber-orange)}.info-queue-data{background-color:#f5f5f5;padding:12px;border-radius:6px;margin:12px 0}.queue-metric{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.queue-metric:last-of-type{margin-bottom:0}.queue-label{font-size:.85rem;color:#666;font-weight:500}.queue-value{font-size:.95rem;color:var(--gray);font-weight:700}.queue-updated{font-size:.75rem;color:#999;margin-top:8px;margin-bottom:0;text-align:center;font-style:italic}.info-btn.maps-btn{width:100%;margin-top:8px;background-color:#4285f4;color:var(--white)}.info-btn.maps-btn:hover{background-color:#3367d6}.view-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.sort-controls{display:flex;align-items:center;gap:10px}.sort-controls label{font-weight:600;color:var(--gray);font-size:.9rem}.sort-select{padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;font-weight:500;background:var(--white);cursor:pointer}.sort-order-btn{padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;font-weight:600;background:var(--white);cursor:pointer;transition:all .2s ease}.sort-order-btn:hover{border-color:var(--green);color:var(--green)}.pending-invites-section{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:16px;padding:24px;margin-bottom:32px;border:1px solid #bfdbfe}.pending-invites-section h2{margin:0 0 4px;font-size:1.25rem;color:#1e40af}.pending-invites-section .section-subtitle{margin:0 0 20px;color:#3b82f6;font-size:.9rem}.invite-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.invite-card{background:var(--white);border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0}.invite-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.invite-site-info h3{margin:0 0 4px;font-size:1.1rem;color:var(--text-primary)}.invite-site-address{margin:0;font-size:.85rem;color:var(--text-secondary)}.invite-type-badge{background:#dbeafe;color:#1d4ed8;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.invite-card-body{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.invite-detail{display:flex;justify-content:space-between;font-size:.9rem}.invite-detail .label{color:var(--text-secondary)}.invite-detail .value{color:var(--text-primary);font-weight:500}.invite-card-actions{display:flex;gap:12px}.invite-card-actions .primary-btn{flex:1;padding:10px 16px;font-size:.9rem}.invite-card-actions .secondary-btn{padding:10px 16px;font-size:.9rem;background:transparent;border:1px solid #cbd5e1;color:#64748b}.invite-card-actions .secondary-btn:hover{background:#f1f5f9;border-color:#94a3b8}.elevator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.elevator-card-enhanced{background:var(--white);border-radius:16px;box-shadow:0 4px 16px #00000014;overflow:hidden;transition:all .3s ease}.elevator-card-enhanced:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001f}.elevator-card-enhanced .card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 0}.elevator-card-enhanced .card-title-section h3{font-size:1.2rem;color:var(--gray);margin:0 0 4px;font-weight:700}.elevator-card-enhanced .elevator-location{color:#64748b;font-size:.9rem;margin:0}.elevator-card-enhanced .remove-btn{background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;padding:0;line-height:1;transition:color .2s}.elevator-card-enhanced .remove-btn:hover{color:#ef4444}.card-distance-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.distance-info{display:flex;flex-direction:column}.distance-value{font-size:1.1rem;font-weight:700;color:var(--gray)}.travel-time{font-size:.85rem;color:#64748b}.wait-badge{padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem}.wait-badge.status-short{background:#dcfce7;color:#166534}.wait-badge.status-moderate{background:#fef3c7;color:#92400e}.wait-badge.status-long{background:#fee2e2;color:#991b1b}.wait-times-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 20px}.wait-metric{text-align:center}.wait-label{display:block;font-size:.75rem;color:#64748b;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.wait-value{display:block;font-size:1.1rem;font-weight:700;color:var(--gray)}.wait-value.status-short{color:#16a34a}.wait-value.status-moderate{color:#d97706}.wait-value.status-long{color:#dc2626}.wait-value.forecast{color:#7c3aed}.wait-value.trucks{color:#3b82f6}.spot-prices-section{padding:16px 20px;background:#fefce8;border-top:1px solid #fef08a}.spot-prices-section h4{font-size:.85rem;color:#854d0e;margin:0 0 12px;font-weight:600}.spot-prices-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.spot-price{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:8px 12px;border-radius:8px;border:1px solid #fef08a}.spot-price .commodity{font-size:.85rem;color:#64748b}.spot-price .price{font-size:.95rem;font-weight:700;color:#166534}.card-contact{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #e2e8f0}.card-contact .contact-btn{flex:1;padding:10px;border-radius:8px;text-align:center;text-decoration:none;font-size:.85rem;font-weight:600;transition:all .2s ease}.card-contact .contact-btn.phone{background:#dbeafe;color:#1d4ed8}.card-contact .contact-btn.phone:hover{background:#1d4ed8;color:#fff}.card-contact .contact-btn.email{background:#fef3c7;color:#92400e}.card-contact .contact-btn.email:hover{background:#f59e0b;color:#fff}.card-footer{padding:12px 20px;background:#f8fafc;border-top:1px solid #e2e8f0}.last-updated{font-size:.8rem;color:#94a3b8}.elevator-table-enhanced{overflow-x:auto}.elevator-table-enhanced .elevator-table{min-width:1200px}.elevator-table-enhanced th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.elevator-table-enhanced th.sortable:hover{background:#f1f5f9}.elevator-name-cell{min-width:180px}.elevator-name-cell strong{display:block;color:var(--gray)}.elevator-name-cell .location-sub{display:block;font-size:.8rem;color:#64748b;margin-top:2px}.distance-cell{font-weight:600;color:var(--gray)}.wait-status{display:inline-block;padding:4px 10px;border-radius:12px;font-weight:600;font-size:.85rem}.wait-status.status-short{background:#dcfce7;color:#166534}.wait-status.status-moderate{background:#fef3c7;color:#92400e}.wait-status.status-long{background:#fee2e2;color:#991b1b}.forecast-cell{color:#7c3aed;font-weight:600}.trucks-cell{color:#3b82f6;font-weight:600}.price-cell{color:#166534;font-weight:600}.info-distance{background:#eff6ff;padding:8px 12px;border-radius:6px;margin-bottom:12px;text-align:center}.info-distance strong{color:#1d4ed8}.info-distance span{color:#64748b;font-size:.85rem}.queue-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.info-spot-prices{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.info-spot-prices strong{display:block;font-size:.8rem;color:#64748b;margin-bottom:4px}.spot-prices-row{display:flex;gap:12px}.spot-price-item{font-size:.85rem;color:#166534;font-weight:600;text-transform:capitalize}.help-tooltip{position:relative;display:inline-flex;align-items:center;margin-left:4px}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#94a3b8;color:#fff;border-radius:50%;font-size:10px;font-weight:700;cursor:help;transition:background .2s}.help-icon:hover{background:#64748b}.tooltip-text{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:10px 14px;border-radius:8px;font-size:.8rem;font-weight:400;line-height:1.4;width:220px;text-align:left;z-index:1000;box-shadow:0 4px 12px #0003;transition:opacity .2s,visibility .2s;margin-bottom:8px;text-transform:none;letter-spacing:normal}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:#1e293b transparent transparent transparent}.help-tooltip:hover .tooltip-text{visibility:visible;opacity:1}@media(max-width:768px){.view-controls{flex-direction:column;align-items:stretch}.sort-controls{justify-content:center}.elevator-grid{grid-template-columns:1fr}.wait-times-grid{grid-template-columns:repeat(2,1fr)}.spot-prices-grid{grid-template-columns:1fr}.elevator-table-enhanced .elevator-table{font-size:.85rem}.tooltip-text{width:180px;font-size:.75rem}}.ad-banner{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:2px solid #9ca3af;border-radius:8px;padding:20px;margin:20px 0;text-align:center;transition:all .3s ease;cursor:pointer}.ad-banner:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000026}.ad-content{display:flex;flex-direction:column;align-items:center;gap:8px}.ad-label{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#6b7280;text-transform:uppercase;background-color:#fffc;padding:3px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.1)}.ad-company{font-size:14px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;margin-top:4px}.ad-headline{font-size:20px;font-weight:700;color:#1a1a1a;line-height:1.2;margin-top:4px}.ad-subheadline{font-size:14px;color:#4a4a4a;line-height:1.4;max-width:90%}.ad-cta-button{margin-top:8px;padding:10px 24px;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.ad-cta-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}.ad-cta-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.ad-message{font-size:18px;font-weight:700;color:#374151}.ad-cta{font-size:14px;color:#6b7280;font-style:italic}.ad-banner-large{min-height:90px;max-width:728px;margin-left:auto;margin-right:auto;padding:16px 24px}.ad-banner-medium{min-height:60px;max-width:468px;margin-left:auto;margin-right:auto;padding:14px 20px}.ad-banner-medium .ad-headline{font-size:18px}.ad-banner-medium .ad-subheadline{font-size:13px}.ad-banner-medium .ad-company{font-size:12px}.ad-banner-small{min-height:50px;max-width:320px;margin-left:auto;margin-right:auto;padding:12px 16px}.ad-banner-sidebar{min-height:250px;max-width:300px;margin:20px;padding:18px}.ad-banner-sidebar .ad-headline{font-size:17px}.ad-banner-sidebar .ad-subheadline,.ad-banner-sidebar .ad-company{font-size:13px}.ad-banner-skyscraper{min-height:600px;max-width:160px;margin:0 auto;padding:16px 12px}.ad-banner-skyscraper .ad-headline{font-size:15px}.ad-banner-skyscraper .ad-subheadline{font-size:12px}.ad-banner-skyscraper .ad-company{font-size:11px}.ad-banner-skyscraper .ad-cta-button{padding:8px 16px;font-size:12px}.content-with-sidebar{display:flex;gap:20px;width:100%;max-width:1400px;margin:0 auto}.main-content{flex:1;min-width:0}.sidebar-ads{width:180px;flex-shrink:0}.ad-position-top{margin-top:20px;margin-bottom:30px}.ad-position-bottom{margin-top:30px;margin-bottom:20px}.ad-position-sidebar{position:sticky;top:20px}@media(max-width:768px){.ad-banner-large,.ad-banner-medium{max-width:100%}.ad-banner-sidebar{margin:20px auto;max-width:100%}.ad-message{font-size:16px}.ad-cta{font-size:12px}.content-with-sidebar{flex-direction:column}.sidebar-ads{width:100%;order:2}.ad-banner-skyscraper{min-height:250px;max-width:100%}}.table-container{width:100%;overflow-x:auto;background:var(--white);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:20px 0}.elevator-table{width:100%;border-collapse:collapse;min-width:800px}.elevator-table thead{background:var(--grainflow-green);color:var(--white)}.elevator-table th{padding:16px 12px;text-align:left;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.elevator-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background-color .2s ease}.elevator-table th.sortable:hover{background-color:#ffffff1a}.elevator-table th.sortable:active{background-color:#ffffff26}.sort-arrow{font-size:12px;margin-left:4px;opacity:.9}.elevator-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.elevator-table tbody tr:hover{background-color:#f9fafb}.elevator-table tbody tr:last-child{border-bottom:none}.elevator-table td{padding:14px 12px;font-size:14px;color:#374151}.elevator-table .elevator-name{font-weight:600;color:var(--primary)}.elevator-table .nearby-badge{margin-left:8px;font-size:12px}.elevator-table .nearby-row{background-color:#fef3c7}.elevator-table .nearby-row:hover{background-color:#fde68a}.elevator-table .table-link{color:var(--secondary);text-decoration:none;transition:color .2s ease}.elevator-table .table-link:hover{color:var(--primary);text-decoration:underline}.elevator-table .queue-status{padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;white-space:nowrap}.elevator-table .queue-status.low{background-color:#d1fae5;color:#065f46}.elevator-table .queue-status.medium{background-color:#fef3c7;color:#92400e}.elevator-table .queue-status.high{background-color:#fee2e2;color:#991b1b}.elevator-table .last-updated{color:#6b7280;font-size:13px}.table-action-btn{padding:8px 16px;border:none;border-radius:6px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:var(--white);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.table-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.table-action-btn:disabled,.table-action-btn.added{background:#10b981;cursor:not-allowed;transform:none}.table-action-btn.added:hover{transform:none;box-shadow:none}.table-remove-btn{padding:6px 12px;border:1px solid #ef4444;border-radius:6px;background:transparent;color:#ef4444;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.table-remove-btn:hover{background:#ef4444;color:var(--white)}.table-contact-btns{display:flex;gap:8px}.table-icon-btn{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--white);font-size:16px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.table-icon-btn:hover{background:var(--background);transform:scale(1.1)}@media(max-width:768px){.table-container{margin:10px 0;border-radius:8px}.elevator-table{font-size:12px;min-width:600px}.elevator-table th,.elevator-table td{padding:10px 8px}.table-action-btn,.table-remove-btn{padding:6px 10px;font-size:12px}}.referral-container{max-width:1200px;margin:0 auto;padding:20px}.referral-hero{text-align:center;padding:40px 20px;background:var(--grainflow-green);border-radius:16px;color:var(--white);margin-bottom:30px}.referral-hero h2{font-size:2rem;margin-bottom:12px}.referral-hero p{font-size:1.1rem;opacity:.95}.referral-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:var(--white);padding:24px;border-radius:12px;box-shadow:0 4px 12px #0000001a;text-align:center}.stat-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.stat-value.code{font-family:Courier New,monospace;font-size:1.5rem;background:#d4f4e0;color:var(--neutral-gray);padding:8px 16px;border-radius:8px;display:inline-block;font-weight:700}.stat-value.points{color:var(--gold)}.progress-card{background:var(--white);padding:24px;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:30px}.progress-header{display:flex;justify-content:space-between;margin-bottom:12px;font-weight:600;color:var(--text-primary)}.progress-bar{width:100%;height:24px;background:var(--background);border-radius:12px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--green) 0%,var(--gold) 100%);transition:width .5s ease}.share-section{background:var(--white);padding:30px;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:30px}.share-section h3{color:var(--text-primary);margin-bottom:20px;font-size:1.5rem}.referral-link-box{display:flex;gap:10px;margin-bottom:20px}.referral-input{flex:1;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:.95rem;font-family:Courier New,monospace;background:var(--white);color:var(--text-primary);font-weight:600}.copy-btn{padding:12px 24px;border:none;border-radius:8px;background:var(--green);color:var(--white);font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.copy-btn:hover{background:var(--amber-orange);transform:translateY(-2px)}.share-buttons{display:flex;gap:15px;flex-wrap:wrap}.share-btn{flex:1;min-width:200px;padding:14px 20px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.share-btn.email{background:var(--green);color:var(--white)}.share-btn.email:hover{background:var(--amber-orange);transform:translateY(-2px)}.share-btn.sms{background:var(--gold);color:#1f2937}.share-btn.sms:hover{background:var(--amber-orange);transform:translateY(-2px);color:var(--white)}.rewards-tiers{background:var(--white);padding:30px;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:30px}.rewards-tiers h3{color:var(--text-primary);margin-bottom:24px;text-align:center;font-size:1.5rem}.tiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.tier-card{padding:20px;border-radius:12px;border:2px solid var(--border);text-align:center;transition:all .3s ease;opacity:.6}.tier-card.unlocked{opacity:1;border-color:var(--green);box-shadow:0 4px 12px #66cc994d}.tier-icon{font-size:2.5rem;margin-bottom:8px}.tier-name{font-weight:700;color:var(--text-primary);margin-bottom:8px;font-size:1.1rem}.tier-requirement{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.tier-reward{font-size:.95rem;font-weight:700;color:var(--green)}.referral-info{background:var(--white);padding:30px;border-radius:12px;margin-bottom:30px;box-shadow:0 4px 12px #0000001a}.referral-info h3{color:var(--text-primary);margin-bottom:16px;font-size:1.5rem}.referral-info ol{margin-left:20px;color:var(--text-primary);line-height:1.8}.referral-info ol li{margin-bottom:8px;font-size:1rem}.referral-info .note{margin-top:20px;font-size:.9rem;color:var(--text-secondary);font-style:italic}.referral-btn{background:var(--harvest-gold);position:relative;overflow:hidden}.referral-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.referral-btn:hover:before{left:100%}.rewards-container{max-width:1200px;margin:0 auto;padding:20px}.achievements-section{margin-bottom:40px}.section-header{text-align:center;margin-bottom:30px}.achievement-category{margin-bottom:40px}.category-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:20px;padding-bottom:10px;border-bottom:3px solid var(--green);display:inline-block}.section-header h2{font-size:2rem;color:var(--text-primary);margin-bottom:8px}.achievement-summary{font-size:1.1rem;color:var(--text-secondary);font-weight:600}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:40px}.achievement-card{background:var(--white);border-radius:12px;padding:24px;box-shadow:0 4px 12px #0000001a;border:2px solid var(--border);transition:all .3s ease;position:relative;overflow:hidden}.achievement-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--green),var(--gold));opacity:0;transition:opacity .3s ease}.achievement-card.completed{border-color:var(--green);box-shadow:0 4px 16px #66cc994d}.achievement-card.completed:before{opacity:1}.achievement-icon{font-size:3rem;margin-bottom:16px;text-align:center}.achievement-content{display:flex;flex-direction:column;gap:12px}.achievement-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0}.achievement-description{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin:0}.achievement-progress{display:flex;align-items:center;gap:12px}.achievement-progress .progress-bar{flex:1;height:20px;background:var(--background);border-radius:10px;overflow:hidden}.achievement-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--gold));transition:width .5s ease;border-radius:10px}.progress-text{font-size:.9rem;font-weight:700;color:var(--text-primary);white-space:nowrap}.achievement-reward{padding:8px 12px;border-radius:8px;text-align:center;font-weight:600;font-size:.95rem}.reward-earned{color:var(--green);background:#d4f4e0}.reward-pending{color:var(--text-secondary);background:var(--background)}.referral-section{margin-top:40px}.rewards-btn{background:var(--harvest-gold);position:relative;overflow:hidden}.rewards-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.rewards-btn:hover:before{left:100%}@media(max-width:768px){.achievements-grid{grid-template-columns:1fr}.achievement-title{font-size:1.1rem}.achievement-icon{font-size:2.5rem}.section-header h2,.referral-hero h2{font-size:1.5rem}.referral-stats{grid-template-columns:1fr 1fr}.stat-value{font-size:1.5rem}.share-buttons{flex-direction:column}.share-btn{min-width:100%}.tiers-grid{grid-template-columns:1fr 1fr}.referral-link-box{flex-direction:column}}.social-links{display:flex;gap:12px;align-items:center;justify-content:center;padding:20px 0}.social-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer;text-decoration:none;box-shadow:0 2px 8px #0000001a}.social-btn:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0003}.social-btn.instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:var(--white)}.social-btn.twitter{background:#000;color:var(--white)}.social-btn.linkedin{background:#0077b5;color:var(--white)}.social-btn.facebook{background:#1877f2;color:var(--white)}.operator-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:400px 400px;gap:20px;margin-bottom:30px}.dashboard-panel{background:var(--white);border-radius:12px;padding:20px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column}.dashboard-panel h3{color:var(--gray);font-size:1.1rem;margin-bottom:16px;font-weight:700}.video-panel{background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}.video-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#2a2a2a;border-radius:8px;color:#fff}.camera-icon{font-size:4rem;margin-bottom:16px}.camera-note{font-size:.85rem;color:#999;margin-top:8px}.live-status{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.9rem;color:var(--gray)}.status-indicator{width:12px;height:12px;border-radius:50%;background:#ccc}.status-indicator.active{background:var(--grainflow-green);box-shadow:0 0 8px #6c99;animation:pulse 2s infinite}.scoreboard-panel{background:linear-gradient(135deg,#fff,#f8f8f8)}.metrics-scoreboard{flex:1;display:flex;flex-direction:column;justify-content:space-around}.metric-row{display:flex;gap:16px;justify-content:space-around}.metric-large,.metric-medium{text-align:center;padding:16px;background:var(--white);border-radius:8px;box-shadow:0 2px 8px #0000000d;flex:1}.metric-large .metric-value{font-size:3rem;font-weight:700;color:var(--grainflow-green);line-height:1}.metric-medium .metric-value{font-size:1.8rem;font-weight:700;color:var(--grainflow-green)}.metric-label{color:var(--gray);font-size:.9rem;margin-top:8px;font-weight:600}.chart-panel{background:linear-gradient(135deg,#fff,#fafafa)}.simple-chart{flex:1;position:relative;padding:20px}.chart-svg{width:100%;height:100%}.chart-label{text-align:center;color:var(--gray);font-size:.85rem;margin-top:8px}.active-deliveries-section{margin-bottom:30px}.active-deliveries-section h2{color:var(--gray);font-size:1.5rem;margin-bottom:20px;font-weight:700}.deliveries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.delivery-card{background:var(--white);border-radius:12px;padding:20px;box-shadow:0 4px 12px #00000014;border-left:4px solid var(--grainflow-green)}.delivery-card.at_facility{border-left-color:#f93}.delivery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.delivery-header h4{color:var(--gray);font-size:1.1rem;font-weight:700}.delivery-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;font-size:.9rem}.detail-row span{color:#666}.detail-row strong{color:var(--gray);font-weight:600}.status-badge.en_route{background:#e8f5e9;color:#2e7d32;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.at_facility{background:#fff3e0;color:#e65100;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.login-note{text-align:center;color:var(--gray);font-size:.9rem;margin-top:20px}@media(max-width:968px){.operator-dashboard-grid{grid-template-columns:1fr;grid-template-rows:auto}.deliveries-grid{grid-template-columns:1fr}}.filter-buttons{display:flex;gap:12px;flex-wrap:wrap}.filter-btn{background:var(--white);color:var(--gray);border:2px solid #ddd;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:var(--grainflow-green);color:var(--grainflow-green)}.filter-btn.active{background:var(--grainflow-green);color:var(--white);border-color:var(--grainflow-green)}.status-tag{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.status-tag.scheduled{background:#e3f2fd;color:#1976d2}.status-tag.unscheduled{background:#fff3e0;color:#f57c00}.status-tag.completed{background:#e8f5e9;color:#388e3c}.supplier-name{font-weight:600;color:var(--grainflow-green)}.next-delivery-cell{font-size:.9rem;color:#666}.location-tracking-section{margin-bottom:30px;background:var(--white);padding:24px;border-radius:12px;box-shadow:0 4px 12px #00000014}.location-tracking-section h3{color:var(--gray);font-size:1.3rem;margin-bottom:20px;font-weight:700}.tracking-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.tracking-card{background:linear-gradient(135deg,#fff,#f9f9f9);border-radius:12px;padding:20px;border-left:4px solid var(--grainflow-green);box-shadow:0 2px 8px #0000000f}.tracking-card.at_facility{border-left-color:#f93}.tracking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eee}.tracking-header h4{color:var(--gray);font-size:1.1rem;font-weight:700;margin-bottom:4px}.driver-name{color:#666;font-size:.85rem;margin:0}.tracking-details{display:flex;flex-direction:column;gap:10px}.tracking-row{display:flex;justify-content:space-between;font-size:.9rem}.tracking-row span{color:#666}.tracking-row strong{color:var(--gray);font-weight:600}.tracking-row .eta{color:var(--grainflow-green);font-weight:700}.gps-coords{font-family:Courier New,monospace;font-size:.85rem}.last-update{color:#999;font-weight:500}.toggle-tracking-btn{background:var(--grainflow-green);color:var(--white);border:none;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.toggle-tracking-btn:hover{background:var(--green);transform:translateY(-2px);box-shadow:0 4px 12px #66cc994d}.toggle-tracking-btn.active{background:#f93}.deliveries-list-section{margin-bottom:30px}.deliveries-list-section h3{color:var(--gray);font-size:1.3rem;margin-bottom:20px;font-weight:700}.deliveries-table-wrapper{overflow-x:auto;background:var(--white);border-radius:12px;box-shadow:0 4px 12px #00000014}.deliveries-table{width:100%;border-collapse:collapse}.deliveries-table th,.deliveries-table td{padding:16px;text-align:left;border-bottom:1px solid #f0f0f0}.deliveries-table th{background:linear-gradient(135deg,#f8f8f8,#f0f0f0);color:var(--gray);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.deliveries-table tbody tr:hover{background:#fafafa}.delivery-row.en_route{background:#66cc990d}.delivery-row.at_facility{background:#ff99330d}.delivery-row.completed{opacity:.7}.delivery-number{font-weight:600;color:var(--gray)}.eta-cell{font-weight:600;color:var(--grainflow-green)}@media(max-width:768px){.tracking-grid{grid-template-columns:1fr}.filter-buttons{flex-direction:column}.filter-btn{width:100%}}.page-footer{margin-top:auto;padding:30px 20px;background:linear-gradient(135deg,#66cc990d,#ffcc660d);border-top:1px solid var(--border);text-align:center}.footer-content{max-width:600px;margin:0 auto}.footer-text{color:var(--text-secondary);font-size:.9rem;margin-top:12px}@media(max-width:768px){.social-links{gap:8px}.social-btn{width:40px;height:40px}}.pagination-controls-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.items-per-page{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-primary)}.items-per-page-select{padding:6px 12px;border:2px solid var(--border);border-radius:6px;font-size:.95rem;font-family:Montserrat,sans-serif;background:var(--white);color:var(--text-primary);cursor:pointer;transition:border-color .3s ease}.items-per-page-select:hover{border-color:var(--green)}.items-per-page-select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #66cc991a}.pagination-container{margin-top:30px;padding:20px;background:var(--white);border-radius:12px;box-shadow:0 2px 8px #00000014}.pagination-info{text-align:center;margin-bottom:15px;color:var(--text-secondary);font-size:.95rem;font-weight:500}.pagination-buttons{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.pagination-btn{padding:8px 14px;border:2px solid var(--border);border-radius:8px;background:var(--white);color:var(--text-primary);font-size:.9rem;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease;min-width:40px}.pagination-btn:hover:not(:disabled){background:var(--green);color:var(--white);border-color:var(--green);transform:translateY(-2px);box-shadow:0 4px 8px #6c93}.pagination-btn.active{background:var(--green);color:var(--white);border-color:var(--green);box-shadow:0 4px 8px #6c93}.pagination-btn.dots{border:none;cursor:default;background:transparent}.pagination-btn.dots:hover{background:transparent;transform:none;box-shadow:none}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.pagination-controls-top{flex-direction:column;align-items:stretch}.filter-count{text-align:center}.items-per-page{justify-content:center}.pagination-buttons{gap:4px}.pagination-btn{padding:6px 10px;font-size:.85rem;min-width:36px}}.drivers-container{max-width:1200px;margin:0 auto}.drivers-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;flex-wrap:wrap;gap:20px}.drivers-info h2{font-size:1.8rem;color:var(--text-primary);margin-bottom:8px}.drivers-info p{color:var(--text-secondary);font-size:1rem}.success-message{background-color:#d1fae5;color:#065f46;padding:12px;border-radius:8px;margin-bottom:20px;font-size:.9rem;border-left:4px solid #10b981}.add-driver-form{background:var(--white);padding:30px;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:30px}.add-driver-form h3{color:var(--text-primary);margin-bottom:20px;font-size:1.5rem}.form-note{font-size:.85rem;color:var(--text-secondary);font-style:italic;margin-top:-10px;margin-bottom:20px}.submit-btn{width:100%;background:var(--grainflow-green);color:var(--white);border:none;padding:14px 24px;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif}.submit-btn:hover{background:var(--amber-orange);transform:translateY(-2px);box-shadow:0 4px 12px #ff99334d}.drivers-list{display:flex;flex-direction:column;gap:20px}.driver-card{background:var(--white);padding:24px;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;transition:all .3s ease}.driver-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.driver-info{flex:1}.driver-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.driver-header h3{font-size:1.4rem;color:var(--text-primary);margin:0}.status-badge.pending{background-color:#fef3c7;color:#92400e;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.active{background-color:#d1fae5;color:#065f46;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.driver-contact{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.contact-item{display:flex;align-items:center;gap:8px}.contact-label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.contact-value{color:var(--grainflow-green);text-decoration:none;font-size:.95rem;transition:color .3s ease}.contact-value:hover{color:var(--amber-orange);text-decoration:underline}.driver-meta{font-size:.85rem;color:var(--text-secondary)}.driver-actions{display:flex;flex-direction:column;gap:10px}.action-btn.primary{background:var(--grainflow-green);color:var(--white);padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;white-space:nowrap}.action-btn.primary:hover{background:var(--amber-orange);transform:translateY(-2px);box-shadow:0 4px 8px #ff99334d}.action-btn.secondary{background:var(--harvest-gold);color:var(--neutral-gray);padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;white-space:nowrap}.action-btn.secondary:hover{background:var(--amber-orange);color:var(--white);transform:translateY(-2px)}.action-btn.danger{background:transparent;color:var(--alert-red);padding:10px 20px;border:2px solid var(--alert-red);border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;white-space:nowrap}.action-btn.danger:hover{background:var(--alert-red);color:var(--white);transform:translateY(-2px)}@media(max-width:768px){.drivers-header{flex-direction:column;align-items:stretch}.driver-card{flex-direction:column}.driver-actions{flex-direction:row;width:100%}.action-btn.primary,.action-btn.secondary,.action-btn.danger{flex:1}.driver-header{flex-direction:column;align-items:flex-start}}.location-sharing-banner{background:var(--white);border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:20px;overflow:hidden}.location-status{display:flex;align-items:center;padding:16px 24px;gap:12px}.location-status.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-left:4px solid var(--grainflow-green)}.location-status.inactive{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-left:4px solid #9ca3af}.status-icon{font-size:1.5rem}.status-text{flex:1;font-weight:600;color:var(--text-primary);font-size:.95rem}.location-btn{padding:10px 20px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;white-space:nowrap}.location-btn.start{background:var(--grainflow-green);color:var(--white)}.location-btn.start:hover{background:var(--amber-orange);transform:translateY(-2px);box-shadow:0 4px 8px #ff99334d}.location-btn.stop{background:transparent;color:var(--alert-red);border:2px solid var(--alert-red)}.location-btn.stop:hover{background:var(--alert-red);color:var(--white)}.tracking-container{max-width:1600px;margin:0 auto}.tracking-header{margin-bottom:24px;text-align:center}.tracking-header h2{font-size:2rem;color:var(--text-primary);margin-bottom:8px}.tracking-subtitle{color:var(--text-secondary);font-size:1rem}.tracking-container .map-container{margin-bottom:0;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.drivers-sidebar{background:var(--white);padding:24px;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-top:20px}.drivers-sidebar h3{color:var(--text-primary);margin-bottom:16px;font-size:1.3rem}.drivers-list-tracking{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.driver-item{padding:16px;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .3s ease;background:var(--white)}.driver-item:hover{border-color:var(--grainflow-green);transform:translateY(-2px);box-shadow:0 4px 8px #6c93}.driver-item.selected{border-color:var(--grainflow-green);background:linear-gradient(135deg,#66cc991a,#ffcc661a);box-shadow:0 4px 8px #66cc994d}.driver-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.driver-name{font-weight:600;color:var(--text-primary);font-size:1rem}.status-indicator{font-size:1.2rem}.status-indicator.active{color:var(--grainflow-green);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.driver-item-info{font-size:.85rem;color:var(--text-secondary)}.last-updated{font-style:italic}.no-drivers{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:1rem}.driver-info-window{padding:8px;max-width:280px}.driver-info-window h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:12px}.info-details p{margin-bottom:8px;font-size:.9rem;line-height:1.5}.info-details strong{color:var(--text-primary)}.info-details a{color:var(--grainflow-green);text-decoration:none;transition:color .3s ease}.info-details a:hover{color:var(--amber-orange);text-decoration:underline}.coordinates{font-family:Courier New,monospace;font-size:.8rem!important;color:var(--text-secondary)}@media(max-width:768px){.tracking-header h2{font-size:1.5rem}.drivers-list-tracking{max-height:300px}.location-status{flex-direction:column;align-items:stretch;gap:10px}.status-text{text-align:center}.location-btn{width:100%}}.profile-content{max-width:1000px;margin:0 auto;padding:30px 20px}.profile-card{background:var(--white);border-radius:16px;padding:40px;box-shadow:0 4px 16px #00000014}.profile-card h2{color:var(--gray);font-size:1.8rem;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid var(--grainflow-green)}.profile-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;justify-content:flex-end;padding-top:20px;border-top:1px solid #e5e7eb}.calendar-sync-section{margin-top:30px;padding-top:30px;border-top:2px solid #e5e7eb}.calendar-sync-section h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:10px}.section-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:20px;line-height:1.5}.calendar-buttons{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.calendar-option{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--background);border-radius:12px;border:2px solid var(--border);transition:all .3s ease}.calendar-option:hover{border-color:var(--green);box-shadow:0 2px 8px #66cc991a}.calendar-info{display:flex;align-items:center;gap:12px}.calendar-icon{font-size:2rem}.calendar-details{display:flex;flex-direction:column;gap:4px}.calendar-name{font-weight:600;color:var(--text-primary);font-size:1rem}.calendar-status{font-size:.85rem;color:var(--text-secondary)}.connect-calendar-btn{padding:10px 24px;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;color:#fff}.connect-calendar-btn.google{background:#4285f4}.connect-calendar-btn.google:hover{background:#357ae8;transform:translateY(-2px);box-shadow:0 4px 12px #4285f44d}.connect-calendar-btn.outlook{background:#0078d4}.connect-calendar-btn.outlook:hover{background:#006abc;transform:translateY(-2px);box-shadow:0 4px 12px #0078d44d}.connect-calendar-btn.apple{background:#000}.connect-calendar-btn.apple:hover{background:#333;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.disconnect-calendar-btn{padding:10px 24px;border:2px solid #dc2626;background:transparent;color:#dc2626;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease}.disconnect-calendar-btn:hover{background:#dc2626;color:#fff;transform:translateY(-2px)}.calendar-note{font-size:.85rem;color:var(--text-secondary);font-style:italic;margin-top:16px}.farm-location-picker{margin:30px 0;padding:24px;background:var(--background);border-radius:12px;border:2px solid var(--border)}.location-picker-header h4{color:var(--text-primary);font-size:1.3rem;margin-bottom:8px}.location-instruction{color:var(--text-secondary);font-size:.95rem;margin-bottom:20px;line-height:1.5}.location-controls{display:flex;gap:12px;margin-bottom:16px}.location-search-input{flex:1;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:.95rem;background:var(--white);color:var(--text-primary);transition:all .3s ease}.location-search-input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #66cc991a}.current-location-btn{padding:12px 20px;border:2px solid var(--green);background:var(--green);color:#fff;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.current-location-btn:hover{background:var(--amber-orange);border-color:var(--amber-orange);transform:translateY(-2px);box-shadow:0 4px 12px #66cc994d}.location-info{margin-top:16px;padding:16px;background:#d4f4e0;border-radius:8px}.coordinates{color:var(--text-primary);font-size:.95rem;margin-bottom:8px}.location-tip{color:var(--text-secondary);font-size:.85rem;margin:0}.multi-location-manager{margin:30px 0;padding:24px;background:var(--background);border-radius:12px;border:2px solid var(--border)}.location-manager-header h4{color:var(--text-primary);font-size:1.3rem;margin-bottom:8px}.location-search{margin-bottom:16px}.location-form{margin-top:20px;padding:20px;background:var(--white);border-radius:12px;border:2px solid var(--green)}.location-form h5{color:var(--text-primary);font-size:1.1rem;margin-bottom:16px}.locations-list{margin-top:24px}.locations-list h5{color:var(--text-primary);font-size:1.1rem;margin-bottom:16px}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.location-card{background:var(--white);border-radius:12px;padding:16px;border:2px solid var(--border);transition:all .3s ease}.location-card:hover{border-color:var(--green);box-shadow:0 4px 12px #6c93}.location-card.editing{border-color:var(--green);background:#d4f4e0}.location-card-header{display:flex;gap:12px;margin-bottom:12px}.location-marker-badge{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;flex-shrink:0}.location-info{flex:1}.location-info h6{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 4px}.location-desc{color:var(--text-secondary);font-size:.85rem;margin:0 0 4px}.location-coords{color:var(--text-secondary);font-size:.75rem;margin:0;font-family:monospace}.location-actions{display:flex;gap:8px;justify-content:flex-end}.edit-btn,.delete-btn{padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.edit-btn{border:2px solid var(--green);background:transparent;color:var(--green)}.edit-btn:hover{background:var(--green);color:#fff}.delete-btn{border:2px solid #dc2626;background:transparent;color:#dc2626}.delete-btn:hover{background:#dc2626;color:#fff}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state p{font-size:1rem;margin:0}.secondary-btn{padding:12px 24px;border:2px solid var(--border);background:transparent;color:var(--text-primary);border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease}.secondary-btn:hover{border-color:var(--text-primary);background:var(--background)}.input-with-verify{position:relative;display:flex;gap:10px;align-items:center}.input-with-verify .form-input{flex:1}.verified-badge,.unverified-badge{padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;white-space:nowrap}.verified-badge{background:#d1fae5;color:#065f46;border:1px solid #10b981}.unverified-badge{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.verify-btn{background:var(--grainflow-green);color:var(--white);border:none;padding:10px 20px;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.verify-btn:hover:not(:disabled){background:var(--green);transform:translateY(-1px)}.verify-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.verification-input{display:flex;gap:10px;margin-top:10px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.verify-code-btn{background:var(--harvest-gold);color:var(--gray);border:none;padding:10px 24px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.verify-code-btn:hover{background:var(--amber-orange);color:var(--white);transform:translateY(-1px)}.field-note{font-size:.85rem;color:#6b7280;margin-top:6px;font-style:italic}.input-with-badge{position:relative;display:flex;align-items:center}.input-with-badge .form-input{flex:1}.verified-badge-inline{position:absolute;right:12px;background:#d1fae5;color:#065f46;padding:4px 12px;border-radius:4px;font-size:.85rem;font-weight:600;pointer-events:none}@media(max-width:768px){.form-row{grid-template-columns:1fr}.profile-card{padding:24px}.profile-content{padding:20px 15px}.input-with-verify{flex-direction:column;align-items:stretch}.verify-btn{width:100%}.verification-input{flex-direction:column}.verify-code-btn{width:100%}}.contracts-container{max-width:1400px;margin:0 auto;padding:30px 20px}.contracts-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:var(--white);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;text-align:center}.summary-label{color:var(--gray);font-size:.9rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.summary-value{color:var(--grainflow-green);font-size:2rem;font-weight:700}.contracts-table-wrapper{background:var(--white);border-radius:16px;padding:20px;box-shadow:0 4px 16px #00000014;overflow-x:auto}.contracts-table{width:100%;border-collapse:collapse;min-width:1200px}.contracts-table thead{background:var(--grainflow-green);color:var(--white)}.contracts-table th{padding:16px 12px;text-align:left;font-weight:600;font-size:.9rem;white-space:nowrap}.contracts-table td{padding:16px 12px;border-bottom:1px solid #e5e7eb;font-size:.95rem}.contracts-table tbody tr:hover{background:#f9fafb}.contracts-table tbody tr.status-completed{background:#f0fdf4}.contracts-table tbody tr.status-not-started{background:#fef3c7}.contracts-table tbody tr.status-in-progress{background:#dbeafe}.contract-number{font-weight:700;color:var(--grainflow-green)}.grade-cell{text-align:center;font-weight:600}.quantity-cell{text-align:right;font-family:Courier New,monospace}.quantity-cell.remaining{font-weight:700;color:var(--harvest-gold)}.price-cell{text-align:right;font-family:Courier New,monospace}.price-cell.final-price{font-weight:700;color:var(--grainflow-green)}.notes-cell{font-style:italic;color:#6b7280}.actions-cell{text-align:center;padding:12px!important}.schedule-delivery-btn{background:var(--grainflow-green);color:var(--white);border:none;padding:10px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.schedule-delivery-btn:hover{background:var(--green);transform:translateY(-2px);box-shadow:0 4px 12px #2d86594d}.completed-label{color:var(--grainflow-green);font-weight:600;font-size:.95rem}.contracts-footer-info{margin-top:20px;padding:16px;background:#fffbeb;border-left:4px solid var(--harvest-gold);border-radius:8px}.info-note{margin:0;color:var(--gray);font-size:.9rem;line-height:1.6}.deliveries-container{max-width:1400px;margin:0 auto;padding:30px 20px}.deliveries-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px;flex-wrap:wrap}.view-toggle{display:flex;gap:10px;background:var(--white);padding:6px;border-radius:10px;box-shadow:0 2px 8px #00000014}.toggle-btn{padding:10px 20px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-weight:600;color:var(--gray);transition:all .3s ease}.toggle-btn.active{background:var(--grainflow-green);color:var(--white)}.toggle-btn:hover:not(.active){background:#f3f4f6}.calendar-view{background:var(--white);border-radius:16px;padding:30px;box-shadow:0 4px 16px #00000014}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--grainflow-green)}.calendar-header h2{color:var(--gray);margin:0;flex:1;text-align:center}.month-nav-btn{background:var(--grainflow-green);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.month-nav-btn:hover{background:var(--green-dark);transform:translateY(-1px)}.month-nav-btn:active{transform:translateY(0)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e5e7eb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.calendar-day-header{background:var(--grainflow-green);color:var(--white);padding:12px;text-align:center;font-weight:600;font-size:.9rem}.calendar-day{background:var(--white);min-height:120px;padding:8px;position:relative}.calendar-day.other-month{background:#f9fafb}.calendar-day.today{background:#fef3c7;border:2px solid var(--harvest-gold)}.day-number{font-weight:700;color:var(--gray);margin-bottom:4px}.day-deliveries{display:flex;flex-direction:column;gap:4px}.delivery-badge{background:var(--grainflow-green);color:var(--white);padding:6px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease}.delivery-badge:hover{transform:scale(1.05);box-shadow:0 4px 12px #2d865966}.delivery-badge.pending{background:var(--harvest-gold);color:var(--gray)}.delivery-time{font-weight:700;margin-bottom:2px}.delivery-commodity{font-size:.7rem;opacity:.9}.delivery-quantity{font-size:.7rem;font-weight:600}.list-view{display:flex;flex-direction:column;gap:30px}.deliveries-list{display:flex;flex-direction:column;gap:16px}.delivery-card{background:var(--white);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--grainflow-green);transition:transform .2s ease}.delivery-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.delivery-card.pending{border-left-color:var(--harvest-gold)}.delivery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px}.delivery-date-time{flex:1}.delivery-date{font-size:1.1rem;font-weight:700;color:var(--gray);margin-bottom:4px}.delivery-time-slot{color:var(--grainflow-green);font-weight:600}.delivery-details{margin-bottom:20px}.delivery-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item.full-width{grid-column:1 / -1}.info-label{font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1rem;font-weight:600;color:var(--gray)}.delivery-actions{display:flex;gap:10px;padding-top:16px;border-top:1px solid #e5e7eb;flex-wrap:wrap}.start-delivery-btn{background:var(--grainflow-green);color:var(--white);font-weight:700;flex:1;min-width:150px}.start-delivery-btn:hover{background:var(--green);transform:translateY(-2px);box-shadow:0 6px 16px #2d865966}.time-slots-section{background:var(--white);border-radius:16px;padding:30px;box-shadow:0 4px 16px #00000014}.time-slots-section h3{color:var(--gray);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--grainflow-green)}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-bottom:16px}.time-slot{background:#f3f4f6;padding:12px;border-radius:8px;text-align:center;font-weight:600;color:var(--gray);border:2px solid transparent;cursor:pointer;transition:all .3s ease}.time-slot:hover{background:var(--grainflow-green);color:var(--white);border-color:var(--green)}.time-slots-note{color:#6b7280;font-size:.9rem;font-style:italic;margin:0}.table-view{background:var(--white);border-radius:16px;padding:30px;box-shadow:0 4px 16px #00000014}.deliveries-table-container{width:100%;overflow-x:auto;border-radius:12px;border:1px solid #e5e7eb}.deliveries-table{width:100%;border-collapse:collapse;font-size:.95rem}.deliveries-table thead{background:var(--grainflow-green);color:var(--white)}.deliveries-table thead th{padding:16px 12px;text-align:left;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.deliveries-table tbody tr{border-bottom:1px solid #e5e7eb;transition:all .2s ease}.deliveries-table tbody tr:hover{background:#f9fafb;transform:scale(1.002)}.deliveries-table tbody tr:last-child{border-bottom:none}.deliveries-table tbody td{padding:16px 12px;color:var(--gray)}.delivery-row.confirmed{background:#f0fdf4}.delivery-row.pending{background:#fffbeb}.date-cell{font-weight:600;color:var(--gray);white-space:nowrap}.time-cell{font-weight:600;color:var(--grainflow-green);white-space:nowrap}.contract-cell{font-weight:700;color:var(--grainflow-green)}.buyer-cell{font-weight:600}.commodity-cell{color:var(--gray)}.quantity-cell{font-weight:600;text-align:right}.location-cell{color:#6b7280;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-cell{text-align:center}.table-status-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap}.table-status-badge.confirmed{background:var(--grainflow-green);color:var(--white)}.table-status-badge.pending{background:var(--harvest-gold);color:var(--gray)}.actions-cell{text-align:center}.table-actions{display:flex;gap:8px;justify-content:center;align-items:center}.table-btn{border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:1.1rem;transition:all .2s ease;background:#f3f4f6;display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px}.table-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.table-btn:active{transform:translateY(0)}.table-btn.primary{background:var(--grainflow-green);color:var(--white)}.table-btn.primary:hover{background:var(--green);box-shadow:0 4px 12px #2d86594d}.table-btn.secondary{background:#3b82f6;color:var(--white)}.table-btn.secondary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.table-btn.danger{background:#ef4444;color:var(--white)}.table-btn.danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.delivery-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.delivery-modal{background:var(--white);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:2px solid var(--grainflow-green);background:linear-gradient(135deg,#f9fafb,#fff)}.modal-header h3{margin:0;color:var(--gray);font-size:1.5rem;font-weight:700}.modal-close-btn{background:transparent;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;line-height:1}.modal-close-btn:hover{background:#f3f4f6;color:var(--gray)}.modal-content{padding:28px}.modal-delivery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:16px}.modal-date-time{flex:1}.modal-date{font-size:1.25rem;font-weight:700;color:var(--gray);margin-bottom:6px}.modal-time{font-size:1rem;color:var(--grainflow-green);font-weight:600}.modal-status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:24px;font-size:.9rem;font-weight:600;white-space:nowrap}.modal-status-badge.confirmed{background:var(--grainflow-green);color:var(--white)}.modal-status-badge.pending{background:var(--harvest-gold);color:var(--gray)}.modal-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:28px;padding:24px;background:#f9fafb;border-radius:12px}.modal-info-item{display:flex;flex-direction:column;gap:6px}.modal-info-item.modal-info-full{grid-column:1 / -1}.modal-info-label{font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.modal-info-value{font-size:1.1rem;font-weight:700;color:var(--gray)}.modal-actions{display:flex;gap:12px;padding-top:20px;border-top:2px solid #e5e7eb;flex-wrap:wrap}.modal-btn{flex:1;min-width:140px;padding:14px 20px;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.modal-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.modal-btn:active{transform:translateY(0)}.modal-btn.primary{background:var(--grainflow-green);color:var(--white)}.modal-btn.primary:hover{background:var(--green);box-shadow:0 6px 20px #2d865966}.modal-btn.secondary{background:#3b82f6;color:var(--white)}.modal-btn.secondary:hover{background:#2563eb;box-shadow:0 6px 20px #3b82f666}.modal-btn.danger{background:#ef4444;color:var(--white)}.modal-btn.danger:hover{background:#dc2626;box-shadow:0 6px 20px #ef444466}@media(max-width:768px){.contracts-summary{grid-template-columns:1fr 1fr}.contracts-table-wrapper{padding:12px}.contracts-table{font-size:.85rem}.contracts-table th,.contracts-table td{padding:10px 8px}.deliveries-controls{flex-direction:column;align-items:stretch}.view-toggle{justify-content:center}.calendar-day{min-height:80px;padding:4px}.delivery-badge{font-size:.65rem;padding:4px}.delivery-info-grid{grid-template-columns:1fr}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.admin-container{min-height:100vh;background:var(--background)}.admin-content{max-width:1400px;margin:0 auto;padding:20px 24px 40px}.admin-header{margin-bottom:24px}.admin-header h1{font-size:1.75rem;color:var(--text-primary);margin:0 0 8px}.admin-subtitle{color:var(--text-secondary);margin:0;font-size:.95rem}.admin-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.admin-header-content h1{margin:0 0 8px}.create-user-modal{width:100%;max-width:650px}.create-user-modal .modal-body{max-height:60vh;overflow-y:auto;padding:4px}.create-user-modal .form-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #eee}.create-user-modal .form-section:last-of-type{border-bottom:none;margin-bottom:16px}.create-user-modal .form-section h3{font-size:15px;font-weight:600;color:#333;margin:0 0 16px}.create-user-modal .form-row{display:flex;gap:16px}.create-user-modal .form-row .form-group{flex:1}.create-user-modal .form-group{margin-bottom:16px}.create-user-modal .form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:6px}.create-user-modal .form-group input,.create-user-modal .form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.create-user-modal .form-group input:focus,.create-user-modal .form-group select:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d91a}.create-user-modal .form-hint{font-size:12px;color:#666;margin:4px 0 8px}.create-user-modal .checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.create-user-modal .checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9fa;border-radius:6px;cursor:pointer;font-size:13px;transition:background-color .15s}.create-user-modal .checkbox-item:hover{background:#eef2f7}.create-user-modal .checkbox-item input{width:auto;margin:0}.create-user-modal .info-box{background:#fff8e6;border:1px solid #ffe0b2;border-radius:6px;padding:12px 16px;font-size:13px;color:#7a5a00}.create-user-modal .info-box strong{color:#5c4200}.create-user-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #eee;margin-top:8px}@media(max-width:600px){.admin-header-content{flex-direction:column}.create-user-modal .form-row{flex-direction:column;gap:0}.create-user-modal .checkbox-grid{grid-template-columns:1fr}}.dashboard-stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #00000014}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-icon.orgs{background:#dbeafe}.stat-icon.users{background:#fef3c7}.stat-icon.drivers{background:#e0e7ff}.stat-icon.deliveries{background:#d1fae5}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.85rem;color:var(--text-secondary)}.dashboard-section h2{font-size:1.25rem;color:var(--text-primary);margin:0 0 16px}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.quick-action-card{background:#fff;border-radius:12px;padding:20px;text-decoration:none;color:inherit;box-shadow:0 2px 8px #00000014;transition:all .2s ease;display:flex;flex-direction:column;gap:8px}.quick-action-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.action-icon{font-size:28px}.action-desc{font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-badge{background:var(--orange);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.admin-nav{display:flex;align-items:center;gap:16px;width:100%}.admin-nav-links{display:flex;gap:8px;flex-wrap:wrap;flex:1}.nav-separator{color:#ccc;padding:0 4px;-webkit-user-select:none;user-select:none;align-self:center}.admin-nav-account{position:relative;margin-left:auto;flex-shrink:0}.account-button{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.account-button:hover{background:var(--light-green);border-color:var(--green)}.account-avatar{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.account-email{font-size:13px;color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{font-size:10px;color:var(--text-secondary)}.account-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:220px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden}.dropdown-header{padding:12px 16px;background:var(--background)}.dropdown-label{display:block;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.dropdown-email{display:block;font-size:14px;font-weight:600;color:var(--text-primary);word-break:break-all}.dropdown-divider{height:1px;background:var(--border)}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-primary);text-align:left;transition:background .2s ease}.dropdown-item:hover{background:var(--background)}.dropdown-item.logout{color:#dc2626}.dropdown-item.logout:hover{background:#fef2f2}.dropdown-icon{font-size:16px;width:20px;text-align:center}.admin-nav .nav-link{padding:8px 16px;border-radius:8px;text-decoration:none;color:var(--text-secondary);font-weight:600;transition:all .2s ease}.admin-nav .nav-link:hover{background:var(--light-green);color:var(--green)}.admin-nav .nav-link.active{background:var(--green);color:#fff}.admin-section{margin-top:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.section-header h2{margin:0;font-size:1.3rem;color:var(--text-primary)}.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.org-filter{padding:10px 16px;border:2px solid var(--border);border-radius:8px;font-size:.95rem;min-width:200px;background:#fff}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem}.checkbox-label input{width:18px;height:18px;cursor:pointer}.admin-form{background:var(--light-green);border:2px solid var(--green);border-radius:12px;padding:24px;margin-bottom:24px}.admin-form h3{margin:0 0 20px;color:var(--text-primary)}.admin-form .form-group{margin-bottom:16px}.admin-form label{display:block;margin-bottom:6px;font-weight:600;color:var(--text-primary)}.admin-form input,.admin-form select{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:1rem;transition:border-color .2s}.admin-form input:focus,.admin-form select:focus{outline:none;border-color:var(--green)}.form-hint{display:block;margin-top:6px;font-size:.85rem;color:var(--text-secondary)}.form-row{display:flex;gap:16px}.form-actions{display:flex;gap:12px;margin-top:20px}.admin-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{background:var(--background);font-weight:700;color:var(--text-primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover{background:var(--light-green)}.admin-table .suspended-row{opacity:.6;background:#fff5f5}.org-name,.site-name{font-weight:600;color:var(--text-primary)}.domains-cell,.address-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-count-cell{text-align:center}.user-count{display:inline-block;min-width:28px;padding:4px 8px;border-radius:12px;font-weight:600;font-size:.9rem;background:var(--light-green);color:var(--green)}.user-count.zero{background:#fee2e2;color:#dc2626}.coords-cell{font-family:monospace;font-size:.85rem;color:var(--text-secondary)}.actions-cell{display:flex;gap:8px;flex-wrap:wrap}.action-link{color:var(--green);text-decoration:none;font-weight:600;font-size:.9rem}.action-link:hover{text-decoration:underline}.action-btn{padding:6px 12px;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.action-btn.success{background:var(--green);color:#fff}.action-btn.success:hover{background:#5ab585}.action-btn.danger{background:#ef4444;color:#fff}.action-btn.danger:hover{background:#dc2626}.admin-table .empty-state{text-align:center;padding:40px;color:var(--text-secondary);font-style:italic}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.pending_approval{background:#fef3c7;color:#92400e}.status-badge.suspended{background:#fee2e2;color:#991b1b}.membership-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.membership-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--green)}.membership-card.pending_approval{border-left-color:#f59e0b}.membership-card.suspended{border-left-color:#ef4444;opacity:.8}.membership-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.user-info h3{margin:0 0 4px;font-size:1.1rem;color:var(--text-primary)}.user-email{margin:0;font-size:.9rem;color:var(--text-secondary)}.membership-details{margin-bottom:16px}.detail-row{display:flex;gap:8px;margin-bottom:8px;font-size:.9rem}.detail-row .label{color:var(--text-secondary);min-width:100px}.detail-row .value{color:var(--text-primary);font-weight:500}.auto-associated-badge{display:inline-block;background:#dbeafe;color:#1e40af;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500}.site-access-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.site-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.site-tag{display:inline-flex;align-items:center;gap:6px;background:var(--light-green);color:var(--green);padding:4px 10px;border-radius:4px;font-size:.85rem;font-weight:500}.remove-site{background:none;border:none;color:#ef4444;cursor:pointer;font-size:.9rem;padding:0;line-height:1}.add-site-select{padding:6px 10px;border:1px dashed var(--border);border-radius:4px;font-size:.85rem;color:var(--text-secondary);background:transparent;cursor:pointer}.membership-actions{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.empty-state-card{text-align:center;padding:40px;background:#fff;border-radius:12px;color:var(--text-secondary);font-style:italic;box-shadow:0 2px 8px #00000014}.info-message{background:#dbeafe;color:#1e40af;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.error-message{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}.success-message{background:#dcfce7;color:#166534;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}@media(max-width:1024px){.account-email{display:none}.account-button{padding:6px}}@media(max-width:768px){.admin-nav{flex-wrap:wrap;justify-content:center;margin-left:0;margin-top:16px;width:100%;gap:12px}.admin-nav-links{justify-content:center;width:100%}.admin-nav-account{margin-left:0;order:-1;width:100%;display:flex;justify-content:flex-end;margin-bottom:8px}.section-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:center}.form-row{flex-direction:column}.admin-table-wrapper{overflow-x:auto}.membership-cards{grid-template-columns:1fr}}.settings-header{margin-bottom:32px}.settings-header h1{font-size:1.75rem;color:var(--text-primary);margin:0 0 8px}.settings-subtitle{color:var(--text-secondary);margin:0}.settings-form{max-width:700px}.settings-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #00000014}.settings-section h2{font-size:1.1rem;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.settings-info-grid{display:grid;gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.info-item span{font-size:14px;color:var(--text-primary)}.info-item .monospace{font-family:Courier New,monospace;font-size:12px;background:var(--background);padding:4px 8px;border-radius:4px;word-break:break-all}.info-item .user-type-badge{display:inline-block;padding:4px 12px;background:var(--green);color:#fff;border-radius:20px;font-size:13px;font-weight:600;width:fit-content}.form-select{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s ease}.form-select:focus{outline:none;border-color:var(--green)}.form-hint{font-size:13px;color:var(--text-secondary);margin:4px 0 12px}.checkbox-group{display:flex;flex-direction:column;gap:16px}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--green);cursor:pointer}.checkbox-text{display:flex;flex-direction:column;gap:2px}.checkbox-text strong{font-size:14px;color:var(--text-primary)}.checkbox-hint{font-size:13px;color:var(--text-secondary)}.settings-actions{display:flex;gap:12px;margin-top:8px}.partner-section{margin-bottom:32px}.partner-section .section-title{font-size:1.1rem;font-weight:600;margin:0 0 16px;padding-left:12px;border-left:4px solid var(--border)}.partner-section .section-title.warning{border-left-color:#f59e0b;color:#92400e}.partner-section .section-title.info{border-left-color:#3b82f6;color:#1e40af}.partner-section .section-title.success{border-left-color:var(--green);color:#166534}.partner-section .section-title.muted{border-left-color:#9ca3af;color:#6b7280}.partner-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.partner-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--border)}.partner-card.requested{border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fff)}.partner-card.invited{border-left-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#fff)}.partner-card.active{border-left-color:var(--green)}.partner-card.inactive{border-left-color:#9ca3af;opacity:.7}.partner-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.partner-header h4{margin:0;font-size:1rem;color:var(--text-primary)}.partner-details{margin-bottom:12px}.partner-details p{margin:0 0 4px;font-size:.9rem;color:var(--text-secondary)}.partner-details .timestamp{font-size:.8rem;color:#9ca3af}.partner-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.invited{background:#dbeafe;color:#1e40af}.status-badge.rejected,.status-badge.declined{background:#fee2e2;color:#991b1b}.status-badge.revoked{background:#f3f4f6;color:#6b7280}.invite-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.invite-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border-left:4px solid #3b82f6}.invite-card.accepted{border-left-color:var(--green)}.invite-card.declined,.invite-card.revoked{border-left-color:#9ca3af;opacity:.7}.invite-card.expired{border-left-color:#f59e0b;opacity:.7}.invite-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.invitee-name{margin:0;font-size:1.1rem;color:var(--text-primary)}.invite-details{margin-bottom:16px}.invite-details p{margin:0 0 6px;font-size:.9rem;color:var(--text-secondary)}.invite-details .label{color:#9ca3af;display:inline-block;min-width:80px}.invite-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.invite-tag{display:inline-block;background:var(--light-green);color:var(--green);padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500}.invite-tag.role{background:#dbeafe;color:#1e40af}.invite-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.bulk-upload-section{background:#f9fafb;border-radius:12px;padding:24px;margin-bottom:24px}.bulk-upload-section h3{margin:0 0 16px;font-size:1.1rem;color:var(--text-primary)}.upload-tabs{display:flex;gap:8px;margin-bottom:16px}.upload-tab{padding:8px 16px;border:1px solid var(--border);background:#fff;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.upload-tab.active{background:var(--green);color:#fff;border-color:var(--green)}.file-upload-area{border:2px dashed var(--border);border-radius:8px;padding:32px;text-align:center;background:#fff;cursor:pointer;transition:all .2s}.file-upload-area:hover,.file-upload-area.has-file{border-color:var(--green);background:var(--light-green)}.file-upload-icon{font-size:2.5rem;margin-bottom:12px}.file-upload-text{color:var(--text-secondary);margin:0 0 8px}.file-upload-hint{font-size:.85rem;color:#9ca3af;margin:0}.file-input{display:none}.csv-paste-area{width:100%;min-height:150px;padding:12px;border:1px solid var(--border);border-radius:8px;font-family:monospace;font-size:.85rem;resize:vertical}.csv-paste-area:focus{outline:none;border-color:var(--green)}.csv-format-hint{margin-top:12px;padding:12px;background:#dbeafe;border-radius:6px;font-size:.85rem;color:#1e40af}.csv-format-hint code{display:block;margin-top:8px;font-family:monospace;background:#0000000d;padding:8px;border-radius:4px}.bulk-preview{margin-top:24px}.bulk-preview h4{margin:0 0 16px;font-size:1rem;color:var(--text-primary)}.preview-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000001a}.preview-table th,.preview-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem}.preview-table th{background:#f3f4f6;font-weight:600;color:var(--text-primary)}.preview-table tr:last-child td{border-bottom:none}.preview-table tr.error-row{background:#fef2f2}.preview-table tr.error-row td{color:#991b1b}.preview-error{font-size:.8rem;color:#ef4444;margin-top:4px}.preview-actions{display:flex;gap:12px;margin-top:16px;justify-content:flex-end}.bulk-results{margin-top:24px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.bulk-results h4{margin:0 0 16px}.result-summary{display:flex;gap:24px;margin-bottom:16px}.result-stat{display:flex;align-items:center;gap:8px}.result-stat.success{color:#166534}.result-stat.error{color:#991b1b}.result-number{font-size:1.5rem;font-weight:700}.result-label{font-size:.9rem}.result-details{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.result-item{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:.9rem}.result-item.success{color:#166534}.result-item.error{color:#991b1b}@media(max-width:768px){.partner-cards,.invite-cards{grid-template-columns:1fr}.upload-tabs{flex-direction:column}.preview-table{display:block;overflow-x:auto}.result-summary{flex-direction:column;gap:12px}}.contract-section{margin-bottom:32px}.contract-section .section-title{font-size:1.1rem;font-weight:600;margin:0 0 16px;padding-left:12px;border-left:4px solid var(--border)}.contract-section .section-title.draft{border-left-color:#9ca3af;color:#6b7280}.contract-section .section-title.active{border-left-color:var(--green);color:#166534}.contract-section .section-title.paused{border-left-color:#f59e0b;color:#92400e}.contract-section .section-title.completed{border-left-color:#3b82f6;color:#1e40af}.contract-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.contract-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--border)}.contract-card.draft{border-left-color:#9ca3af}.contract-card.active{border-left-color:var(--green)}.contract-card.paused{border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fff)}.contract-card.completed{border-left-color:#3b82f6;opacity:.85}.contract-card.expired{border-left-color:#9ca3af;opacity:.7}.contract-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.contract-header h4{margin:0;font-size:1.1rem;color:var(--text-primary)}.contract-badges{display:flex;gap:6px;align-items:center}.contract-details{margin-bottom:12px}.contract-details p{margin:0 0 6px;font-size:.9rem;color:var(--text-secondary)}.contract-details .label{color:#9ca3af;display:inline-block;min-width:80px}.contract-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.status-badge.draft{background:#f3f4f6;color:#6b7280}.status-badge.paused{background:#fef3c7;color:#92400e}.status-badge.completed{background:#dbeafe;color:#1e40af}.status-badge.expired{background:#f3f4f6;color:#9ca3af}.source-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.source-badge.external{background:#e0e7ff;color:#4338ca}.source-badge.internal{background:#f3f4f6;color:#6b7280}.progress-bar-container{height:8px;background:var(--background);border-radius:4px;overflow:hidden;margin:8px 0}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--green),#10b981);border-radius:4px;transition:width .3s ease}.override-info{margin-top:16px;padding:12px;background:#fef3c7;border-radius:8px;border:1px solid #f59e0b}.override-info h5{margin:0 0 8px;color:#92400e;font-size:.9rem}.override-info p{margin:0;font-size:.85rem;color:#78350f}.override-reason{font-size:.85rem;color:#92400e;font-style:italic}.contract-detail{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.detail-header h3{margin:0;font-size:1.3rem}.back-btn{padding:8px 16px;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;transition:all .2s}.back-btn:hover{background:var(--border);color:var(--text-primary)}.detail-content{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-section{padding:16px;background:var(--background);border-radius:8px}.detail-section h4{margin:0 0 16px;font-size:1rem;color:var(--text-primary)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item .label{font-size:.8rem;color:#9ca3af;text-transform:uppercase}.detail-item span:last-child{font-size:.95rem;color:var(--text-primary)}.notes-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.notes-section h5{margin:0 0 8px;font-size:.9rem;color:var(--text-secondary)}.notes-section p{margin:0;font-size:.9rem;color:var(--text-primary);white-space:pre-wrap}.detail-actions{display:flex;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.audit-list{max-height:400px;overflow-y:auto}.audit-item{padding:12px 0;border-bottom:1px solid var(--border)}.audit-item:last-child{border-bottom:none}.audit-time{font-size:.8rem;color:#9ca3af;margin-bottom:4px}.audit-content{display:flex;flex-direction:column;gap:4px}.audit-type{font-weight:600;color:var(--text-primary);text-transform:capitalize}.audit-change{font-size:.9rem;color:var(--text-secondary)}.audit-reason,.audit-notes{font-size:.85rem;color:#6b7280;font-style:italic}.no-history{color:var(--text-secondary);font-style:italic}.action-btn.warning{background:#f59e0b;color:#fff}.action-btn.warning:hover{background:#d97706}.action-btn.secondary{background:#e5e7eb;color:#374151}.action-btn.secondary:hover{background:#d1d5db}.operator-section{padding:20px}.operator-nav{display:flex;gap:16px;margin-left:auto}.operator-nav .nav-link{padding:8px 16px;text-decoration:none;color:var(--text-secondary);border-radius:6px;transition:all .2s}.operator-nav .nav-link:hover{background:var(--light-green);color:var(--green)}.operator-nav .nav-link.active{background:var(--green);color:#fff}.filter-toggle{display:flex;gap:4px;background:var(--background);padding:4px;border-radius:8px}.filter-btn{padding:8px 16px;border:none;background:transparent;border-radius:6px;font-size:.9rem;cursor:pointer;color:var(--text-secondary);transition:all .2s}.filter-btn.active{background:#fff;color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.site-filter{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;background:#fff}.contracts-list{display:flex;flex-direction:column;gap:16px}.contract-list-item{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--green)}.contract-list-item.paused{border-left-color:#f59e0b}.contract-list-item.completed,.contract-list-item.expired{border-left-color:#9ca3af;opacity:.85}.contract-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.contract-info h3{margin:0 0 8px;font-size:1.1rem;color:var(--text-primary)}.contract-meta{display:flex;gap:12px;font-size:.9rem}.contract-meta .commodity{color:var(--text-primary);font-weight:500}.contract-meta .partner{color:var(--text-secondary)}.contract-status-section{display:flex;gap:8px;align-items:center}.contract-progress{margin-bottom:16px}.progress-info{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.9rem}.progress-label{color:var(--text-secondary)}.progress-value{color:var(--text-primary);font-weight:600}.progress-stats{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary);margin-top:4px}.contract-dates{display:flex;gap:24px;padding-top:12px;border-top:1px solid var(--border)}.date-item{display:flex;flex-direction:column;gap:2px}.date-label{font-size:.8rem;color:#9ca3af}.date-value{font-size:.9rem;color:var(--text-primary)}.pause-reason{margin-top:12px;padding:8px 12px;background:#fef3c7;border-radius:6px;font-size:.85rem;color:#92400e}.contracts-summary{margin-top:32px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.contracts-summary h3{margin:0 0 16px;font-size:1rem;color:var(--text-primary)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.summary-item{text-align:center;padding:16px;background:var(--background);border-radius:8px}.summary-value{display:block;font-size:1.5rem;font-weight:700;color:var(--green)}.summary-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-top:4px}@media(max-width:768px){.contract-cards,.detail-content,.detail-grid{grid-template-columns:1fr}.operator-nav{flex-wrap:wrap;justify-content:center;margin-left:0;margin-top:16px;width:100%}.contract-dates{flex-wrap:wrap;gap:12px}.filter-toggle{width:100%;justify-content:center}.summary-grid{grid-template-columns:1fr 1fr}}.deliveries-container{max-width:1400px;margin:0 auto;padding:24px}.pending-alert{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:16px}.pending-alert.site-proposals{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.pending-alert-icon{font-size:1.5rem;flex-shrink:0}.pending-alert-content{flex:1}.pending-alert-content strong{display:block;font-size:1rem;color:#92400e;margin-bottom:4px}.pending-alert.site-proposals .pending-alert-content strong{color:#1e40af}.pending-alert-content span{font-size:.9rem;color:#a16207}.pending-alert.site-proposals .pending-alert-content span{color:#1d4ed8}.pending-alert-action{padding:8px 16px;background:#f59e0b;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.pending-alert-action:hover{background:#d97706}.pending-alert.site-proposals .pending-alert-action{background:#3b82f6}.pending-alert.site-proposals .pending-alert-action:hover{background:#2563eb}.delivery-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;margin-top:20px}.delivery-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s;border-left:4px solid var(--border)}.delivery-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.delivery-card.status-draft{border-left-color:#9ca3af}.delivery-card.status-requested{border-left-color:#f59e0b}.delivery-card.status-site_proposed,.delivery-card.status-partner_proposed{border-left-color:#3b82f6}.delivery-card.status-confirmed{border-left-color:#10b981}.delivery-card.status-in_progress{border-left-color:#8b5cf6}.delivery-card.status-completed{border-left-color:#059669}.delivery-card.status-cancelled{border-left-color:#ef4444}.delivery-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.delivery-partner{font-weight:600;font-size:1.05rem;color:var(--text-primary)}.delivery-type-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.delivery-type-badge.type-contract{background:#dbeafe;color:#1d4ed8}.delivery-type-badge.type-spot{background:#fef3c7;color:#92400e}.delivery-card-body{display:flex;flex-direction:column;gap:10px}.delivery-commodity{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-primary)}.delivery-commodity-icon{font-size:1.2rem}.delivery-quantity{font-size:.9rem;color:var(--text-secondary)}.delivery-schedule{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--background);border-radius:8px;font-size:.9rem}.delivery-schedule.confirmed{background:#d1fae5;color:#065f46}.delivery-schedule.proposed{background:#dbeafe;color:#1e40af}.delivery-schedule.requested{background:#fef3c7;color:#92400e}.delivery-schedule-icon{font-size:1rem}.delivery-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.delivery-status{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500}.delivery-status.status-draft{background:#f3f4f6;color:#6b7280}.delivery-status.status-requested{background:#fef3c7;color:#92400e}.delivery-status.status-site_proposed,.delivery-status.status-partner_proposed{background:#dbeafe;color:#1e40af}.delivery-status.status-confirmed{background:#d1fae5;color:#065f46}.delivery-status.status-in_progress{background:#ede9fe;color:#6d28d9}.delivery-status.status-completed{background:#d1fae5;color:#047857}.delivery-status.status-cancelled{background:#fee2e2;color:#dc2626}.delivery-priority{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--text-secondary)}.delivery-priority.priority-low{color:#f59e0b}.delivery-detail-panel{position:fixed;top:0;right:0;width:480px;max-width:100vw;height:100vh;background:#fff;box-shadow:-4px 0 24px #00000026;z-index:1000;display:flex;flex-direction:column;animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.delivery-detail-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.delivery-detail-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.delivery-detail-content{flex:1;overflow-y:auto;padding:24px}.delivery-info-section{margin-bottom:24px}.delivery-info-section h3{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.delivery-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.delivery-info-item{display:flex;flex-direction:column;gap:2px}.delivery-info-item.full-width{grid-column:1 / -1}.delivery-info-label{font-size:.8rem;color:var(--text-secondary)}.delivery-info-value{font-size:.95rem;color:var(--text-primary);font-weight:500}.negotiation-timeline{position:relative;padding-left:24px}.negotiation-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-event{position:relative;padding-bottom:16px}.timeline-event:last-child{padding-bottom:0}.timeline-event:before{content:"";position:absolute;left:-20px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--border);border:2px solid white}.timeline-event.event-created:before{background:#9ca3af}.timeline-event.event-proposed:before{background:#3b82f6}.timeline-event.event-confirmed:before{background:#10b981}.timeline-event.event-cancelled:before{background:#ef4444}.timeline-event.event-completed:before{background:#059669}.timeline-actor{font-size:.85rem;font-weight:600;color:var(--text-primary)}.timeline-action{font-size:.85rem;color:var(--text-secondary);margin-top:2px}.timeline-time{font-size:.75rem;color:#9ca3af;margin-top:4px}.delivery-actions{padding:20px 24px;border-top:1px solid var(--border);display:flex;gap:12px;flex-wrap:wrap}.delivery-action-btn{flex:1;min-width:120px;padding:12px 16px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;border:none}.delivery-action-btn.primary{background:var(--green);color:#fff}.delivery-action-btn.primary:hover{background:#059669}.delivery-action-btn.secondary{background:#3b82f6;color:#fff}.delivery-action-btn.secondary:hover{background:#2563eb}.delivery-action-btn.outline{background:transparent;border:2px solid var(--border);color:var(--text-primary)}.delivery-action-btn.outline:hover{background:var(--background)}.delivery-action-btn.danger{background:transparent;border:2px solid #ef4444;color:#ef4444}.delivery-action-btn.danger:hover{background:#fee2e2}.propose-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.propose-modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.propose-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.propose-modal-header h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.propose-modal-body{padding:24px}.propose-form-group{margin-bottom:20px}.propose-form-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:8px;font-size:.9rem}.propose-form-group input,.propose-form-group select,.propose-form-group textarea{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:8px;font-size:.95rem;transition:border-color .2s}.propose-form-group input:focus,.propose-form-group select:focus,.propose-form-group textarea:focus{outline:none;border-color:var(--green)}.time-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-slot-btn{padding:10px 12px;border:2px solid var(--border);border-radius:8px;background:#fff;font-size:.85rem;cursor:pointer;transition:all .2s}.time-slot-btn:hover{border-color:var(--green)}.time-slot-btn.selected{background:var(--green);border-color:var(--green);color:#fff}.propose-modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--border)}.complete-modal-body{padding:24px}.complete-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.driver-info-section{background:var(--background);border-radius:8px;padding:16px;margin-top:8px}.driver-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.driver-info-row:not(:last-child){border-bottom:1px solid var(--border)}.driver-info-label{color:var(--text-secondary);font-size:.85rem}.driver-info-value{color:var(--text-primary);font-weight:500;font-size:.9rem}.schedule-calendar{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;margin-top:24px}.schedule-calendar h3{margin:0 0 16px;font-size:1.1rem;color:var(--text-primary)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-nav-btn{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;transition:all .2s}.calendar-nav-btn:hover{background:var(--background)}.calendar-current{font-weight:600;font-size:1rem;color:var(--text-primary)}.operator-calendar .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.operator-calendar .calendar-day-header{text-align:center;padding:8px;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.operator-calendar .calendar-day{min-height:80px;padding:8px;border:1px solid var(--border);border-radius:6px;background:#fff}.operator-calendar .calendar-day.today{background:#f0fdf4;border-color:var(--green)}.operator-calendar .calendar-day.other-month{background:var(--background);opacity:.5}.operator-calendar .calendar-day-number{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.operator-calendar .calendar-day-events{display:flex;flex-direction:column;gap:2px}.calendar-event{padding:2px 6px;font-size:.7rem;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.calendar-event.confirmed{background:#d1fae5;color:#065f46}.calendar-event.proposed{background:#dbeafe;color:#1e40af}.calendar-event.in-progress{background:#ede9fe;color:#6d28d9}.delivery-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.delivery-filter-btn{padding:8px 16px;border:2px solid var(--border);border-radius:20px;background:#fff;font-size:.85rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.delivery-filter-btn:hover{border-color:var(--green)}.delivery-filter-btn.active{background:var(--green);border-color:var(--green);color:#fff}.filter-count{background:#0000001a;padding:2px 8px;border-radius:10px;font-size:.75rem}.delivery-filter-btn.active .filter-count{background:#ffffff4d}.create-delivery-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.create-delivery-section h3{margin:0 0 20px;font-size:1.1rem;color:var(--text-primary)}.create-delivery-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.create-delivery-form .form-group{display:flex;flex-direction:column;gap:6px}.create-delivery-form label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.create-delivery-form input,.create-delivery-form select{padding:10px 12px;border:2px solid var(--border);border-radius:8px;font-size:.9rem}.create-delivery-form input:focus,.create-delivery-form select:focus{outline:none;border-color:var(--green)}.create-delivery-actions{grid-column:1 / -1;display:flex;gap:12px;justify-content:flex-end;padding-top:12px}.deliveries-empty{text-align:center;padding:60px 20px;color:var(--text-secondary)}.deliveries-empty-icon{font-size:4rem;margin-bottom:16px}.deliveries-empty h3{margin:0 0 8px;color:var(--text-primary)}.deliveries-empty p{margin:0;font-size:.95rem}.partner-deliveries-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.partner-deliveries-header h1{margin:0;font-size:1.5rem;color:var(--text-primary)}.site-selector{display:flex;align-items:center;gap:12px}.site-selector label{font-size:.9rem;color:var(--text-secondary)}.site-selector select{padding:10px 16px;border:2px solid var(--border);border-radius:8px;font-size:.9rem;min-width:200px}@media(max-width:768px){.deliveries-container{padding:16px}.delivery-cards{grid-template-columns:1fr}.delivery-detail-panel{width:100%}.delivery-info-grid{grid-template-columns:1fr}.pending-alert{flex-direction:column;text-align:center}.pending-alert-action{width:100%}.delivery-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.create-delivery-form{grid-template-columns:1fr}.operator-calendar .calendar-grid{grid-template-columns:repeat(7,1fr);font-size:.75rem}.operator-calendar .calendar-day{min-height:60px;padding:4px}.time-slots-grid{grid-template-columns:repeat(2,1fr)}.complete-form-row{grid-template-columns:1fr}.partner-deliveries-header{flex-direction:column;gap:16px;align-items:flex-start}.site-selector{width:100%}.site-selector select{flex:1}}.driver-status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:8px}.driver-status-badge.confirmed{background:#d1fae5;color:#065f46}.driver-status-badge.pending{background:#fef3c7;color:#92400e}.driver-status-badge.at-risk{background:#fee2e2;color:#dc2626}.confidence-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.confidence-badge.confirmed,.confidence-confirmed{background:#d1fae5;color:#065f46}.confidence-badge.pending,.confidence-pending{background:#fef3c7;color:#92400e}.confidence-badge.at-risk,.confidence-at-risk{background:#fee2e2;color:#dc2626}.driver-status-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.driver-status-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--background);border-radius:8px;margin-top:8px}.driver-status-bar .driver-label{font-size:.85rem;color:var(--text-secondary)}.driver-status-bar .driver-name{font-size:.9rem;font-weight:500;color:var(--text-primary)}.at-risk-badge{background:#fee2e2;color:#dc2626;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:auto}.at-risk-alert{background:linear-gradient(135deg,#fee2e2,#fecaca)!important;border-color:#ef4444!important}.at-risk-alert h3{color:#dc2626}.at-risk-item{border-left:3px solid #ef4444}.at-risk-item .at-risk-reason{color:#dc2626;font-size:.85rem;font-weight:500}.at-risk-indicator .at-risk{color:#dc2626;font-weight:600}.confidence-row{margin-top:4px}.driver-info-section{background:var(--background);border-radius:12px;padding:16px 20px;margin-top:16px}.driver-info-section h5{margin:0 0 12px;font-size:.95rem;color:var(--text-primary)}.driver-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.driver-info-item{display:flex;flex-direction:column;gap:2px}.driver-info-item .label{font-size:.8rem;color:var(--text-secondary)}.driver-info-item span:last-child{font-size:.9rem;color:var(--text-primary);font-weight:500}.hauler-info-section{background:var(--background);border-radius:12px;padding:16px 20px;margin-top:16px;border-left:3px solid #3b82f6}.hauler-info-section h5{margin:0 0 12px;font-size:.95rem;color:var(--text-primary)}.hauler-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.hauler-info-item{display:flex;flex-direction:column;gap:2px}.hauler-info-item .label{font-size:.8rem;color:var(--text-secondary)}.hauler-info-item span:last-child{font-size:.9rem;color:var(--text-primary);font-weight:500}.hauler-status-bar{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.85rem}.hauler-status-bar .hauler-label{color:var(--text-secondary);font-weight:500}.hauler-status-bar .hauler-info{color:var(--text-primary)}.hauler-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.hauler-badge.self{background:#e2e8f0;color:#475569}.hauler-badge.farm{background:#dbeafe;color:#1d4ed8}.hauler-badge.site{background:#fef3c7;color:#b45309}.form-section-header{margin-top:20px;margin-bottom:12px;padding-top:16px;border-top:1px solid var(--border-color)}.form-section-header h4{margin:0;font-size:1rem;color:var(--text-primary)}.at-risk-warning{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#fee2e2;border-radius:8px;border:1px solid #fecaca}.at-risk-warning .warning-icon{font-size:1.2rem}.at-risk-warning .warning-text{color:#dc2626;font-weight:500;font-size:.9rem}.eta-override-info{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;background:#dbeafe;border-radius:8px;font-size:.9rem}.eta-override-info .label{font-weight:600;color:#1e40af}.assign-driver-modal{max-width:480px}.form-divider{display:flex;align-items:center;margin:20px 0;color:var(--text-secondary);font-size:.85rem}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--border)}.form-divider span{padding:0 12px}.current-driver-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--background);border-radius:8px;margin-top:16px;flex-wrap:wrap}.current-driver-info strong{color:var(--text-primary)}.action-btn.small{padding:4px 10px;font-size:.8rem;margin-left:auto}.driver-confirmation-alert{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.driver-confirmation-alert h3{color:#1e40af}.driver-nav{display:flex;gap:16px}.driver-section{max-width:1000px;margin:0 auto;padding:24px}.driver-section h2{margin:24px 0 16px;font-size:1.1rem;color:var(--text-primary)}.delivery-section{margin-bottom:32px}.delivery-section h2{font-size:1.1rem;color:var(--text-secondary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.action-btn.large{padding:14px 28px;font-size:1rem}.delivery-card.in-progress{border-left-color:#8b5cf6;background:linear-gradient(135deg,#f5f3ff,#fff)}.notification-bell-container{position:relative}.notification-bell-btn{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:50%;transition:background .2s;display:flex;align-items:center;justify-content:center}.notification-bell-btn:hover{background:var(--background)}.bell-icon{font-size:1.25rem}.notification-badge{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.notification-dropdown{position:absolute;top:100%;right:0;width:360px;max-width:90vw;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;z-index:1000;overflow:hidden}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.notification-header h4{margin:0;font-size:1rem;color:var(--text-primary)}.mark-all-read-btn{background:transparent;border:none;color:var(--green);font-size:.85rem;cursor:pointer;font-weight:500}.mark-all-read-btn:hover{text-decoration:underline}.notification-list{max-height:400px;overflow-y:auto}.notification-loading,.notification-empty{padding:24px;text-align:center;color:var(--text-secondary)}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s;border-bottom:1px solid var(--border);position:relative}.notification-item:hover{background:var(--background)}.notification-item.unread{background:#f0fdf4}.notification-icon{font-size:1.25rem;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:.9rem;color:var(--text-primary);margin-bottom:2px}.notification-message{font-size:.85rem;color:var(--text-secondary);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time{font-size:.75rem;color:#9ca3af}.unread-dot{width:8px;height:8px;background:#3b82f6;border-radius:50%;flex-shrink:0;margin-top:6px}.empty-state-card .empty-icon{font-size:4rem;margin-bottom:16px}@media(max-width:768px){.driver-section{padding:16px}.driver-info-grid{grid-template-columns:1fr}.driver-status-bar{flex-wrap:wrap}.current-driver-info{flex-direction:column;align-items:flex-start;gap:8px}.action-btn.small{margin-left:0;width:100%}.notification-dropdown{right:-60px;width:320px}.action-btn.large{width:100%}}.alert-config-form{max-width:900px;margin:0 auto}.config-section{background:var(--white);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.config-section h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:8px;font-weight:600}.section-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:20px}.operating-mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.mode-card{background:var(--background);border:2px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:all .2s ease}.mode-card:hover{border-color:var(--grainflow-green);background:#f0fdf4}.mode-card.active{border-color:var(--grainflow-green);background:#f0fdf4;box-shadow:0 0 0 3px #6c93}.mode-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mode-label{font-weight:600;color:var(--text-primary)}.mode-active-badge{background:var(--grainflow-green);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:600}.mode-description{font-size:.85rem;color:var(--text-secondary);margin:0}.threshold-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.threshold-item{display:flex;flex-direction:column;gap:8px}.threshold-item label{font-weight:600;color:var(--text-primary);font-size:.9rem}.threshold-item input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem;width:100%}.threshold-help{font-size:.8rem;color:var(--text-secondary)}.multiplier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.multiplier-item{display:flex;flex-direction:column;gap:8px}.multiplier-item label{font-weight:600;color:var(--text-primary);font-size:.9rem}.multiplier-item input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem;width:100px}.multiplier-preview{font-size:.8rem;color:var(--text-secondary);font-style:italic}.preference-toggles{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.toggle-item{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--grainflow-green)}.coming-soon{font-size:.75rem;color:#9ca3af;background:#f3f4f6;padding:2px 6px;border-radius:4px;margin-left:8px}.quiet-hours{margin-bottom:24px}.quiet-hours h3{font-size:1rem;margin-bottom:8px;font-weight:600}.quiet-hours-inputs{display:flex;gap:20px;align-items:center}.quiet-hours-inputs>div{display:flex;flex-direction:column;gap:4px}.quiet-hours-inputs label{font-size:.85rem;color:var(--text-secondary)}.quiet-hours-inputs input[type=time]{padding:8px 12px;border:1px solid var(--border);border-radius:8px}.alert-recipients h3{font-size:1rem;margin-bottom:8px;font-weight:600}.recipient-input{display:flex;gap:8px;margin-bottom:12px}.recipient-input input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px}.recipient-list{display:flex;flex-wrap:wrap;gap:8px}.recipient-tag{display:flex;align-items:center;gap:6px;background:#e5e7eb;padding:6px 10px;border-radius:20px;font-size:.85rem}.recipient-tag .remove-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1rem;padding:0 4px}.recipient-tag .remove-btn:hover{color:#ef4444}.alerts-panel{background:var(--white);border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.alerts-panel .alerts-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.alerts-panel .alerts-header h2,.alerts-panel .alerts-header h3{margin:0;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:10px}.alert-count-badge{background:#ef4444;color:#fff;font-size:.75rem;padding:2px 8px;border-radius:10px;font-weight:600}.alert-summary{display:flex;gap:16px}.summary-item{font-size:.85rem;padding:4px 10px;border-radius:6px}.summary-item.active{background:#fee2e2;color:#dc2626}.summary-item.acknowledged{background:#fef3c7;color:#d97706}.summary-item.critical{background:#fecaca;color:#b91c1c;font-weight:600}.critical-alert-banner{background:#fef2f2;border-bottom:1px solid #fecaca;color:#b91c1c;padding:10px 16px;font-size:.9rem;font-weight:500}.alerts-filters{display:flex;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--background);align-items:center}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.85rem;color:var(--text-secondary)}.filter-group select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:.85rem}.btn-refresh{margin-left:auto;background:var(--grainflow-green);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:.85rem;cursor:pointer}.alerts-list{max-height:500px;overflow-y:auto}.alerts-panel.compact .alerts-list{max-height:300px}.no-alerts{padding:40px 20px;text-align:center;color:var(--text-secondary)}.no-alerts-icon{font-size:2rem;display:block;margin-bottom:10px;color:var(--grainflow-green)}.alert-item{padding:16px 20px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s}.alert-item:hover{background:var(--background)}.alert-item.severity-info{border-left:4px solid #3b82f6}.alert-item.severity-warning{border-left:4px solid #f59e0b}.alert-item.severity-critical{border-left:4px solid #ef4444}.alert-item.acknowledged{opacity:.7}.alert-main{display:flex;align-items:flex-start;gap:12px}.alert-icon{font-size:1.25rem;flex-shrink:0}.alert-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.alert-title{font-weight:600;font-size:.95rem;color:var(--text-primary)}.severity-badge{font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase}.severity-badge.info{background:#dbeafe;color:#1d4ed8}.severity-badge.warning{background:#fef3c7;color:#d97706}.severity-badge.critical{background:#fee2e2;color:#dc2626}.alert-message{font-size:.9rem;color:var(--text-secondary);margin-bottom:6px}.alert-meta{display:flex;gap:12px;font-size:.8rem;color:#9ca3af}.alert-type{text-transform:capitalize}.alert-acknowledged{color:#d97706}.alert-actions{display:flex;gap:6px;flex-shrink:0}.btn-acknowledge,.btn-resolve{width:32px;height:32px;border-radius:6px;border:none;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-acknowledge{background:#dcfce7;color:#16a34a}.btn-acknowledge:hover{background:#bbf7d0}.btn-resolve{background:#fee2e2;color:#dc2626}.btn-resolve:hover{background:#fecaca}.alert-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.alert-details .detail-row{display:flex;gap:10px;font-size:.85rem;margin-bottom:6px}.alert-details .detail-label{color:var(--text-secondary);min-width:100px}.delivery-link{color:var(--grainflow-green);text-decoration:none}.delivery-link:hover{text-decoration:underline}.view-all-link{padding:12px;text-align:center;color:var(--grainflow-green);font-size:.9rem;cursor:pointer}.compact-list .alert-item{padding:10px 12px;display:flex;align-items:center;gap:10px}.compact-list .alert-content{display:flex;justify-content:space-between;align-items:center;width:100%}.compact-list .alert-title{font-size:.9rem}.compact-list .alert-time{font-size:.75rem;color:#9ca3af}.operating-mode-selector{display:flex;align-items:center;gap:8px;position:relative}.operating-mode-selector .mode-label{font-size:.85rem;color:var(--text-secondary)}.mode-button{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--white);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.mode-button:hover{border-color:var(--grainflow-green)}.mode-button .mode-icon{font-size:1rem}.mode-button .mode-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.dropdown-arrow{font-size:.7rem;color:var(--text-secondary)}.mode-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:var(--white);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 20px #00000026;z-index:100;min-width:220px;overflow:hidden}.mode-option{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;transition:background .2s}.mode-option:hover{background:var(--background)}.mode-option.active{background:#f0fdf4}.mode-option .mode-icon{font-size:1.1rem}.mode-option .mode-details{flex:1}.mode-option .mode-name{font-weight:600;font-size:.9rem;color:var(--text-primary);display:block}.mode-option .mode-description{font-size:.8rem;color:var(--text-secondary)}.current-indicator{color:var(--grainflow-green);font-weight:700}.mode-error{color:#ef4444;font-size:.8rem;margin-left:8px}.suppression-modal{max-width:560px}.suppression-modal .delivery-context{background:var(--background);padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.suppression-modal .form-section{margin-bottom:24px}.suppression-modal .section-label{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.95rem;margin-bottom:12px}.select-all-btn{background:none;border:none;color:var(--grainflow-green);font-size:.85rem;cursor:pointer}.alert-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.alert-type-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--background);border-radius:6px;cursor:pointer;font-size:.9rem}.alert-type-checkbox input{accent-color:var(--grainflow-green)}.common-reasons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.reason-chip{background:var(--background);border:1px solid var(--border);padding:6px 12px;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .2s}.reason-chip:hover{border-color:var(--grainflow-green)}.reason-chip.selected{background:#f0fdf4;border-color:var(--grainflow-green);color:var(--grainflow-green)}.reason-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;resize:vertical;font-family:inherit}.duration-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.duration-chip{background:var(--background);border:1px solid var(--border);padding:8px 14px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.duration-chip:hover{border-color:var(--grainflow-green)}.duration-chip.selected{background:var(--grainflow-green);border-color:var(--grainflow-green);color:#fff}.custom-duration{display:flex;align-items:center;gap:8px}.custom-duration input{width:100px;padding:8px 12px;border:1px solid var(--border);border-radius:6px}.expiry-preview{font-size:.85rem;color:var(--text-secondary);margin-top:8px}.visibility-options{display:flex;gap:20px}.visibility-option{display:flex;align-items:center;gap:6px;cursor:pointer}.visibility-option input{accent-color:var(--grainflow-green)}.suppression-badge.compact{position:relative;display:inline-flex;cursor:help}.suppression-badge.compact .suppression-icon{font-size:1.1rem}.suppression-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 14px;border-radius:8px;font-size:.85rem;white-space:nowrap;z-index:100;margin-bottom:8px}.suppression-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937}.tooltip-header{font-weight:600;margin-bottom:4px}.tooltip-reason{color:#d1d5db;margin-bottom:4px}.tooltip-time{color:#9ca3af;font-size:.8rem}.suppression-badge.detailed{display:flex;align-items:center;gap:12px;background:#fef3c7;border:1px solid #fcd34d;padding:12px 16px;border-radius:8px;margin-bottom:16px}.suppression-badge.detailed .suppression-header{display:flex;align-items:center;gap:8px}.suppression-badge.detailed .suppression-icon{font-size:1.25rem}.suppression-badge.detailed .suppression-title{font-weight:600;color:#92400e}.suppression-badge.detailed .suppression-content{flex:1}.suppression-badge.detailed .suppression-reason{font-size:.9rem;color:#78350f;margin-bottom:4px}.suppression-badge.detailed .suppression-meta{display:flex;gap:16px;font-size:.8rem;color:#a16207}.suppression-cancel-btn{background:none;border:none;color:#92400e;font-size:1.2rem;cursor:pointer;padding:4px}.suppression-cancel-btn:hover{color:#78350f}@media(max-width:768px){.operating-mode-grid,.threshold-grid,.multiplier-grid,.alert-type-grid{grid-template-columns:1fr}.alerts-filters{flex-wrap:wrap}.alert-summary{flex-wrap:wrap;gap:8px}.mode-dropdown{right:0;left:auto}.visibility-options{flex-direction:column;gap:10px}}.operator-page{min-height:100vh;background:var(--background)}.operator-page .page-container{max-width:1200px;margin:0 auto;padding:24px}.operator-page .page-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.operator-page .page-title-section h1{margin:0 0 4px;font-size:1.8rem;color:var(--text-primary)}.operator-page .page-subtitle{font-size:.95rem;color:var(--text-secondary);display:block}.operator-page .page-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.operator-page .site-select{padding:10px 16px;border:2px solid var(--border);border-radius:8px;font-size:.95rem;min-width:200px;background:#fff;cursor:pointer}.operator-page .site-select:focus{outline:none;border-color:var(--grainflow-green)}.operator-page .btn-toggle{padding:10px 16px;border:2px solid var(--border);border-radius:8px;background:#fff;font-size:.9rem;cursor:pointer;transition:all .2s}.operator-page .btn-toggle:hover{border-color:var(--grainflow-green)}.operator-page .btn-toggle.active{background:var(--grainflow-green);border-color:var(--grainflow-green);color:#fff}@media(max-width:768px){.operator-page .page-container{padding:16px}.operator-page .page-header-row{flex-direction:column}.operator-page .page-title-section h1{font-size:1.5rem}.operator-page .page-header-actions,.operator-page .site-select{width:100%}}.operator-desktop-view{min-height:100vh;background:var(--background)}.operator-desktop-container{max-width:1600px;margin:0 auto;padding:20px}.operator-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--white);border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.operator-header .site-info h1{margin:0;font-size:1.5rem;color:var(--text-primary)}.operator-header .site-address{font-size:.9rem;color:var(--text-secondary)}.header-controls{display:flex;gap:12px;align-items:center}.btn-refresh{background:var(--grainflow-green);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-refresh:hover{background:#5bb088}.btn-refresh.refreshing{opacity:.7;cursor:wait}.btn-big-screen{background:#1f2937;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-big-screen:hover{background:#111827}.error-banner{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:12px 20px;border-radius:8px;margin-bottom:20px}.operator-content-grid{display:grid;grid-template-columns:1fr 380px;gap:20px}.operator-main-panel{background:var(--white);border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.operator-sidebar{display:flex;flex-direction:column;gap:20px}.operator-metrics-bar{display:flex;align-items:center;gap:24px;padding:16px 24px;background:var(--white);border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f;flex-wrap:wrap}.operator-metrics-bar .metric-item{display:flex;align-items:center;gap:10px}.operator-metrics-bar .metric-icon{font-size:1.5rem}.operator-metrics-bar .metric-content{display:flex;flex-direction:column}.operator-metrics-bar .metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.operator-metrics-bar .metric-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase}.operator-metrics-bar .metric-item.at-risk .metric-value{color:#ef4444}.operator-metrics-bar .metric-divider{width:1px;height:40px;background:var(--border)}.operator-metrics-bar .capacity-bar{width:100px;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.operator-metrics-bar .capacity-fill{height:100%;background:var(--grainflow-green);transition:width .3s}.operator-metrics-bar .capacity-label{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.operator-metrics-bar .last-updated{font-size:.75rem;color:#9ca3af;margin-left:auto}.operator-calendar{padding:20px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.calendar-nav{display:flex;gap:8px}.calendar-nav .nav-btn,.calendar-nav .today-btn{padding:8px 16px;border:1px solid var(--border);background:var(--white);border-radius:6px;cursor:pointer;font-size:.9rem}.calendar-nav .today-btn.active{background:var(--grainflow-green);color:#fff;border-color:var(--grainflow-green)}.calendar-title h2{margin:0;font-size:1.25rem}.calendar-stats{display:flex;gap:12px;margin-top:4px}.calendar-stats .stat{font-size:.85rem;color:var(--text-secondary)}.calendar-stats .stat.at-risk{color:#ef4444;font-weight:600}.calendar-actions{display:flex;gap:8px}.view-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px}.operator-calendar .calendar-grid{display:flex;flex-direction:column;gap:12px}.no-slots{text-align:center;padding:60px 20px;color:var(--text-secondary)}.time-slot{background:#f9fafb;border-radius:10px;padding:12px;border-left:4px solid var(--grainflow-green)}.time-slot.overbooked{border-left-color:#ef4444;background:#fef2f2}.time-slot.blocked{opacity:.6;background:#f3f4f6}.slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.slot-time{font-weight:600;font-size:1rem;color:var(--text-primary)}.slot-capacity{font-size:.85rem;color:var(--text-secondary)}.overbooked-badge{background:#ef4444;color:#fff;font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:600}.slot-deliveries{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.empty-slot{padding:20px;text-align:center;color:var(--text-secondary);font-size:.9rem}.operator-calendar .delivery-card{padding:12px;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent}.operator-calendar .delivery-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--grainflow-green)}.operator-calendar .delivery-card.at-risk{border-left:3px solid #ef4444}.operator-calendar .delivery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.operator-calendar .partner-name{font-weight:600;font-size:.95rem}.operator-calendar .confidence-dot{width:10px;height:10px;border-radius:50%}.operator-calendar .delivery-details{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.operator-calendar .delivery-driver{display:flex;align-items:center;gap:6px;font-size:.85rem}.operator-calendar .no-driver{color:#ef4444;font-style:italic}.operator-calendar .at-risk-indicator{display:flex;align-items:center;gap:4px;color:#ef4444;font-size:.8rem;font-weight:600;margin-top:8px}.operator-calendar .eta-info{font-size:.8rem;color:var(--text-secondary);margin-top:6px}.calendar-legend{display:flex;gap:24px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.legend-section{display:flex;align-items:center;gap:12px}.legend-title{font-weight:600;font-size:.85rem;color:var(--text-secondary)}.legend-items{display:flex;gap:12px}.legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.legend-color{width:16px;height:16px;border-radius:4px}.legend-dot{width:10px;height:10px;border-radius:50%}.calendar-week-view{padding:16px 0}.week-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.week-day-header{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:#f5f5f5;border-radius:8px;transition:all .2s ease}.week-day-header.today{background:var(--primary-green);color:#fff}.week-day-header.selected{border:2px solid var(--primary-green)}.weekday-name{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.weekday-date{font-size:1.25rem;font-weight:700;margin-top:4px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-day-cell{min-height:120px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease}.week-day-cell:hover{border-color:var(--primary-green);box-shadow:0 2px 8px #0000001a}.week-day-cell.today{border-color:var(--primary-green);border-width:2px}.week-day-cell.selected{background:#66cc991a}.week-day-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.delivery-count{display:flex;flex-direction:column;align-items:center}.count-number{font-size:2rem;font-weight:700;color:var(--primary-green)}.count-label{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.busy-indicator{margin-top:8px;padding:4px 12px;background:#fff3e0;color:#ff9800;font-size:.75rem;font-weight:600;border-radius:12px}.week-view-hint,.month-view-hint{text-align:center;margin-top:16px;font-size:.85rem;color:var(--text-secondary)}.calendar-month-view{padding:16px 0}.month-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.month-weekday-header{text-align:center;padding:12px 8px;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.month-grid{display:flex;flex-direction:column;gap:4px}.month-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.month-day-cell{aspect-ratio:1;min-height:80px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:8px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center}.month-day-cell:hover{border-color:var(--primary-green);box-shadow:0 2px 8px #00000014}.month-day-cell.empty{background:#fafafa;cursor:default;border-color:transparent}.month-day-cell.empty:hover{box-shadow:none}.month-day-cell.today{border:2px solid var(--primary-green);background:#66cc990d}.month-day-cell.selected{background:#66cc9926}.month-day-number{font-size:.9rem;font-weight:600;color:var(--text-primary)}.month-day-cell.today .month-day-number{color:var(--primary-green)}.month-delivery-indicator{margin-top:auto;display:flex;align-items:center;justify-content:center}.month-delivery-count{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--primary-green);color:#fff;border-radius:50%;font-size:.8rem;font-weight:600}@media(max-width:900px){.week-header,.week-grid{grid-template-columns:repeat(7,1fr);gap:4px}.week-day-cell{min-height:80px;padding:8px}.count-number{font-size:1.25rem}.weekday-name{font-size:.7rem}.weekday-date{font-size:1rem}.month-day-cell{min-height:60px;padding:4px}.month-day-number{font-size:.8rem}.month-delivery-count{width:22px;height:22px;font-size:.7rem}}@media(max-width:600px){.calendar-header{flex-direction:column;gap:12px}.calendar-nav{order:2;width:100%;justify-content:space-between}.calendar-title{order:1}.calendar-actions{order:3;width:100%;justify-content:flex-end}.week-day-header{padding:8px 4px}.weekday-name{font-size:.6rem}.weekday-date{font-size:.85rem}.week-day-cell{min-height:60px}.count-number{font-size:1rem}.count-label,.busy-indicator{display:none}}.recommendations-panel{background:var(--white);border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.recommendations-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.recommendations-panel .panel-header h3{margin:0;font-size:1rem;font-weight:600}.recommendations-panel .rec-count{background:var(--grainflow-green);color:#fff;font-size:.75rem;padding:2px 8px;border-radius:10px}.recommendations-panel.empty .empty-state{padding:40px 20px;text-align:center}.empty-state .empty-icon{font-size:2.5rem;display:block;margin-bottom:10px;color:var(--grainflow-green)}.empty-state p{margin:0;font-weight:600;color:var(--text-primary)}.empty-state .empty-subtitle{font-size:.85rem;color:var(--text-secondary)}.recommendations-list{padding:12px;max-height:400px;overflow-y:auto}.recommendation-card{padding:14px;border-radius:8px;margin-bottom:10px;border-left:4px solid;cursor:pointer;transition:all .2s}.recommendation-card:hover{box-shadow:0 2px 8px #0000001a}.recommendation-card .rec-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.recommendation-card .rec-icon{font-size:1.1rem}.recommendation-card .rec-title{flex:1;font-weight:600;font-size:.95rem}.recommendation-card .priority-badge{color:#fff;font-size:.65rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600}.recommendation-card .rec-description{font-size:.85rem;color:var(--text-secondary);margin:0 0 8px}.recommendation-card .rec-action{font-size:.8rem;display:flex;gap:6px}.recommendation-card .action-label{color:var(--text-secondary)}.recommendation-card .action-text{color:var(--text-primary)}.recommendation-card .view-delivery-btn{background:none;border:none;color:var(--grainflow-green);font-size:.85rem;cursor:pointer;padding:0;margin-top:8px}.delivery-quick-actions{background:var(--white);border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.delivery-quick-actions .actions-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:#f9fafb}.delivery-quick-actions .actions-header h3{margin:0;font-size:1rem}.delivery-quick-actions .close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer}.delivery-quick-actions .delivery-summary{padding:16px 20px;border-bottom:1px solid var(--border)}.delivery-quick-actions .summary-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.9rem}.delivery-quick-actions .summary-row .label{color:var(--text-secondary)}.delivery-quick-actions .summary-row .value{font-weight:500}.delivery-quick-actions .action-buttons{padding:16px 20px;display:flex;flex-direction:column;gap:10px}.delivery-quick-actions .action-btn{display:flex;align-items:center;gap:10px;padding:12px 16px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.delivery-quick-actions .action-btn.arrived{background:#dbeafe;color:#1d4ed8}.delivery-quick-actions .action-btn.start{background:#fef3c7;color:#d97706}.delivery-quick-actions .action-btn.complete{background:#dcfce7;color:#16a34a}.delivery-quick-actions .action-btn.call{background:#f3f4f6;color:var(--text-primary);text-decoration:none}.delivery-quick-actions .action-btn:hover{opacity:.9}.delivery-quick-actions .complete-form{padding:16px 20px}.delivery-quick-actions .complete-form h4{margin:0 0 16px}.delivery-quick-actions .form-group{margin-bottom:14px}.delivery-quick-actions .form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:6px}.delivery-quick-actions .form-group input,.delivery-quick-actions .form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.95rem}.delivery-quick-actions .form-row{display:flex;gap:12px}.delivery-quick-actions .form-group.half{flex:1}.delivery-quick-actions .form-actions{display:flex;gap:10px;margin-top:16px}.operator-desktop-view.unified .operator-header{flex-wrap:wrap;gap:16px}.operator-header .site-selector{display:flex;flex-direction:column;gap:4px}.operator-header .site-selector .site-select{padding:10px 16px;border:2px solid var(--grainflow-green);border-radius:8px;font-size:1.1rem;font-weight:600;background:#fff;min-width:250px;cursor:pointer;color:var(--text-primary)}.operator-header .site-selector .site-select:focus{outline:none;box-shadow:0 0 0 3px #6c93}.operator-header .site-selector .site-address{font-size:.85rem;color:var(--text-secondary)}.btn-icon{width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:#f3f4f6}.btn-icon.refreshing{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-toolbar{padding:10px 16px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-toolbar:hover{background:#f3f4f6}.btn-toolbar.primary{background:#1f2937;color:#fff;border-color:#1f2937}.btn-toolbar.primary:hover{background:#111827}.unified-dashboard-grid{display:grid;grid-template-columns:1fr 360px;gap:20px}.dashboard-main,.dashboard-sidebar{display:flex;flex-direction:column;gap:16px}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.dashboard-section .section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #f3f4f6;transition:background .15s}.dashboard-section .section-header:hover{background:#f9fafb}.dashboard-section .section-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.dashboard-section .collapse-icon{font-size:12px;color:#9ca3af}.dashboard-section.collapsed .section-header{border-bottom:none}.queue-monitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px}.queue-camera{background:#1f2937;border-radius:8px;overflow:hidden}.queue-camera .video-placeholder{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af}.queue-camera .camera-icon{font-size:48px;margin-bottom:8px}.queue-camera .camera-note{font-size:12px;opacity:.7}.queue-camera .live-status{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#0000004d;font-size:13px;color:#d1d5db}.queue-camera .status-indicator{width:8px;height:8px;border-radius:50%;background:#ef4444}.queue-camera .status-indicator.active{background:#22c55e;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.queue-scoreboard{display:flex;flex-direction:column;gap:16px}.scoreboard-row{display:flex;gap:16px}.scoreboard-row.primary .score-item{flex:1;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;padding:20px;text-align:center}.scoreboard-row.primary .score-item.large .score-value{font-size:3rem;font-weight:700;color:#166534;line-height:1}.scoreboard-row.secondary .score-item{flex:1;background:#f9fafb;border-radius:8px;padding:16px;text-align:center}.scoreboard-row.secondary .score-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.score-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px}.chart-panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f;border:1px solid #e8e8e8}.chart-panel h4{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary)}.chart-panel .simple-chart,.chart-panel .chart-container{height:180px;width:100%}.chart-panel .chart-svg{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.chart-panel .chart-svg text{-webkit-user-select:none;user-select:none}.sidebar-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:16px}.sidebar-panel h3{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--text-primary)}.active-deliveries-panel .active-deliveries-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.delivery-card-compact{padding:12px;background:#f9fafb;border-radius:8px;cursor:pointer;transition:all .15s;border-left:3px solid transparent}.delivery-card-compact:hover{background:#f3f4f6}.delivery-card-compact.en_route{border-left-color:#3b82f6}.delivery-card-compact.at_facility{border-left-color:#22c55e}.delivery-card-compact .delivery-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.delivery-card-compact .supplier-name{font-weight:600;font-size:13px;color:var(--text-primary)}.delivery-card-compact .status-dot{width:8px;height:8px;border-radius:50%}.delivery-card-compact .status-dot.en_route{background:#3b82f6}.delivery-card-compact .status-dot.at_facility{background:#22c55e}.delivery-card-compact .delivery-card-details{display:flex;justify-content:space-between;font-size:12px;color:#6b7280}.delivery-card-compact .eta{font-weight:500;color:var(--text-primary)}@media(max-width:1200px){.unified-dashboard-grid{grid-template-columns:1fr}.dashboard-sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}}@media(max-width:768px){.queue-monitor-grid,.charts-grid,.dashboard-sidebar{grid-template-columns:1fr}.operator-header{flex-direction:column;align-items:flex-start}.header-controls{width:100%;flex-wrap:wrap}}.big-screen-view{position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden}.big-screen-view.dark{background:#0f172a;color:#f1f5f9}.big-screen-view.light{background:#f8fafc;color:#1e293b}.big-screen-view.large{font-size:16px}.big-screen-view.xlarge{font-size:20px}.big-screen-view.loading{display:flex;align-items:center;justify-content:center}.big-screen-view .loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px;font-size:1.25rem}.big-screen-view .spinner-icon{font-size:3rem;animation:pulse 2s infinite}.big-screen-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.big-screen-header .header-left{display:flex;align-items:center;gap:24px}.big-screen-header .site-name{margin:0;font-size:1.5em;font-weight:700}.big-screen-header .current-time{font-size:1.5em;font-weight:600;opacity:.9}.big-screen-header .header-right{display:flex;align-items:center;gap:16px}.big-screen-header .refresh-status{font-size:.85em;opacity:.7}.big-screen-header .header-btn{background:#ffffff1a;border:none;color:inherit;padding:10px 16px;border-radius:6px;font-size:1.1em;cursor:pointer;transition:all .2s}.big-screen-header .header-btn:hover{background:#fff3}.big-screen-header .header-btn.exit{background:#ef44444d}.big-screen-content{flex:1;display:grid;grid-template-columns:400px 1fr;gap:20px;padding:20px;overflow:hidden}.big-screen-queue{display:flex;flex-direction:column;gap:16px;overflow:hidden}.big-screen-forecast{background:#ffffff0d;border-radius:12px;padding:16px;flex-shrink:0}.big-screen-view.light .big-screen-forecast{background:#fff;box-shadow:0 2px 8px #00000014}.big-screen-forecast .forecast-panel{background:transparent;padding:0}.big-screen-forecast .forecast-panel.compact{background:transparent}.big-screen-forecast .forecast-header{margin-bottom:12px}.big-screen-forecast .forecast-header h3{font-size:1.1em;margin:0;color:inherit}.big-screen-forecast .queue-forecasts{gap:8px}.big-screen-forecast .queue-forecast-card.compact{background:#ffffff14;border-radius:8px;padding:10px 12px}.big-screen-view.light .big-screen-forecast .queue-forecast-card.compact{background:#f5f5f5}.big-screen-forecast .wait-forecast-card.compact{background:#ffffff14;border-radius:8px;padding:10px 12px}.big-screen-view.light .big-screen-forecast .wait-forecast-card.compact{background:#f5f5f5}.live-queue-panel{background:#ffffff0d;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.big-screen-view.light .live-queue-panel{background:#fff;box-shadow:0 2px 8px #00000014}.live-queue-panel .queue-header{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.big-screen-view.light .live-queue-panel .queue-header{border-color:var(--border)}.live-queue-panel .queue-header h2{margin:0 0 10px;font-size:1.25em}.live-queue-panel .queue-summary{display:flex;gap:16px}.live-queue-panel .summary-item{font-size:.9em;opacity:.8}.live-queue-panel .summary-item .count{font-weight:700;margin-right:4px}.live-queue-panel .queue-list{flex:1;overflow-y:auto;padding:12px}.live-queue-panel .empty-queue{padding:40px 20px;text-align:center;opacity:.6}.live-queue-panel .empty-icon{font-size:2.5em;display:block;margin-bottom:10px}.queue-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;margin-bottom:8px;cursor:pointer;transition:all .2s}.queue-item:hover{transform:translate(4px)}.queue-item.selected{box-shadow:0 0 0 2px #3b82f6}.queue-item.at-risk{border-left:4px solid #ef4444}.queue-item .queue-position{width:40px;text-align:center}.queue-item .position-number{font-weight:700;font-size:1.1em}.queue-item .status-icon{font-size:1.25em}.queue-item .queue-content{flex:1;min-width:0}.queue-item .queue-main{display:flex;flex-direction:column}.queue-item .partner-name{font-weight:600;font-size:1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item .commodity-info{font-size:.85em;opacity:.7}.queue-item .queue-driver{margin-top:4px;font-size:.85em;opacity:.7}.queue-item .queue-eta{text-align:center;min-width:60px}.queue-item .eta-value,.queue-item .wait-value{font-weight:700;font-size:1.1em;display:block}.queue-item .eta-label,.queue-item .wait-label{font-size:.7em;opacity:.6;text-transform:uppercase}.queue-item .queue-flags{display:flex;gap:4px}.queue-item .flag{font-size:1em}.queue-overflow{text-align:center;padding:12px;opacity:.6;font-size:.9em}.queue-legend{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;border-top:1px solid rgba(255,255,255,.1);font-size:.8em}.big-screen-view.light .queue-legend{border-color:var(--border)}.queue-legend .legend-item{display:flex;align-items:center;gap:4px;opacity:.7}.big-screen-map-area{position:relative;background:#ffffff0d;border-radius:12px;overflow:hidden}.big-screen-view.light .big-screen-map-area{background:#fff;box-shadow:0 2px 8px #00000014}.eta-map-view{height:100%;position:relative}.eta-map-view .map-container{width:100%;height:100%}.eta-map-view .map-legend{position:absolute;bottom:16px;left:16px;background:#0f172ae6;padding:12px 16px;border-radius:8px;display:flex;gap:20px;font-size:.85em}.big-screen-view.light .eta-map-view .map-legend{background:#fffffff2;box-shadow:0 2px 8px #00000026}.eta-map-view .legend-section{display:flex;flex-direction:column;gap:6px}.eta-map-view .legend-title{font-weight:600;font-size:.8em;opacity:.7;margin-bottom:4px}.eta-map-view .legend-item{display:flex;align-items:center;gap:6px}.eta-map-view .legend-circle{width:14px;height:14px;border-radius:50%;border:2px solid;background:transparent}.eta-map-view .legend-dot{width:10px;height:10px;border-radius:50%}.eta-map-view .inbound-indicator{position:absolute;top:16px;right:16px;background:#3b82f6e6;color:#fff;padding:12px 20px;border-radius:8px;text-align:center}.eta-map-view .inbound-count{font-size:1.5em;font-weight:700;display:block}.eta-map-view .inbound-label{font-size:.8em;opacity:.9}.selected-item-detail{position:absolute;top:16px;left:16px;background:#0f172af2;padding:20px;border-radius:12px;min-width:280px;z-index:100}.big-screen-view.light .selected-item-detail{background:#fffffffa;box-shadow:0 4px 20px #0003;color:var(--text-primary)}.selected-item-detail .detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.selected-item-detail .detail-header h3{margin:0;font-size:1.1em}.selected-item-detail .queue-status{font-size:.75em;padding:4px 10px;border-radius:12px;background:#ffffff1a;text-transform:capitalize}.selected-item-detail .detail-grid{display:flex;flex-direction:column;gap:10px}.selected-item-detail .detail-row{display:flex;justify-content:space-between}.selected-item-detail .label{opacity:.7;font-size:.9em}.selected-item-detail .value{font-weight:500}.selected-item-detail .value.eta.high{color:#4caf50}.selected-item-detail .value.eta.medium{color:#ff9800}.selected-item-detail .value.eta.low{color:#f44336}.selected-item-detail .at-risk-banner{background:#ef444433;color:#ef4444;padding:8px;border-radius:6px;text-align:center;margin-top:12px;font-weight:600}.selected-item-detail .close-detail-btn{width:100%;margin-top:16px;padding:10px;background:#ffffff1a;border:none;border-radius:6px;color:inherit;cursor:pointer;font-size:.9em}.selected-item-detail .close-detail-btn:hover{background:#fff3}.alerts-ticker{display:flex;align-items:center;padding:10px 24px;background:#ef444433;border-top:1px solid rgba(239,68,68,.3)}.alerts-ticker .ticker-label{font-weight:600;margin-right:16px;flex-shrink:0}.alerts-ticker .ticker-content{display:flex;gap:24px;overflow-x:auto}.alerts-ticker .ticker-item{white-space:nowrap;padding:4px 12px;border-radius:4px;font-size:.9em}.alerts-ticker .ticker-item.warning{background:#f59e0b33;color:#f59e0b}.alerts-ticker .ticker-item.critical{background:#ef444433;color:#ef4444}.keyboard-hints{position:absolute;bottom:16px;right:16px;display:flex;gap:16px;font-size:.75em;opacity:.5}.keyboard-hints span{background:#ffffff1a;padding:4px 8px;border-radius:4px}.big-screen-metrics.compact{display:flex;align-items:center;gap:16px}.big-screen-metrics .metric-compact{text-align:center}.big-screen-metrics .metric-compact .metric-value{font-size:1.5em;font-weight:700;display:block}.big-screen-metrics .metric-compact .metric-label{font-size:.7em;opacity:.7;text-transform:uppercase}.big-screen-metrics .metric-compact.on-site .metric-value{color:var(--grainflow-green)}.big-screen-metrics .metric-compact.at-risk .metric-value{color:#ef4444}.big-screen-metrics .metric-divider{width:1px;height:30px;background:#fff3}.big-screen-view.light .big-screen-metrics .metric-divider{background:var(--border)}.big-screen-metrics.full{padding:20px}.big-screen-metrics .metrics-row{display:flex;gap:16px;margin-bottom:16px}.big-screen-metrics .metric-card{flex:1;background:#ffffff0d;padding:20px;border-radius:12px;text-align:center}.big-screen-view.light .big-screen-metrics .metric-card{background:#f9fafb}.big-screen-metrics .metric-card .metric-icon{font-size:2em;display:block;margin-bottom:8px}.big-screen-metrics .metric-card .metric-value{font-size:2.5em;font-weight:700;display:block}.big-screen-metrics .metric-card .metric-label{font-size:.9em;opacity:.7}.big-screen-metrics .metric-card.highlight{background:#6c93}.big-screen-metrics .metric-card.alert{background:#ef444433}.big-screen-metrics .capacity-section{margin-top:16px}.big-screen-metrics .capacity-bar-container{text-align:center}.big-screen-metrics .capacity-bar{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden;margin-bottom:8px}.big-screen-view.light .big-screen-metrics .capacity-bar{background:#e5e7eb}.big-screen-metrics .capacity-fill{height:100%;background:var(--grainflow-green);transition:width .3s}.big-screen-metrics .capacity-label{font-size:.9em;opacity:.7}@media(max-width:1200px){.operator-content-grid{grid-template-columns:1fr}.operator-sidebar{flex-direction:row;flex-wrap:wrap}.operator-sidebar>*{flex:1;min-width:300px}}@media(max-width:768px){.operator-header{flex-direction:column;gap:16px;text-align:center}.header-controls{flex-wrap:wrap;justify-content:center}.operator-metrics-bar{justify-content:center}.calendar-header{flex-direction:column;align-items:stretch}.calendar-nav{justify-content:center}.calendar-title{text-align:center}.calendar-actions{justify-content:center}.calendar-legend{flex-direction:column;align-items:center}.slot-deliveries{grid-template-columns:1fr}.big-screen-content{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.admin-camera-status{padding:0;min-height:100vh;background:#f5f5f5}.camera-status-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:100}.camera-status-header .header-left{display:flex;align-items:center;gap:16px}.camera-status-header h1{margin:0;font-size:24px}.internal-badge{background:#9c27b0;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:12px;text-transform:uppercase}.camera-status-header .header-controls{display:flex;align-items:center;gap:12px}.site-selector{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;min-width:200px}.btn-refresh{padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer}.btn-refresh:hover{background:#f5f5f5}.btn-alerts{padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer}.btn-alerts.has-alerts{background:#fff3e0;border-color:#ff9800;color:#ff9800;font-weight:600}.btn-back{padding:8px 16px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer}.camera-summary-bar{display:flex;align-items:center;gap:24px;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0;overflow-x:auto}.summary-item{display:flex;flex-direction:column;align-items:center;min-width:80px}.summary-item .summary-value{font-size:24px;font-weight:600;color:#333}.summary-item .summary-label{font-size:12px;color:#666;text-transform:uppercase}.summary-item.online .summary-value{color:#4caf50}.summary-item.offline .summary-value{color:#f44336}.summary-item.degraded .summary-value{color:#ff9800}.summary-item.maintenance .summary-value{color:#9e9e9e}.summary-item.impact .summary-value{color:#f44336}.summary-divider{width:1px;height:40px;background:#e0e0e0}.camera-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#fff;border-bottom:1px solid #e0e0e0}.filter-controls{display:flex;align-items:center;gap:8px}.filter-controls label{font-size:14px;color:#666}.filter-controls select{padding:6px 12px;border:1px solid #e0e0e0;border-radius:4px}.view-controls{display:flex;gap:4px}.view-btn{padding:6px 12px;background:#fff;border:1px solid #e0e0e0;cursor:pointer}.view-btn:first-child{border-radius:4px 0 0 4px}.view-btn:last-child{border-radius:0 4px 4px 0}.view-btn.active{background:#2196f3;border-color:#2196f3;color:#fff}.camera-content{display:flex;padding:24px;gap:24px;position:relative}.camera-grid{flex:1;display:grid;gap:16px}.camera-grid.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.camera-grid.list{grid-template-columns:1fr}.no-cameras{grid-column:1 / -1;text-align:center;padding:48px;color:#666;background:#fff;border-radius:8px}.camera-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a;cursor:pointer;position:relative;transition:box-shadow .2s,transform .2s}.camera-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.camera-card.selected{box-shadow:0 0 0 2px #2196f3}.camera-card.status-offline{border-left:4px solid #f44336}.camera-card.status-degraded{border-left:4px solid #ff9800}.camera-card.status-online{border-left:4px solid #4caf50}.camera-card.status-maintenance{border-left:4px solid #9e9e9e}.camera-status-indicator{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px}.camera-info{margin-bottom:12px}.camera-name{margin:0 0 4px;font-size:16px;font-weight:600}.camera-type{display:block;font-size:12px;color:#666;text-transform:uppercase}.camera-location{display:block;font-size:13px;color:#888;margin-top:4px}.camera-status-badge{display:inline-block;padding:4px 12px;border-radius:12px;color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;margin-bottom:12px}.camera-sensors{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:12px}.sensor-label{color:#666}.sensor-count{padding:2px 6px;border-radius:4px}.sensor-count.active{background:#e8f5e9;color:#4caf50}.sensor-count.degraded{background:#fff3e0;color:#ff9800}.sensor-count.inactive{background:#ffebee;color:#f44336}.camera-heartbeat,.camera-uptime{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-bottom:4px}.heartbeat-value.stale{color:#f44336}.camera-failures{margin-top:8px}.failures-badge{background:#ffebee;color:#f44336;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.camera-quick-actions{position:absolute;bottom:16px;right:16px;display:flex;gap:8px}.action-btn{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.action-btn.start-maintenance{background:#fff3e0;color:#ff9800}.action-btn.start-maintenance:hover{background:#ffe0b2}.action-btn.end-maintenance{background:#e8f5e9;color:#4caf50}.action-btn.end-maintenance:hover{background:#c8e6c9}.camera-health-panel{width:500px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;position:sticky;top:100px;max-height:calc(100vh - 150px);overflow:hidden;display:flex;flex-direction:column}.camera-health-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e0e0e0}.camera-health-panel .panel-header h2{margin:0;font-size:18px}.close-btn{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#e0e0e0}.panel-tabs{display:flex;border-bottom:1px solid #e0e0e0;overflow-x:auto}.panel-tabs .tab{padding:12px 16px;border:none;background:none;font-size:13px;color:#666;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}.panel-tabs .tab:hover{color:#333}.panel-tabs .tab.active{color:#2196f3;border-bottom-color:#2196f3}.panel-content{flex:1;overflow-y:auto;padding:16px}.overview-tab .info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info-item{display:flex;flex-direction:column}.info-item .label{font-size:11px;color:#666;text-transform:uppercase}.info-item .value{font-size:14px;font-weight:500}.info-item .value.status-online{color:#4caf50}.info-item .value.status-offline{color:#f44336}.info-item .value.status-degraded{color:#ff9800}.info-item .value.warning{color:#f44336}.health-metrics{margin-top:24px;padding-top:16px;border-top:1px solid #e0e0e0}.health-metrics h4{margin:0 0 12px;font-size:14px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metrics-grid .metric{background:#f5f5f5;padding:12px;border-radius:8px;text-align:center}.metrics-grid .metric-label{display:block;font-size:10px;color:#666;text-transform:uppercase}.metrics-grid .metric-value{display:block;font-size:18px;font-weight:600}.maintenance-info{margin-top:16px;padding:12px;background:#fff3e0;border-radius:8px}.maintenance-info h4{margin:0 0 8px;color:#ff9800}.maintenance-info p{margin:4px 0;font-size:13px}.sensors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sensors-header h4{margin:0}.btn-add{padding:6px 12px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-add:hover{background:#1976d2}.sensors-list{display:flex;flex-direction:column;gap:12px}.sensor-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9f9f9;border-radius:8px}.sensor-item.status-inactive{border-left:3px solid #f44336}.sensor-item.status-degraded{border-left:3px solid #ff9800}.sensor-info{flex:1}.sensor-name{display:block;font-weight:500}.sensor-type{display:block;font-size:12px;color:#666}.sensor-status{font-weight:600;font-size:12px}.sensor-accuracy,.sensor-calibration{font-size:11px;color:#888}.sensor-actions{display:flex;gap:8px}.btn-small{padding:4px 8px;font-size:11px;border:1px solid #e0e0e0;background:#fff;border-radius:4px;cursor:pointer}.btn-small:hover{background:#f5f5f5}.btn-small.danger{color:#f44336;border-color:#f44336}.btn-small.danger:hover{background:#ffebee}.no-sensors{color:#666;font-style:italic}.health-history-list{display:flex;flex-direction:column;gap:8px}.health-record{display:grid;grid-template-columns:150px 100px 1fr;gap:12px;padding:8px 12px;background:#f9f9f9;border-radius:4px;font-size:12px}.health-record.status-changed{background:#fff3e0}.record-time{color:#666}.record-status .status-change{color:#ff9800;font-weight:500}.record-metrics{display:flex;gap:12px}.record-metrics .errors{color:#f44336;font-weight:500}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.config-header h4{margin:0}.btn-edit{padding:6px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer}.btn-edit:hover{background:#f5f5f5}.config-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.config-section{background:#f9f9f9;padding:12px;border-radius:8px}.config-section h5{margin:0 0 12px;font-size:13px;color:#666;text-transform:uppercase}.config-item{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px}.config-item .label{color:#666}.config-item .value{font-weight:500}.config-form .form-group{margin-bottom:16px}.config-form label{display:flex;align-items:center;gap:8px;font-size:14px}.audit-list{display:flex;flex-direction:column;gap:8px}.audit-item{padding:12px;background:#f9f9f9;border-radius:8px;border-left:3px solid #e0e0e0}.audit-item.type-camera_created,.audit-item.type-sensor_added{border-left-color:#4caf50}.audit-item.type-camera_deleted,.audit-item.type-sensor_removed{border-left-color:#f44336}.audit-item.type-alert_triggered{border-left-color:#ff9800}.audit-item.type-maintenance_started,.audit-item.type-maintenance_ended{border-left-color:#9e9e9e}.audit-time{font-size:11px;color:#888}.audit-type{font-weight:500;text-transform:capitalize;margin:4px 0}.audit-actor{font-size:12px;color:#666}.audit-notes{font-size:12px;color:#666;margin-top:4px;font-style:italic}.audit-status-change{font-size:12px;color:#ff9800;margin-top:4px}.no-audit,.no-history{color:#666;font-style:italic;text-align:center;padding:24px}.camera-alerts-panel{position:fixed;top:0;right:0;width:480px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column}.camera-alerts-panel .panel-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #e0e0e0}.camera-alerts-panel .panel-header h2{margin:0;flex:1}.alerts-filters{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#f9f9f9;border-bottom:1px solid #e0e0e0}.alerts-filters .filter-group{display:flex;align-items:center;gap:8px}.alerts-filters .filter-group label{font-size:12px;color:#666}.alerts-filters select{padding:4px 8px;border:1px solid #e0e0e0;border-radius:4px;font-size:12px}.alert-counts{display:flex;gap:12px;margin-left:auto}.alert-counts .count{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.alert-counts .count.active{background:#ffebee;color:#f44336}.alert-counts .count.acknowledged{background:#fff3e0;color:#ff9800}.alert-counts .count.resolved{background:#e8f5e9;color:#4caf50}.alerts-list{flex:1;overflow-y:auto;padding:16px}.no-alerts{text-align:center;color:#666;padding:48px}.alert-item{display:flex;gap:12px;padding:16px;background:#f9f9f9;border-radius:8px;margin-bottom:12px}.alert-item.severity-critical{border-left:4px solid #f44336}.alert-item.severity-warning{border-left:4px solid #ff9800}.alert-item.severity-info{border-left:4px solid #2196f3}.alert-item.status-resolved{opacity:.7}.alert-severity{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px;flex-shrink:0}.alert-content{flex:1;min-width:0}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.alert-type{font-size:11px;color:#666;text-transform:uppercase}.alert-status{font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;text-transform:uppercase}.alert-status.status-active{background:#ffebee;color:#f44336}.alert-status.status-acknowledged{background:#fff3e0;color:#ff9800}.alert-status.status-resolved{background:#e8f5e9;color:#4caf50}.alert-title{margin:0 0 4px;font-size:14px}.alert-message{margin:0;font-size:13px;color:#666}.alert-meta{display:flex;gap:12px;margin-top:8px;font-size:11px;color:#888}.alert-impact{color:#f44336;font-weight:500}.alert-acknowledged,.alert-resolved{font-size:11px;color:#888;margin-top:4px}.resolution-notes{font-style:italic}.alert-actions{display:flex;flex-direction:column;gap:8px}.btn-acknowledge,.btn-resolve{padding:6px 12px;border:none;border-radius:4px;font-size:11px;cursor:pointer;white-space:nowrap}.btn-acknowledge{background:#fff3e0;color:#ff9800}.btn-acknowledge:hover{background:#ffe0b2}.btn-resolve{background:#e8f5e9;color:#4caf50}.btn-resolve:hover{background:#c8e6c9}.forecast-impact-summary{padding:16px;background:#ffebee;border-top:1px solid #ffcdd2}.forecast-impact-summary h4{margin:0 0 8px;color:#f44336;font-size:14px}.forecast-impact-summary p{margin:0 0 8px;font-size:13px}.forecast-impact-summary .impact-note{font-size:12px;color:#666}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.modal-content{background:#fff;border-radius:8px;padding:24px;width:400px;max-width:90%;max-height:90vh;overflow-y:auto}.modal-content.large{width:600px}.modal-content h3{margin:0 0 16px}.modal-content p{margin:0 0 16px;color:#666}.modal-content textarea{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:4px;font-family:inherit;resize:vertical}.modal-content input[type=text],.modal-content input[type=number],.modal-content select{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.btn-secondary{padding:10px 20px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer}.btn-secondary:hover{background:#e0e0e0}.btn-primary{padding:10px 20px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-primary:hover{background:#1976d2}.btn-primary:disabled{background:#bdbdbd;cursor:not-allowed}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;color:#666;margin-bottom:4px}.large-modal{width:700px;max-width:95%}.modal-form{display:flex;flex-direction:column;gap:12px}.modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-form .form-group{margin-bottom:0}.modal-body{padding:0}.confirmation-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.confirmation-badge.confirmed{background:#d1fae5;color:#065f46}.confirmation-badge.pending{background:#fef3c7;color:#92400e}.invalid-row{background-color:#fef2f2!important}.invalid-row:hover{background-color:#fee2e2!important}.site-indicator{font-size:.9rem;color:#6b7280;font-weight:400;margin-left:12px;padding:4px 12px;background:#f3f4f6;border-radius:16px}.site-selector{margin-left:auto}.site-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;background:#fff;cursor:pointer}.site-select:focus{outline:none;border-color:var(--primary-color)}.help-text{font-size:.75rem;color:#9ca3af;margin-top:4px}.csv-preview{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background:#fafafa}.csv-preview h3{margin:0 0 12px;font-size:1rem}.upload-section{display:flex;align-items:center;gap:12px}@media(max-width:1200px){.camera-health-panel,.camera-alerts-panel{width:400px}}@media(max-width:992px){.camera-content{flex-direction:column}.camera-health-panel{width:100%;position:relative;top:0;max-height:none}.camera-alerts-panel{width:100%}.config-grid{grid-template-columns:1fr}}@media(max-width:768px){.camera-status-header{flex-direction:column;gap:12px}.camera-status-header .header-controls,.camera-summary-bar{flex-wrap:wrap;justify-content:center}.camera-controls{flex-direction:column;gap:12px}.camera-grid.grid,.overview-tab .info-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}.health-record{grid-template-columns:1fr;gap:4px}}.forecast-panel{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:16px}.forecast-panel.compact{padding:12px}.forecast-loading,.forecast-error{text-align:center;padding:24px;color:#666}.forecast-error{display:flex;flex-direction:column;align-items:center;gap:12px}.btn-retry{padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-retry:hover{background:#1976d2}.forecast-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.forecast-title{display:flex;align-items:center;gap:12px}.forecast-title h3{margin:0;font-size:16px;font-weight:600}.forecast-meta{display:flex;align-items:center;gap:8px}.last-refresh{font-size:12px;color:#888}.btn-refresh-small{width:28px;height:28px;border:1px solid #e0e0e0;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px}.btn-refresh-small:hover{background:#f5f5f5}.btn-refresh-small:disabled{opacity:.5;cursor:not-allowed}.bias-warning{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff3e0;border-radius:4px;margin-bottom:16px;font-size:13px}.bias-icon{color:#ff9800}.bias-text{color:#e65100}.forecast-section{margin-bottom:16px}.forecast-section:last-child{margin-bottom:0}.forecast-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#666;text-transform:uppercase}.queue-forecasts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.queue-forecast-card{background:#f9f9f9;border-radius:8px;padding:12px;transition:opacity .3s}.queue-forecast-card.compact{padding:8px;display:flex;flex-direction:column;align-items:center;gap:4px}.queue-forecast-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.queue-forecast-card .horizon-label{font-size:12px;font-weight:600;color:#666}.queue-forecast-card .confidence-badge{font-size:10px;padding:2px 6px;border-radius:8px;color:#fff}.queue-forecast-card .card-body{text-align:center;margin-bottom:8px}.queue-forecast-card .queue-display{display:flex;flex-direction:column;align-items:center;gap:4px}.queue-forecast-card .queue-icon{font-size:20px}.queue-forecast-card .queue-number{font-size:28px;font-weight:700;color:#333}.queue-forecast-card .queue-label{font-size:12px;color:#666}.queue-forecast-card .queue-range{margin-top:4px;font-size:11px;color:#888}.queue-forecast-card .card-footer{display:flex;justify-content:space-between;align-items:center;font-size:11px}.queue-forecast-card .forecast-details{display:flex;gap:8px}.queue-forecast-card .detail{color:#888}.queue-forecast-card .detail.arrivals{color:#2196f3}.queue-forecast-card .detail.departures{color:#4caf50}.queue-forecast-card .net-change{font-weight:600}.queue-forecast-card .net-change.positive{color:#f44336}.queue-forecast-card .net-change.negative{color:#4caf50}.queue-forecast-card.compact .queue-value{font-size:14px;font-weight:600}.queue-forecast-card.compact .predicted{font-size:18px}.queue-forecast-card.compact .confidence-dot{width:8px;height:8px;border-radius:50%}.wait-forecast-card{background:#f9f9f9;border-radius:8px;padding:16px;transition:opacity .3s}.wait-forecast-card.compact{padding:12px;display:flex;justify-content:space-between;align-items:center}.wait-forecast-card .card-content{display:flex;align-items:center;gap:16px;margin-bottom:12px}.wait-forecast-card .wait-section{flex:1;text-align:center}.wait-forecast-card .section-label{display:block;font-size:11px;color:#888;text-transform:uppercase;margin-bottom:4px}.wait-forecast-card .wait-time{display:block;font-size:24px;font-weight:700;color:#333}.wait-forecast-card .wait-range{display:block;font-size:11px;color:#888;margin-top:4px}.wait-forecast-card .wait-divider{display:flex;flex-direction:column;align-items:center;padding:0 8px}.wait-forecast-card .trend-indicator{display:flex;flex-direction:column;align-items:center;gap:4px}.wait-forecast-card .trend-icon{font-size:24px;font-weight:600}.wait-forecast-card .trend-label{font-size:10px;text-transform:uppercase}.wait-forecast-card .trend-reason{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f5f5f5;border-radius:4px;font-size:12px;color:#666;margin-bottom:12px}.wait-forecast-card .reason-icon{width:16px;height:16px;background:#e0e0e0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.wait-forecast-card .confidence-bar{position:relative;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.wait-forecast-card .confidence-fill{height:100%;border-radius:2px;transition:width .3s}.wait-forecast-card .confidence-label{position:absolute;right:0;top:8px;font-size:10px;color:#888}.wait-forecast-card.compact .wait-content{display:flex;align-items:center;gap:12px}.wait-forecast-card.compact .wait-value{font-size:14px}.wait-forecast-card.compact .predicted{font-size:20px;font-weight:600}.wait-forecast-card.compact .wait-trend{font-size:16px;font-weight:600}.wait-forecast-card.compact .confidence-dot{width:8px;height:8px;border-radius:50%}.confidence-indicator{transition:opacity .3s}.confidence-indicator.compact{display:flex;align-items:center;gap:6px}.confidence-indicator .confidence-dot{width:10px;height:10px;border-radius:50%}.confidence-indicator .confidence-percent{font-size:12px;color:#666}.confidence-indicator .confidence-main{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.confidence-indicator .confidence-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex-shrink:0}.confidence-indicator .confidence-content{flex:1}.confidence-indicator .confidence-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.confidence-indicator .confidence-level{font-weight:600;font-size:14px}.confidence-indicator .confidence-description{font-size:12px;color:#666}.confidence-indicator .confidence-bar-container{margin-bottom:12px}.confidence-indicator .confidence-bar-track{height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.confidence-indicator .confidence-bar-fill{height:100%;border-radius:3px;transition:width .3s}.signal-quality{display:flex;align-items:center;gap:8px}.signal-bars{display:flex;align-items:flex-end;gap:2px}.signal-bar{width:4px;border-radius:1px;transition:background-color .2s}.signal-label{font-size:12px;color:#666}.signal-strength-bars{display:flex;align-items:flex-end;gap:2px}.signal-strength-bars .signal-bar{width:4px;border-radius:1px}.signal-strength-bars.small .signal-bar{width:3px}.confidence-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;color:#fff;font-size:11px;font-weight:600}.confidence-badge.compact{padding:2px 6px;font-size:10px}.confidence-badge .badge-icon{font-size:10px}.confidence-dot-inline{vertical-align:middle;margin-left:4px}.signal-section .signal-details{background:#f9f9f9;border-radius:8px;padding:12px}.signal-indicator{display:inline-flex;align-items:center;padding:6px 12px;border-radius:16px;margin-bottom:12px}.signal-indicator.quality-strong{background:#e8f5e9;color:#4caf50}.signal-indicator.quality-moderate{background:#fff3e0;color:#ff9800}.signal-indicator.quality-weak{background:#ffebee;color:#f44336}.signal-indicator.quality-degraded{background:#f5f5f5;color:#9e9e9e}.input-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.input-item{text-align:center}.input-item .input-label{display:block;font-size:10px;color:#888;text-transform:uppercase;margin-bottom:4px}.input-item .input-value{display:block;font-size:18px;font-weight:600;color:#333}.confidence-factors .factors-list{display:flex;flex-direction:column;gap:8px}.factor-item{display:grid;grid-template-columns:100px 60px 1fr;gap:12px;padding:8px;background:#f9f9f9;border-radius:4px;font-size:12px}.factor-name{font-weight:600}.factor-impact{text-align:right;color:#666}.factor-impact.negative{color:#f44336}.factor-reason{color:#888}.big-screen-view .forecast-panel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.big-screen-view.dark-mode .forecast-panel{color:#fff}.big-screen-view.dark-mode .forecast-header{border-bottom-color:#ffffff1a}.big-screen-view.dark-mode .forecast-section h4{color:#ffffffb3}.big-screen-view.dark-mode .queue-forecast-card,.big-screen-view.dark-mode .wait-forecast-card{background:#ffffff0d}.big-screen-view.dark-mode .queue-number,.big-screen-view.dark-mode .wait-time{color:#fff}.big-screen-view.dark-mode .queue-label,.big-screen-view.dark-mode .section-label{color:#fff9}@media(max-width:768px){.queue-forecasts{grid-template-columns:1fr;gap:8px}.wait-forecast-card .card-content{flex-direction:column;gap:12px}.wait-forecast-card .wait-divider{padding:8px 0}.input-summary{grid-template-columns:1fr;gap:8px}.factor-item{grid-template-columns:1fr;gap:4px}}@media(max-width:480px){.forecast-header{flex-direction:column;align-items:flex-start;gap:8px}.forecast-meta{width:100%;justify-content:space-between}}.recommendations-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.recommendations-panel .header-title{display:flex;align-items:center;gap:8px}.recommendations-panel .header-title h3{margin:0;font-size:1.1em}.recommendations-panel .priority-summary{display:flex;gap:8px}.recommendations-panel .priority-badge{font-size:.75em;padding:2px 8px;border-radius:10px;color:#fff;font-weight:600}.recommendations-panel .priority-badge.urgent{background:#ef4444}.recommendations-panel .priority-badge.high{background:#f59e0b}.rec-filters{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px;background:#f9fafb;border-bottom:1px solid var(--border)}.rec-filters .filter-group{display:flex;align-items:center;gap:8px}.rec-filters label{font-size:.85em;color:#6b7280;font-weight:500}.rec-filters .filter-buttons{display:flex;gap:4px}.rec-filters .filter-buttons button{padding:4px 12px;border:1px solid #d1d5db;background:#fff;border-radius:4px;font-size:.8em;cursor:pointer;transition:all .2s}.rec-filters .filter-buttons button:hover{border-color:var(--primary)}.rec-filters .filter-buttons button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.rec-filters select{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.85em}.recommendation-card{position:relative;margin:12px 16px;padding:16px;border-radius:8px;border-left:4px solid;cursor:pointer;transition:all .2s}.recommendation-card:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.recommendation-card.expanded{box-shadow:0 4px 12px #00000026}.recommendation-card .rec-main{display:flex;flex-direction:column;gap:8px}.recommendation-card .rec-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recommendation-card .rec-icon{font-size:1.2em}.recommendation-card .rec-title{font-weight:600;flex:1}.recommendation-card .rec-badges{display:flex;gap:6px}.recommendation-card .scope-badge{font-size:.7em;padding:2px 6px;border-radius:4px;background:#e5e7eb;color:#374151}.recommendation-card .scope-badge.delivery{background:#dbeafe;color:#1d4ed8}.recommendation-card .scope-badge.site{background:#f3e8ff;color:#7c3aed}.recommendation-card .rec-description{margin:0;font-size:.9em;color:#4b5563;line-height:1.4}.recommendation-card .rec-action{display:flex;gap:6px;font-size:.85em;padding:8px;background:#00000008;border-radius:4px}.recommendation-card .action-label{color:#6b7280;font-weight:500}.recommendation-card .action-text{color:#374151}.rec-expanded{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.1)}.rec-expanded .rec-reasoning,.rec-expanded .rec-impact{margin-bottom:12px}.rec-expanded .label{font-size:.8em;font-weight:600;color:#6b7280;display:block;margin-bottom:4px}.rec-expanded .text{font-size:.9em;color:#374151}.rec-expanded .impact-items{display:flex;flex-wrap:wrap;gap:8px}.rec-expanded .impact-item{font-size:.85em;padding:4px 8px;border-radius:4px}.rec-expanded .impact-item.positive{background:#d1fae5;color:#065f46}.rec-expanded .rec-actions{display:flex;gap:8px;margin-top:12px}.rec-expanded .btn-view-delivery,.rec-expanded .btn-dismiss{padding:6px 12px;border-radius:4px;font-size:.85em;cursor:pointer;transition:all .2s}.rec-expanded .btn-view-delivery{background:var(--primary);color:#fff;border:none}.rec-expanded .btn-view-delivery:hover{background:var(--primary-hover)}.rec-expanded .btn-dismiss{background:#fff;color:#6b7280;border:1px solid #d1d5db}.rec-expanded .btn-dismiss:hover{background:#f3f4f6}.view-delivery-btn-inline{position:absolute;right:16px;top:50%;transform:translateY(-50%);padding:4px 12px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.8em;cursor:pointer}.view-delivery-btn-inline:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.rec-footer-note{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f9fafb;border-top:1px solid var(--border);font-size:.8em;color:#6b7280}.rec-footer-note .note-icon{font-size:1.1em}.reporting-dashboard{min-height:100vh;background:#f5f5f5}.reporting-container{max-width:1200px;margin:0 auto;padding:24px}.reporting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.reporting-header h1{margin:0;font-size:1.75em}.reporting-header .site-name{color:#6b7280;font-size:.9em;margin-left:12px}.btn-back{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.btn-back:hover{background:#f3f4f6}.btn-reports{padding:8px 16px;background:#6366f1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-reports:hover{background:#4f46e5}.report-tabs{display:flex;gap:4px;background:#fff;padding:4px;border-radius:8px;margin-bottom:16px}.report-tabs .tab{flex:1;padding:12px 24px;background:transparent;border:none;border-radius:6px;font-size:.95em;cursor:pointer;transition:all .2s}.report-tabs .tab:hover{background:#f3f4f6}.report-tabs .tab.active{background:var(--primary);color:#fff;font-weight:600}.date-navigation{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px;padding:12px;background:#fff;border-radius:8px}.date-navigation .btn-nav{padding:8px 16px;background:transparent;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.date-navigation .btn-nav:hover:not(:disabled){background:#f3f4f6}.date-navigation .btn-nav:disabled{opacity:.5;cursor:not-allowed}.date-navigation .current-date{display:flex;align-items:center;gap:12px;font-weight:600}.date-navigation .date-picker{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.9em}.report-content{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px}.report-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px;color:#6b7280}.daily-summary-card{background:#fff;border-radius:12px}.daily-summary-card .card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:20px}.daily-summary-card .card-header h3{margin:0;font-size:1.3em}.daily-summary-card .report-date{color:#6b7280;font-size:.95em}.metrics-section{margin-bottom:24px}.metrics-section h4{margin:0 0 12px;font-size:1em;color:#374151;font-weight:600}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-item{background:#f9fafb;padding:16px;border-radius:8px;text-align:center}.metric-item.primary{background:#eef2ff}.metric-item .metric-value{display:block;font-size:1.75em;font-weight:700;color:#111827}.metric-item .metric-label{display:block;font-size:.85em;color:#6b7280;margin-top:4px}.metric-item .change-indicator{display:inline-block;font-size:.8em;padding:2px 6px;border-radius:4px;margin-top:4px}.change-indicator.positive{background:#d1fae5;color:#065f46}.change-indicator.negative{background:#fee2e2;color:#991b1b}.change-indicator.neutral{background:#f3f4f6;color:#6b7280}.issues-row{display:flex;gap:8px;margin-top:12px}.issue-badge{font-size:.8em;padding:4px 8px;border-radius:4px}.issue-badge.cancelled{background:#fee2e2;color:#991b1b}.issue-badge.no-show{background:#fef3c7;color:#92400e}.time-of-day{display:flex;gap:16px;margin-top:12px}.tod-item{flex:1;display:flex;justify-content:space-between;padding:8px 12px;background:#f3f4f6;border-radius:4px;font-size:.9em}.tod-label{color:#6b7280}.tod-value{font-weight:600}.metrics-section.volume{text-align:center;padding:24px;background:linear-gradient(135deg,#f0fdf4,#d1fae5);border-radius:12px}.volume-stat{display:flex;flex-direction:column;align-items:center}.volume-value{font-size:2.5em;font-weight:700;color:#065f46}.volume-unit{font-size:1.25em;color:#059669;margin-left:8px}.volume-label{font-size:.9em;color:#6b7280;margin-top:4px}.highlights-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.highlights-section h4{margin:0 0 12px;font-size:1em}.highlights-section ul{margin:0;padding-left:20px}.highlights-section li{margin-bottom:8px;font-size:.9em}.highlights .highlight-item{color:#065f46}.issues .issue-item{color:#991b1b}.weekly-summary-card{background:#fff;border-radius:12px}.weekly-summary-card .card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:20px}.weekly-summary-card .card-header h3{margin:0;font-size:1.3em}.weekly-summary-card .report-date-range{color:#6b7280;font-size:.95em}.key-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.key-metric{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:20px;border-radius:12px;text-align:center}.key-metric .km-value{display:block;font-size:2em;font-weight:700;color:#0369a1}.key-metric .km-label{display:block;font-size:.85em;color:#6b7280;margin-top:4px}.daily-charts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.chart-section{background:#f9fafb;padding:20px;border-radius:12px}.chart-section h4{margin:0 0 16px;font-size:1em;color:#374151}.bar-chart{display:flex;align-items:flex-end;gap:8px;height:120px;padding-top:20px}.bar-column{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-column .bar-value{font-size:.75em;font-weight:600;color:#374151;margin-bottom:4px}.bar-column .bar{width:100%;max-width:40px;background:#3b82f6;border-radius:4px 4px 0 0;transition:height .3s}.bar-chart.wait-times .bar{background:#f59e0b}.bar-chart.wait-times .bar.high{background:#ef4444}.bar-column .bar-label{font-size:.75em;color:#6b7280;margin-top:8px}.breakdown-section{margin-bottom:24px}.breakdown-section h4{margin:0 0 16px;font-size:1em;color:#374151}.breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.breakdown-item{background:#f9fafb;padding:12px 16px;border-radius:8px}.breakdown-row{display:flex;justify-content:space-between;margin-bottom:8px}.breakdown-label{font-size:.9em;color:#6b7280}.breakdown-value{font-weight:600}.breakdown-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.breakdown-fill{height:100%;border-radius:3px;transition:width .3s}.breakdown-fill.contract{background:#3b82f6}.breakdown-fill.spot{background:#10b981}.timing-breakdown{display:flex;gap:16px;margin-top:16px}.timing-item{flex:1;text-align:center;padding:12px;border-radius:8px}.timing-item.on-time{background:#d1fae5}.timing-item.late{background:#fee2e2}.timing-item.early{background:#dbeafe}.timing-item .timing-count{display:block;font-size:1.5em;font-weight:700}.timing-item.on-time .timing-count{color:#065f46}.timing-item.late .timing-count{color:#991b1b}.timing-item.early .timing-count{color:#1d4ed8}.timing-item .timing-label{font-size:.8em;color:#6b7280}.commodity-section{margin-bottom:24px}.commodity-section h4{margin:0 0 16px;font-size:1em;color:#374151}.commodity-list{display:flex;flex-direction:column;gap:12px}.commodity-item{background:#f9fafb;padding:12px 16px;border-radius:8px}.commodity-header{display:flex;justify-content:space-between;margin-bottom:8px}.commodity-name{font-weight:600}.commodity-count{font-size:.85em;color:#6b7280}.commodity-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:4px}.commodity-fill{height:100%;background:#6366f1;border-radius:3px}.commodity-volume{font-size:.85em;color:#6b7280}.volume-section{text-align:center;padding:24px;background:linear-gradient(135deg,#f0fdf4,#d1fae5);border-radius:12px;margin-bottom:24px}.volume-stat.large .volume-value{font-size:3em}.summary-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.summary-section{padding:16px;border-radius:8px}.summary-section.highlights{background:#f0fdf4}.summary-section.issues{background:#fef2f2}.summary-section.recommendations{background:#eff6ff}.summary-section h4{margin:0 0 12px;font-size:.95em}.summary-section ul{margin:0;padding-left:16px}.summary-section li{font-size:.85em;margin-bottom:6px}.performance-tables{display:grid;grid-template-columns:1fr 1fr;gap:24px}.performance-section{background:#fff;border-radius:12px;padding:20px}.performance-section h3{margin:0 0 16px;font-size:1.1em}.performance-table{width:100%;border-collapse:collapse}.performance-table th,.performance-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb;font-size:.9em}.performance-table th{background:#f9fafb;font-weight:600;color:#6b7280}.performance-table td.good{color:#059669}.performance-table td.poor{color:#dc2626}.report-export-panel{max-width:600px;margin:0 auto}.report-export-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.report-export-panel .panel-header h3{margin:0;font-size:1.25em}.report-export-panel .admin-badge{background:#6366f1;color:#fff;font-size:.75em;padding:4px 8px;border-radius:4px;font-weight:600}.export-form{background:#f9fafb;padding:24px;border-radius:12px;margin-bottom:24px}.export-form .form-group{margin-bottom:20px}.export-form .form-group>label{display:block;font-weight:600;margin-bottom:8px;color:#374151}.export-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.export-form .radio-group{display:flex;gap:16px}.export-form .radio-group label{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.export-form .radio-group label.selected{border-color:var(--primary);background:#eef2ff}.export-form .radio-group input{margin:0}.export-form input[type=date]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.95em}.export-form .format-buttons{display:flex;gap:8px}.export-form .format-buttons button{flex:1;padding:10px;background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.export-form .format-buttons button.selected{border-color:var(--primary);background:#eef2ff;color:var(--primary)}.export-form .checkbox-group{display:flex;flex-direction:column;gap:12px}.export-form .checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.btn-export{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s}.btn-export:hover:not(:disabled){background:var(--primary-hover)}.btn-export:disabled{opacity:.6;cursor:not-allowed}.export-error{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background:#fee2e2;border-radius:6px;color:#991b1b}.export-error .error-icon{width:20px;height:20px;background:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.export-success{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background:#d1fae5;border-radius:6px;color:#065f46}.export-success .success-icon{font-size:1.2em}.btn-download-again{margin-left:auto;padding:6px 12px;background:#059669;color:#fff;border:none;border-radius:4px;cursor:pointer}.export-history{margin-bottom:24px}.btn-history{width:100%;padding:10px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.btn-history:hover:not(:disabled){background:#f3f4f6}.history-list{margin-top:16px;background:#fff;border-radius:8px;overflow:hidden}.history-list h4{margin:0;padding:12px 16px;background:#f9fafb;font-size:.95em}.history-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb}.history-item:last-child{border-bottom:none}.history-info{display:flex;gap:12px;font-size:.9em}.history-type{font-weight:600;text-transform:capitalize}.history-date{color:#6b7280}.history-format{background:#e5e7eb;padding:2px 6px;border-radius:4px;font-size:.8em}.history-status{font-size:.8em;padding:4px 8px;border-radius:4px}.history-status.completed{background:#d1fae5;color:#065f46}.history-status.pending,.history-status.processing{background:#fef3c7;color:#92400e}.history-status.failed{background:#fee2e2;color:#991b1b}.no-history{padding:24px;text-align:center;color:#6b7280}.export-note{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#f9fafb;border-radius:8px;font-size:.85em;color:#6b7280}@media(max-width:1024px){.metrics-grid,.key-metrics{grid-template-columns:repeat(2,1fr)}.daily-charts,.performance-tables,.summary-sections{grid-template-columns:1fr}}@media(max-width:768px){.reporting-container{padding:16px}.reporting-header{flex-direction:column;align-items:flex-start;gap:12px}.report-tabs{flex-direction:column}.date-navigation{flex-direction:column;gap:8px}.date-navigation .btn-nav{width:100%}.metrics-grid{grid-template-columns:1fr 1fr}.time-of-day{flex-direction:column}.highlights-section,.breakdown-grid{grid-template-columns:1fr}.timing-breakdown{flex-direction:column}.export-form .form-row{grid-template-columns:1fr}.export-form .radio-group,.rec-filters{flex-direction:column}.rec-filters .filter-buttons{flex-wrap:wrap}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px}.modal-content{background:#fff;border-radius:12px;padding:28px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-content h2{margin:0 0 20px;font-size:20px;color:#1a1a2e}.modal-content .form-group{margin-bottom:18px}.modal-content .form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:6px}.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.modal-content .form-group input:focus,.modal-content .form-group select:focus,.modal-content .form-group textarea:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d91a}.modal-content .form-row{display:flex;gap:12px}.modal-content .form-group.half{flex:1}.modal-content .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #eee}.delete-modal .warning-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:14px 16px;margin-bottom:20px;font-size:14px;color:#856404}.delete-modal .warning-box strong{color:#856404}.danger-btn{padding:10px 20px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.danger-btn:hover:not(:disabled){background:#c82333}.danger-btn:disabled{background:#e9a0a8;cursor:not-allowed}.header-actions{display:flex;gap:10px;align-items:center}.deleted-section{background:#f8f9fa;border-radius:8px;padding:20px;border:1px dashed #dee2e6}.deleted-section h3{margin:0 0 8px;color:#6c757d}.deleted-section .hint-text{font-size:13px;color:#868e96;margin-bottom:16px}.deleted-row{background:#fff5f5!important}.deleted-row:hover{background:#ffecec!important}.action-btn.warning{background:#ffc107;color:#212529}.action-btn.warning:hover{background:#e0a800}.form-row{display:flex;gap:12px}.form-group.half{flex:1}.admin-table .actions-cell{white-space:nowrap}.admin-table .actions-cell .action-btn,.admin-table .actions-cell .action-link{margin-right:6px}.admin-table .actions-cell .action-btn:last-child,.admin-table .actions-cell .action-link:last-child{margin-right:0}@media(max-width:600px){.modal-content{padding:20px;max-width:calc(100% - 40px)}.modal-content .form-row{flex-direction:column;gap:0}.modal-content .form-actions{flex-direction:column}.modal-content .form-actions button{width:100%}.header-actions{flex-wrap:wrap}}.invite-title{text-align:center;color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.invite-org-info{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:16px;margin-bottom:1.5rem;text-align:center}.invite-org-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.invite-org-info strong{display:block;color:var(--text-primary);font-size:1.1rem;margin-top:4px}.invite-role{margin-top:8px!important;text-transform:capitalize;color:var(--grainflow-green)!important;font-weight:500}.invite-email-note{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;padding:10px;background:#f9fafb;border-radius:6px}.invite-divider{text-align:center;margin:24px 0;position:relative;color:var(--text-secondary);font-size:.85rem}.invite-divider:before,.invite-divider:after{content:"";position:absolute;top:50%;width:35%;height:1px;background-color:var(--border)}.invite-divider:before{left:0}.invite-divider:after{right:0}.invite-code-form{display:flex;flex-direction:column;gap:16px}.invite-code-input{padding:14px 18px;border:2px solid var(--border);border-radius:8px;font-size:1.5rem;font-weight:600;letter-spacing:4px;text-align:center;text-transform:uppercase;font-family:Courier New,monospace;transition:border-color .3s ease}.invite-code-input:focus{outline:none;border-color:var(--grainflow-green)}.invite-code-input::placeholder{letter-spacing:normal;font-size:1rem;font-weight:400;font-family:Montserrat,sans-serif}.back-to-login-link{display:block;text-align:center;color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:color .3s ease}.back-to-login-link:hover{color:var(--grainflow-green)}.warning-box{background:#fff7ed;border:1px solid #fb923c;border-radius:8px;padding:20px;margin-bottom:1.5rem;text-align:center}.warning-box p{margin:0;color:var(--text-secondary);font-size:.9rem}.warning-box strong{display:block;color:var(--text-primary);font-size:1rem;margin-top:4px}.profile-setup-form{display:flex;flex-direction:column;gap:16px}.profile-setup-form .form-group{margin-bottom:0}.profile-setup-form .form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary);font-size:.9rem}.profile-setup-form .form-group input{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:8px;font-size:1rem;transition:border-color .3s ease;font-family:Montserrat,sans-serif}.profile-setup-form .form-group input:focus{outline:none;border-color:var(--grainflow-green)}.profile-setup-form .form-row{display:flex;gap:16px}.profile-setup-form .form-row .form-group{flex:1}.disabled-input{background:#f3f4f6!important;color:var(--text-secondary)!important;cursor:not-allowed}.full-width{width:100%}.loading-text{text-align:center;color:var(--text-secondary);font-size:1rem;padding:20px 0}.role-display{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;min-height:48px}.role-display-inline{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;min-height:44px}.role-badge{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:6px 14px;border-radius:20px;font-size:.9rem;font-weight:600;white-space:nowrap}.org-name{color:#166534;font-size:.95rem;font-weight:500}.org-name-small{color:#166534;font-size:.85rem;font-weight:500}@media(max-width:480px){.profile-setup-form .form-row{flex-direction:column}.invite-code-input{font-size:1.2rem;letter-spacing:2px}.login-card{padding:30px 20px}}.impersonation-banner{background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;padding:12px 24px;display:flex;justify-content:center;align-items:center;gap:20px;font-size:.95rem;position:sticky;top:0;z-index:1000}.impersonation-banner strong{font-weight:600}.exit-impersonation-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);padding:6px 14px;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.exit-impersonation-btn:hover{background:#ffffff4d}.admin-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filter-group{flex:1;min-width:180px}.search-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--grainflow-green)}.filter-select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--grainflow-green)}.user-stats-summary{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stat-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px 24px;flex:1;min-width:140px;display:flex;flex-direction:column;align-items:center;text-align:center}.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--grainflow-green)}.stat-card .stat-label{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.user-cell{display:flex;flex-direction:column;gap:2px}.user-cell strong{color:var(--text-primary)}.user-type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.role-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.role-tag{padding:2px 8px;background:#f3f4f6;border-radius:4px;font-size:.7rem;color:var(--text-secondary)}.role-tag.more{background:#e5e7eb;color:#6b7280}.role-tag.large{padding:4px 12px;font-size:.8rem}.org-cell{display:flex;flex-direction:column;gap:2px}.org-cell strong{color:var(--text-primary)}.site-count{font-size:.75rem;color:var(--text-secondary)}.no-org{color:var(--text-secondary);font-style:italic}.contact-cell{display:flex;flex-direction:column;gap:4px}.contact-link{color:var(--sky-blue);text-decoration:none;font-size:.9rem}.contact-link:hover{text-decoration:underline}.contact-cell .phone{font-size:.85rem;color:var(--text-secondary)}.metrics-cell{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.metrics-cell .metric{display:flex;flex-direction:column;align-items:center}.metrics-cell .metric-value{font-weight:600;font-size:.9rem;color:var(--text-primary)}.metrics-cell .metric-label{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase}.location-indicator{font-size:1.2rem}.location-indicator.enabled{filter:drop-shadow(0 0 2px var(--grainflow-green))}.assigned-sites{display:flex;flex-wrap:wrap;gap:4px}.site-badge{padding:3px 8px;background:#e0f2fe;color:#0369a1;border-radius:4px;font-size:.75rem;font-weight:500}.site-badge.more{background:#f3f4f6;color:var(--text-secondary)}.no-metrics{color:var(--text-secondary)}.last-active{font-size:.85rem;color:var(--text-secondary)}.action-buttons{display:flex;gap:6px}.action-btn.view{background:var(--sky-blue);color:#fff}.action-btn.view:hover{background:#2563eb}.action-btn.impersonate{background:#9333ea;color:#fff}.action-btn.impersonate:hover{background:#7c3aed}.action-btn.delete{background:#dc2626;color:#fff}.action-btn.delete:hover{background:#b91c1c}.user-detail-modal{max-width:700px;max-height:85vh;overflow-y:auto}.user-detail-content{padding:20px 0}.detail-section{margin-bottom:24px}.detail-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:500;letter-spacing:.5px}.detail-item span{color:var(--text-primary)}.detail-item .monospace{font-family:monospace;font-size:.85rem;background:#f3f4f6;padding:4px 8px;border-radius:4px}.role-list,.site-list{display:flex;flex-wrap:wrap;gap:8px}.no-data{color:var(--text-secondary);font-style:italic;font-size:.9rem}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-card{background:#f9fafb;border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.metric-card .metric-value{font-size:1.5rem;font-weight:700;color:var(--grainflow-green);display:block}.metric-card .metric-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;margin-top:4px;display:block}.membership-table{width:100%;border-collapse:collapse;font-size:.9rem}.membership-table th,.membership-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.membership-table th{background:#f9fafb;font-weight:600;font-size:.8rem;text-transform:uppercase;color:var(--text-secondary)}.membership-table .status-badge{padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.membership-table .status-badge.active{background:#d1fae5;color:#065f46}.membership-table .status-badge.pending_approval{background:#fef3c7;color:#92400e}.membership-table .status-badge.suspended{background:#fee2e2;color:#991b1b}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.sortable-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.sortable-table th.sortable:hover{background:#e5e7eb}.sort-indicator{margin-left:6px;font-size:.75rem;color:#9ca3af}.sort-indicator.active{color:var(--grainflow-green);font-weight:700}.metrics-header{display:flex;gap:12px}.sortable-group{cursor:pointer;padding:2px 6px;border-radius:4px;font-size:.75rem;transition:background-color .2s ease}.sortable-group:hover{background:#e5e7eb}.active-filters{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:16px}.filter-count{font-size:.9rem;color:#0369a1;font-weight:500}.clear-filters-btn{padding:6px 14px;background:transparent;border:1px solid #0369a1;color:#0369a1;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:#0369a1;color:#fff}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.dashboard-stat-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:transform .2s ease,box-shadow .2s ease}.dashboard-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon.orgs{background:#ede9fe}.stat-icon.sites{background:#dcfce7}.stat-icon.users{background:#e0f2fe}.stat-icon.drivers{background:#fef3c7}.stat-icon.operators{background:#fce7f3}.stat-icon.deliveries{background:#f0fdf4}.stat-info{display:flex;flex-direction:column}.dashboard-stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.dashboard-stat-card .stat-label{font-size:.85rem;color:var(--text-secondary)}.dashboard-section{margin-bottom:32px}.dashboard-section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:16px}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.quick-action-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:all .2s ease}.quick-action-card:hover{border-color:var(--grainflow-green);transform:translateY(-2px);box-shadow:0 4px 12px #66cc9926}.action-icon{font-size:2rem;line-height:1}.action-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.action-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.action-badge{display:inline-block;background:var(--amber-orange);color:#fff;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600;margin-left:8px}@media(max-width:768px){.admin-filters{flex-direction:column}.filter-group{min-width:100%}.user-stats-summary{flex-direction:column}.stat-card{min-width:100%}.detail-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}.impersonation-banner,.active-filters{flex-direction:column;gap:10px;text-align:center}.metrics-header{flex-direction:column;gap:4px}.sortable-table th{font-size:.75rem}.dashboard-stats{grid-template-columns:1fr 1fr}.quick-actions-grid{grid-template-columns:1fr}.dashboard-stat-card{padding:16px}.stat-icon{width:40px;height:40px;font-size:1.2rem}.dashboard-stat-card .stat-value{font-size:1.5rem}}.page-header-section{margin-bottom:24px}.page-header-section h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.page-subtitle{color:var(--text-secondary);font-size:1rem}.sites-grid{display:flex;flex-direction:column;gap:32px}.org-sites-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.org-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--grainflow-green)}.sites-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.site-card{background:var(--background);border:1px solid var(--border);border-radius:10px;padding:20px;cursor:pointer;transition:all .2s ease}.site-card:hover{border-color:var(--grainflow-green);box-shadow:0 4px 12px #6c93;transform:translateY(-2px)}.site-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.site-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.site-status{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:capitalize}.site-status.active{background:#66cc9926;color:#2d8a5e}.site-status.inactive{background:#6b728026;color:#6b7280}.site-status.suspended{background:#cc000026;color:var(--alert-red)}.site-card-body{margin-bottom:16px}.site-address,.site-location{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.4}.site-card-footer{border-top:1px solid var(--border);padding-top:12px}.site-action{font-size:.9rem;font-weight:600;color:var(--grainflow-green)}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.empty-state p{font-size:1.1rem;color:var(--text-primary);margin-bottom:8px}.empty-state-hint{font-size:.9rem;color:var(--text-secondary)}@media(max-width:768px){.sites-list{grid-template-columns:1fr}.org-sites-section{padding:16px}}.access-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border)}.tab-btn{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.tab-btn:hover{color:var(--text-primary);background:#66cc990d}.tab-btn.active{color:var(--grainflow-green);border-bottom-color:var(--grainflow-green);font-weight:600}.table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th{background:var(--background);padding:12px 16px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tbody tr:hover{background:#66cc990d}.admin-table .empty-row{text-align:center;color:var(--text-secondary);padding:40px;font-style:italic}.user-id{font-size:.75rem;color:var(--text-secondary);font-family:monospace}.role-tags{display:flex;flex-wrap:wrap;gap:4px}.role-tag{display:inline-block;padding:3px 8px;background:#66cc9926;color:#2d8a5e;border-radius:4px;font-size:.8rem;font-weight:500}.action-btn.small{padding:4px 10px;font-size:.8rem}.action-btn.danger.small{background:transparent;color:var(--alert-red);border:1px solid var(--alert-red)}.action-btn.danger.small:hover{background:var(--alert-red);color:#fff}@media(max-width:768px){.access-tabs{flex-direction:column;border-bottom:none}.tab-btn{border-bottom:1px solid var(--border);margin-bottom:0}.tab-btn.active{background:#66cc991a;border-bottom-color:var(--border)}.admin-table{font-size:.85rem}.admin-table th,.admin-table td{padding:8px 12px}}.operator-partners{background:#fff;border-radius:12px;padding:20px}.operator-partners.loading{text-align:center;padding:40px;color:var(--text-secondary)}.partners-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border)}.partner-tab{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.partner-tab:hover{color:var(--text-primary);background:#66cc990d}.partner-tab.active{color:var(--grainflow-green);border-bottom-color:var(--grainflow-green);font-weight:600}.partners-panel{padding:0}.partners-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.partners-panel .panel-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.partners-list{display:flex;flex-direction:column;gap:12px}.partner-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--background);border-radius:10px;border:1px solid var(--border);transition:all .2s ease}.partner-card:hover{border-color:var(--grainflow-green);box-shadow:0 2px 8px #66cc9926}.partner-info{display:flex;align-items:center;gap:14px}.partner-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem}.partner-icon.farmer{background:linear-gradient(135deg,#fef3c7,#fde68a)}.partner-icon.tpl{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.partner-details h4{margin:0;font-size:1rem;color:var(--text-primary);font-weight:600}.partner-type{font-size:.85rem;color:var(--text-secondary)}.partner-status{display:flex;align-items:center}.status-badge{padding:5px 12px;border-radius:16px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-badge.active{background:#66cc9926;color:#2d8a5e}.status-badge.pending{background:#fbbf2426;color:#b45309}.status-badge.declined{background:#ef444426;color:#dc2626}.status-badge.revoked{background:#6b728026;color:#6b7280}.empty-partners{text-align:center;padding:40px 20px;background:var(--background);border-radius:10px;border:2px dashed var(--border)}.empty-partners .empty-icon{font-size:3rem;margin-bottom:12px}.empty-partners p{margin:0 0 6px;font-size:1rem;font-weight:600;color:var(--text-primary)}.empty-partners span{font-size:.9rem;color:var(--text-secondary)}.pending-invites-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.pending-invites-section h4{margin:0 0 12px;font-size:.95rem;color:var(--text-secondary);font-weight:600}.pending-list{display:flex;flex-direction:column;gap:10px}.pending-invite{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#fffbeb;border-radius:8px;border:1px solid #fde68a}.invite-info{display:flex;flex-direction:column;gap:2px}.invite-email{font-size:.9rem;font-weight:500;color:var(--text-primary)}.invite-date{font-size:.8rem;color:var(--text-secondary)}.invite-info-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:14px;margin-top:8px}.invite-info-box p{margin:0;font-size:.9rem;color:#166534;line-height:1.5}@media(max-width:768px){.partners-tabs{flex-direction:column;border-bottom:none}.partner-tab{border-bottom:1px solid var(--border);margin-bottom:0;text-align:left}.partner-tab.active{background:#66cc991a;border-bottom-color:var(--border)}.partner-card{flex-direction:column;align-items:flex-start;gap:12px}.partner-status{align-self:flex-start}.partners-panel .panel-header{flex-direction:column;align-items:flex-start;gap:12px}}.operator-farmers-page,.operator-3pls-page{min-height:100vh;background:var(--background)}.page-container{max-width:1200px;margin:0 auto;padding:24px}.page-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.page-title-section h1{margin:0 0 4px;font-size:1.8rem;color:var(--text-primary)}.page-subtitle{font-size:.95rem;color:var(--text-secondary)}.site-selector-inline{margin-top:8px}.site-selector-inline .site-select{padding:8px 12px;border:2px solid var(--border);border-radius:8px;font-size:.9rem;min-width:200px;background:#fff}.partner-stats-row{display:flex;gap:16px;margin-bottom:24px}.partner-stats-row .stat-card{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #00000014;flex:1;max-width:200px}.partner-stats-row .stat-value{font-size:2rem;font-weight:700;color:var(--grainflow-green);margin-bottom:4px}.partner-stats-row .stat-label{font-size:.9rem;color:var(--text-secondary)}.partners-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.partners-section h2{margin:0 0 20px;font-size:1.2rem;color:var(--text-primary)}.partners-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.partner-card-large{background:var(--background);border-radius:12px;border:1px solid var(--border);overflow:hidden;transition:all .2s ease}.partner-card-large:hover{border-color:var(--grainflow-green);box-shadow:0 4px 12px #66cc9926}.partner-card-header{display:flex;align-items:center;gap:14px;padding:16px;background:#fff}.partner-avatar{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.partner-avatar.farmer{background:linear-gradient(135deg,#fef3c7,#fde68a)}.partner-avatar.tpl{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.partner-card-info{flex:1}.partner-card-info h3{margin:0;font-size:1rem;color:var(--text-primary)}.partner-type-label{font-size:.8rem;color:var(--text-secondary)}.partner-card-body{display:flex;padding:12px 16px;gap:24px;border-top:1px solid var(--border)}.partner-stat{display:flex;flex-direction:column;gap:2px}.partner-stat .stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.partner-stat .stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.empty-partners-page{text-align:center;padding:60px 20px}.empty-partners-page .empty-icon{font-size:4rem;margin-bottom:16px}.empty-partners-page h3{margin:0 0 8px;font-size:1.3rem;color:var(--text-primary)}.empty-partners-page p{margin:0 0 24px;font-size:1rem;color:var(--text-secondary)}.pending-invites-list{display:flex;flex-direction:column;gap:12px}.pending-invite-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fffbeb;border-radius:10px;border:1px solid #fde68a}.invite-details{display:flex;flex-direction:column;gap:4px}.invite-email{font-size:.95rem;font-weight:600;color:var(--text-primary)}.invite-business{font-size:.9rem;color:var(--text-secondary)}.invite-date{font-size:.8rem;color:#92400e}.invite-code-section{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;background:#fff;border-radius:8px;border:1px dashed #d97706}.invite-code-label{font-size:.7rem;color:#92400e;text-transform:uppercase;letter-spacing:.5px}.invite-code{font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;color:#b45309;letter-spacing:2px;background:none;padding:0}.invites-table-wrapper{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}.invites-table{width:100%;border-collapse:collapse;font-size:.9rem}.invites-table th,.invites-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.invites-table th{background:#f9fafb;font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.invites-table tbody tr:hover{background:#fefce8}.invites-table .email-cell{font-weight:500;color:var(--text-primary)}.invites-table .date-cell{color:var(--text-secondary);font-size:.85rem}.invites-table .date-cell .expired{color:#dc2626;font-weight:500}.invite-code-inline{font-family:Courier New,monospace;font-size:.9rem;font-weight:600;color:#b45309;background:#fef3c7;padding:4px 8px;border-radius:4px;letter-spacing:1px}.invites-table .actions-cell{display:flex;gap:8px}.btn-action{padding:6px 12px;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-action.resend{background:#dbeafe;color:#1d4ed8}.btn-action.resend:hover{background:#bfdbfe}.btn-action.revoke{background:#fee2e2;color:#dc2626}.btn-action.revoke:hover{background:#fecaca}.empty-state-small{padding:30px;text-align:center;color:var(--text-secondary);background:#f9fafb;border-radius:10px}.empty-state-small p{margin:0;font-size:.95rem}@media(max-width:768px){.page-header-row,.partner-stats-row{flex-direction:column}.partner-stats-row .stat-card{max-width:none}.partners-grid{grid-template-columns:1fr}.partner-card-body{flex-direction:column;gap:12px}.pending-invite-card{flex-direction:column;align-items:flex-start;gap:12px}}.pending-invites-section{margin-bottom:24px;padding:20px;background:#fffbeb;border-radius:12px;border:1px solid #fde68a}.pending-invites-section h2{margin:0 0 8px;color:#92400e;font-size:1.2rem}.pending-invites-section .section-description{margin:0 0 16px;color:#a16207;font-size:.9rem}.pending-invite-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-radius:10px;border:1px solid #fde68a;margin-bottom:12px}.pending-invite-card:last-child{margin-bottom:0}.pending-invite-card .invite-info h3{margin:0 0 4px;font-size:1.1rem;color:var(--text-primary)}.pending-invite-card .invite-org{margin:0 0 4px;font-size:.9rem;color:var(--text-secondary)}.pending-invite-card .invite-role{margin:0 0 4px;font-size:.85rem;color:#92400e}.pending-invite-card .invite-date{margin:0;font-size:.8rem;color:var(--text-secondary)}.pending-invite-card .invite-actions{display:flex;gap:8px;margin:0;padding:0;border:none}@media(max-width:600px){.pending-invite-card{flex-direction:column;align-items:stretch}.pending-invite-card .invite-actions{margin-top:12px;justify-content:flex-end}}.operator-info-section{display:flex;flex-direction:column;gap:16px}.operator-info-section .role-display-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.operator-info-section .org-name-display{font-size:.95rem;color:var(--text-secondary)}.sites-tags-container{display:flex;flex-wrap:wrap;gap:8px}.site-tag{display:inline-flex;align-items:center;padding:6px 12px;background:#e0f2fe;color:#0369a1;border-radius:16px;font-size:.9rem;font-weight:500}.site-tag.clickable{cursor:pointer;transition:all .2s ease}.site-tag.clickable:hover{background:#0ea5e9;color:#fff}.no-sites-text{color:var(--text-secondary);font-style:italic}
