body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.logo{align-items:center;color:inherit;display:flex;font-weight:700;gap:8px;text-decoration:none;transition:all .3s ease}.logo-button{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0}.logo-button:hover{transform:scale(1.05)}.logo-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.logo-img{border-radius:8px;display:block;height:100%;object-fit:contain;width:100%}.logo-text{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:800;letter-spacing:-.01em;text-shadow:0 1px 2px #0000001a;white-space:nowrap}.logo-small .logo-img{height:20px;width:20px}.logo-small .logo-text{font-size:14px}.logo-medium .logo-img{height:32px;width:32px}.logo-medium .logo-text{font-size:18px}.logo-large .logo-img{height:40px;width:40px}.logo-large .logo-text{font-size:22px}.logo-xlarge .logo-img{height:52px;width:52px}.logo-xlarge .logo-text{font-size:26px}.logo-default .logo-text{color:#1f2937;font-weight:800}.logo-white .logo-text{color:#fff;font-weight:800;text-shadow:0 2px 4px #0000004d}.logo-dark .logo-text{color:#111827;font-weight:800}@media (max-width:768px){.logo-large .logo-img{height:40px;width:40px}.logo-large .logo-text{font-size:20px}.logo-xlarge .logo-img{height:48px;width:48px}.logo-xlarge .logo-text{font-size:24px}}.logo:hover .logo-img{transform:scale(1.05)}.logo:hover .logo-text{color:#6366f1}@keyframes logoPulse{0%,to{opacity:1}50%{opacity:.7}}.logo.loading{animation:logoPulse 1.5s ease-in-out infinite}.navbar .logo{gap:6px}.footer .logo{gap:10px}.hero .logo{gap:12px}.logo-button:focus,.logo:focus{border-radius:4px;outline:2px solid #6366f1;outline-offset:2px}:root{--primary-dark:#2980b9;--background-start:#1c2a49;--background-end:#334d7d;--container-bg:#fff;--shadow-color:#0006}.login-page{align-items:center;background:linear-gradient(135deg,#1c2a49,#334d7d);background:linear-gradient(135deg,var(--background-start) 0,var(--background-end) 100%);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{background:#fff;background:var(--container-bg);border:1px solid #e1e4e8;border-radius:12px;box-shadow:0 15px 40px -10px #0006;box-shadow:0 15px 40px -10px var(--shadow-color);max-width:450px;padding:3rem;transition:transform .3s ease,box-shadow .3s ease;width:100%}.login-container:hover{box-shadow:0 20px 50px -10px #0006;box-shadow:0 20px 50px -10px var(--shadow-color);transform:translateY(-5px)}.login-header{margin-bottom:2.5rem;text-align:center}.login-header p{color:#7f8c8d;font-size:1rem;font-weight:500;margin-top:15px}.login-form .form-group{margin-bottom:1.5rem}.login-form label{color:#2c3e50;color:var(--text-color);display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.login-form input{background-color:#f7f7f7;border:1px solid #dcdde1;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:1rem .75rem;transition:border-color .3s,box-shadow .3s;width:100%}.login-form input:focus{background-color:#fff;background-color:var(--container-bg);border-color:#3498db;border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db33;outline:none}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.95rem;margin-bottom:2rem;padding:1rem}.login-btn{background:linear-gradient(45deg,#3498db,#3498db);background:linear-gradient(45deg,var(--primary-color) 0,#3498db 100%);border:none;border-radius:8px;box-shadow:0 5px 15px #3498db66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem;transition:all .3s ease;width:100%}.login-btn:hover:not(:disabled){background-color:#2980b9;background-color:var(--primary-dark);box-shadow:0 8px 20px #3498db99;transform:translateY(-2px)}.login-btn:disabled{background:#95a5a6;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.login-page{padding:10px}.login-container{box-shadow:0 10px 30px #0000004d;max-width:95%;padding:2rem}.login-container:hover{transform:none}.login-header{margin-bottom:2rem}.login-header p{font-size:.9rem}.login-form input{padding:.8rem .6rem}.login-btn{box-shadow:0 3px 10px #3498db4d;font-size:1rem;padding:.9rem}.login-btn:hover:not(:disabled){transform:none}}@media (max-width:480px){.login-container{border-radius:8px;padding:1.5rem}.login-form .form-group{margin-bottom:1rem}.login-form input{padding:.75rem}}.order-monitoring{background:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.monitoring-header{margin-bottom:30px;text-align:center}.monitoring-header h2{color:#2c3e50;font-size:2rem;margin-bottom:10px}.monitoring-header p{color:#6c757d;font-size:1.1rem}.loading-state{padding:60px 20px;text-align:center}.loading-spinner{border:4px solid #e9ecef;margin:0 auto 20px}.stats-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{border-left:4px solid #007bff;border-radius:15px;box-shadow:0 4px 15px #0000001a;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-2px)}.stat-card.pending{border-left-color:#ffc107}.stat-card.in-progress{border-left-color:#17a2b8}.stat-card.attention{border-left-color:#dc3545}.stat-card.completed{border-left-color:#28a745}.stat-card.cancelled{border-left-color:#6c757d}.stat-number{color:#2c3e50;font-size:2.5rem;margin-bottom:8px}.stat-label{color:#6c757d;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.monitoring-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:25px}.search-box{flex:1 1;min-width:300px}.search-input{border:2px solid #e9ecef;border-radius:25px;box-sizing:border-box;padding:12px 20px}.search-input:focus{box-shadow:0 0 0 3px #007bff1a}.filter-controls{min-width:200px}.filter-select{font-size:1rem;padding:12px 15px;width:100%}.orders-table{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow:hidden}.table-header{grid-gap:15px;border-bottom:2px solid #e9ecef;color:#2c3e50;display:grid;font-size:.9rem;font-weight:600;gap:15px;grid-template-columns:1.5fr 1.2fr 1.2fr 1.3fr 1fr 1fr 1fr;letter-spacing:.5px;padding:20px;text-transform:uppercase}.table-body{max-height:600px;overflow-y:auto}.table-row{grid-gap:15px;align-items:center;border-bottom:1px solid #e9ecef;display:grid;gap:15px;grid-template-columns:1.5fr 1.2fr 1.2fr 1.3fr 1fr 1fr 1fr;padding:20px;transition:background-color .3s ease}.table-row:hover{background:#f8f9fa}.table-row:last-child{border-bottom:none}.amount-info,.customer-info,.order-info,.shopper-info,.time-info{display:flex;flex-direction:column;gap:4px}.order-number{color:#2c3e50;font-size:.95rem;font-weight:600}.order-items{color:#6c757d;font-size:.85rem}.customer-name,.shopper-name{color:#2c3e50;font-size:.9rem;font-weight:600}.customer-phone,.shopper-phone{color:#6c757d;font-size:.8rem}.status-badge{text-align:center}.original-amount{color:#2c3e50;font-size:.95rem;font-weight:600}.revised-amount{color:#28a745;font-size:.85rem;font-weight:600}.created-time{color:#2c3e50;font-size:.9rem;font-weight:600}.created-time-detail{color:#6c757d;font-size:.8rem}.action-btn{border:none;border-radius:6px;cursor:pointer;display:inline-block;font-size:.85rem;font-weight:600;padding:8px 16px;text-align:center;text-decoration:none;transition:all .3s ease}.action-btn.view{background:#007bff;color:#fff}.action-btn.view:hover{background:#0056b3;transform:translateY(-1px)}.no-orders{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-top:20px;padding:60px 20px;text-align:center}.no-orders-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.no-orders h3{color:#2c3e50;margin-bottom:10px}.no-orders p{color:#6c757d;font-size:1.1rem}@media (max-width:1200px){.table-header,.table-row{gap:10px;grid-template-columns:1.5fr 1fr 1fr 1.2fr .8fr .8fr .8fr;padding:15px}}@media (max-width:992px){.stats-overview{grid-template-columns:repeat(3,1fr)}.monitoring-controls{align-items:stretch;flex-direction:column}.search-box{min-width:0;min-width:auto}.table-header,.table-row{gap:5px;grid-template-columns:1fr}.table-header{display:none}.table-row{border:1px solid #e9ecef;border-radius:10px;display:block;margin-bottom:15px;padding:20px}.col-actions,.col-amount,.col-customer,.col-order,.col-shopper,.col-status,.col-time{margin-bottom:10px}.col-order:before{content:"Order: ";font-weight:600}.col-customer:before{content:"Customer: ";font-weight:600}.col-shopper:before{content:"Shopper: ";font-weight:600}.col-status:before{content:"Status: ";font-weight:600}.col-amount:before{content:"Amount: ";font-weight:600}.col-time:before{content:"Time: ";font-weight:600}.col-actions:before{content:"Actions: ";font-weight:600}}@media (max-width:768px){.order-monitoring{padding:15px}.stats-overview{gap:15px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:20px}.stat-number{font-size:2rem}}@media (max-width:576px){.stats-overview{grid-template-columns:1fr}.monitoring-header h2{font-size:1.5rem}.filter-select,.search-input{padding:10px 15px}}:root{--primary-color:#3498db;--secondary-color:#2980b9;--background-color:#f8f9fa;--text-color:#2c3e50;--border-color:#e9ecef;--success-color:#28a745;--danger-color:#dc3545}.dashboard{background-color:#f8f9fa;background-color:var(--background-color);min-height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a;padding:20px}.header-content{justify-content:space-between}.header-content,.header-left{align-items:center;display:flex}.header-left{gap:20px}.header-left h1{color:#2c3e50;color:var(--text-color);font-size:1.8rem;margin:0}.header-left p{color:#6c757d;margin:0}.logout-btn{background-color:#dc3545;background-color:var(--danger-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.logout-btn:hover{background-color:#c82333}.dashboard-nav{background:#fff;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);display:flex;gap:0;padding:0 20px}.nav-link{border-bottom:3px solid #0000;color:#6c757d;font-weight:500;padding:15px 20px;text-decoration:none;transition:all .3s ease}.nav-link.active,.nav-link:hover{border-bottom-color:#3498db;border-bottom-color:var(--primary-color);color:#3498db;color:var(--primary-color)}.dashboard-content{padding:30px 20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.stat-card{background:#fff;border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 8px #0000001a;gap:20px;padding:25px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{background-color:#f8f9fa;background-color:var(--background-color);border-radius:50%;font-size:2.5rem;height:60px;justify-content:center;width:60px}.stat-info h3{color:#2c3e50;color:var(--text-color);font-size:1rem;margin:0 0 10px}.stat-number{color:#3498db;color:var(--primary-color);font-size:2rem;font-weight:700;margin:0}.analytics-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:2fr 1fr;margin:30px 0}.order-status-distribution h2,.recent-orders h2{color:#2c3e50;color:var(--text-color);font-size:1.5rem;margin-bottom:20px}.orders-list{background-color:#fff;border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:20px}.order-item{align-items:center;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:15px 0}.order-item:last-child{border-bottom:none}.order-details{flex:2 1}.order-id{font-weight:700;margin:0}.order-customer,.order-shop{color:#6c757d;font-size:.9rem;margin:5px 0}.order-status{flex:1 1;text-align:center}.status-confirmed,.status-pending,.status-preparing{font-weight:700}.status-ready_for_pickup{color:#2ecc71;font-weight:700}.status-out_for_delivery{color:#34495e;font-weight:700}.status-cancelled,.status-delivered{font-weight:700}.order-totals{display:flex;flex:1 1;flex-direction:column;gap:5px;text-align:right}.original-total{color:#27ae60;font-size:1rem;font-weight:700}.revised-total{background-color:#fef9e7;border:1px solid #f39c12;border-radius:12px;color:#f39c12;font-size:.9rem;font-weight:600;padding:2px 8px}.analytics-right-panel{background-color:#fff;border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:25px;padding:20px}.order-analytics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.order-analytics-header h2{color:#2c3e50;color:var(--text-color);font-size:1.3rem;margin:0}.date-picker{border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:4px;color:#2c3e50;color:var(--text-color);font-size:.9rem;padding:5px 10px}.order-stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.order-stat{background-color:#f8f9fa;background-color:var(--background-color);border-radius:8px;padding:10px;text-align:center}.order-stat-label{color:#6c757d;display:block;font-size:.9rem;margin-bottom:5px}.order-stat-value{color:#3498db;color:var(--primary-color);display:block;font-size:1.5rem;font-weight:700}.status-chart{display:flex;flex-direction:column;gap:15px}.status-bar{align-items:center;display:flex;gap:10px}.status-label{flex:1 1;font-weight:700}.status-value{text-align:center;width:30px}.status-progress{background-color:#ecf0f1;border-radius:10px;flex:3 1;height:20px;overflow:hidden}.status-progress-fill{background-color:#3498db;border-radius:10px;height:100%}.additional-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:30px 0}.shopper-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.shopper-header h2{color:#2c3e50;color:var(--text-color);font-size:1.5rem;margin:0}.shopper-controls{align-items:center;display:flex;gap:10px}.period-buttons{display:flex;gap:5px}.shopper-date-picker{padding:5px 8px}.period-btn,.shopper-date-picker{border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:4px;color:#2c3e50;color:var(--text-color);font-size:.85rem}.period-btn{background:#fff;cursor:pointer;padding:5px 12px;transition:all .2s ease}.period-btn:hover{background-color:#f8f9fa;background-color:var(--background-color)}.period-btn.active{background-color:#3498db;background-color:var(--primary-color);border-color:#3498db;border-color:var(--primary-color);color:#fff}.shopper-list{display:flex;flex-direction:column;gap:15px}.shopper-item{align-items:center;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:15px 0}.shopper-item:last-child{border-bottom:none}.shopper-details{flex:1 1}.shopper-name{color:var(--text-color);font-weight:700;margin:0}.shopper-orders{color:#6c757d;font-size:.9rem;margin:5px 0 0}.shopper-earnings{color:#28a745;color:var(--success-color);font-size:1.1rem;font-weight:700}.quick-actions{margin-top:40px}.quick-actions h2{color:#2c3e50;color:var(--text-color);margin-bottom:20px}.actions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.action-card{background:#fff;border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 8px #0000001a;color:inherit;padding:30px;text-align:center;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.action-card:hover{box-shadow:0 4px 15px #00000026;transform:translateY(-5px)}.action-icon{font-size:3rem;margin-bottom:15px}.action-card h3{color:#2c3e50;color:var(--text-color);font-size:1.3rem;margin:0 0 10px}.action-card p{color:#6c757d;margin:0}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:15px}.dashboard-nav{overflow-x:auto}.actions-grid,.analytics-section,.stats-grid{grid-template-columns:1fr}}.shops-page{margin:0 auto;max-width:1200px;padding:20px}.shops-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.shops-header h1{color:#2c3e50;font-size:2rem;margin:0}.create-shop-btn{background-color:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .3s}.create-shop-btn:hover{background-color:#2980b9}.create-shop-form{background-color:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.create-shop-form h2{color:#2c3e50;margin-top:0}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px}.cancel-btn{border-radius:5px}.shops-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.shop-card{align-items:flex-start;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:20px}.shop-info h3{color:#2c3e50;margin:0 0 10px}.shop-info p{color:#666;margin:5px 0}.shop-address{color:#888!important;font-style:italic}.shop-actions{gap:10px}.edit-btn{border-radius:4px;padding:8px 12px}@media (max-width:768px){.shops-list{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}.shops-header{align-items:flex-start;flex-direction:column;gap:15px}}.shop-card{position:relative;transition:all .3s ease}.shop-card.shop-visible{background:linear-gradient(135deg,#fff,#f8fff8);border:2px solid #28a745;opacity:1}.shop-card.shop-hidden{background:linear-gradient(135deg,#fff,#fff8f8);border:2px solid #dc3545;filter:grayscale(30%);opacity:.6}.shop-visibility-indicator{position:absolute;right:10px;top:10px;z-index:10}.visibility-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px}.visibility-badge.visible{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #28a745;color:#155724}.visibility-badge.hidden{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #dc3545;color:#721c24}.visibility-toggle-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-right:8px;padding:8px 16px;transition:all .3s ease}.visibility-toggle-btn.visible{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 8px #28a7454d;color:#fff}.visibility-toggle-btn.visible:hover{background:linear-gradient(135deg,#218838,#1e7e34);box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.visibility-toggle-btn.hidden{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 2px 8px #dc35454d;color:#fff}.visibility-toggle-btn.hidden:hover{background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 4px 12px #dc354566;transform:translateY(-2px)}.shop-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}@media (max-width:768px){.shop-visibility-indicator{margin-bottom:10px;position:static;text-align:center}.visibility-toggle-btn{font-size:12px;padding:6px 12px}.shop-actions{flex-direction:column;gap:6px}.shop-actions button{width:100%}}@keyframes visibilityChange{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.shop-card.visibility-changed{animation:visibilityChange .5s ease}.form-help{color:#666;display:block;font-size:12px;font-style:italic;line-height:1.3;margin-top:4px}.form-group input[name=inquiryAvailableTime]{background:#f8f9fa;border:2px solid #e9ecef;transition:all .3s ease}.form-group input[name=inquiryAvailableTime]:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group label[for=inquiryAvailableTimeEdit],.form-group label[for=inquiryAvailableTime]{color:#333;font-weight:600;margin-bottom:8px}.shop-inquiry-time{align-items:center;color:#667eea;display:flex;font-size:14px;font-weight:500;gap:4px;margin:4px 0}.shop-inquiry-time:before{content:"📞";margin-right:4px}.bulk-upload-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;left:0;position:absolute;right:0;top:0}.modal-content{animation:modalSlideIn .3s ease-out;box-shadow:0 20px 60px #0000004d;max-width:1200px;overflow:hidden;position:relative;width:90vw}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 30px}.modal-header h2{font-size:24px;font-weight:600}.close-btn{background:#fff3;color:#fff;font-size:20px}.close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.modal-body{max-height:calc(90vh - 80px);overflow-y:auto;padding:30px}.upload-step h3{color:#333;font-size:20px;margin-bottom:20px}.upload-instructions{background:#f8f9fa;border-left:4px solid #007bff;border-radius:0 8px 8px 0;margin-bottom:30px;padding:20px}.upload-instructions p{color:#333;font-weight:600;margin:0 0 15px}.upload-instructions ul{margin:0;padding-left:20px}.upload-instructions li{color:#555;margin-bottom:8px}.upload-instructions em{color:#28a745;font-weight:600}.file-upload-area{background:#fafafa;border:3px dashed #ddd;border-radius:12px;padding:40px;text-align:center;transition:all .3s ease}.file-upload-area:hover{background:#f0f8ff;border-color:#007bff}.file-input{display:none}.file-upload-label{background:linear-gradient(135deg,#007bff,#0056b3);border-radius:8px;box-shadow:0 4px 15px #007bff4d;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:15px 30px;transition:all .3s ease}.file-upload-label:hover{box-shadow:0 6px 20px #007bff66;transform:translateY(-2px)}.file-info{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;font-weight:600;margin-top:20px;padding:15px}.preview-step h3{color:#333;font-size:20px;margin-bottom:25px}.shop-selection{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:25px;padding:20px}.shop-selection label{color:#333;display:block;font-weight:600;margin-bottom:10px}.shop-selection select{background:#fff;border:2px solid #ddd;border-radius:8px;font-size:16px;padding:12px 15px;transition:border-color .3s ease;width:100%}.shop-selection select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.preview-stats{display:flex;gap:20px;margin-bottom:25px}.stat{border-radius:8px;flex:1 1;font-size:16px;font-weight:600;padding:15px 25px;text-align:center}.stat.valid{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.stat.invalid{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.stat.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.stat.failure{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.stat.total{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.preview-table-container{border:1px solid #ddd;border-radius:8px;margin-bottom:25px;max-height:400px;overflow:auto}.preview-table{border-collapse:collapse;font-size:14px;width:100%}.preview-table th{background:#f8f9fa;border-bottom:2px solid #ddd;color:#333;font-weight:600;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.preview-table td{border-bottom:1px solid #eee;padding:10px 8px;vertical-align:top}.preview-table tr.valid{background:#f8fff8}.preview-table tr.invalid{background:#fff8f8}.preview-table tr:hover{background:#f0f8ff}.unit-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.confidence-5{background:#28a745;color:#fff}.confidence-4{background:#17a2b8;color:#fff}.confidence-3{background:#ffc107;color:#333}.confidence-2{background:#fd7e14;color:#fff}.confidence-0,.confidence-1{background:#dc3545;color:#fff}.errors{max-width:200px}.error{background:#f8d7da;border-radius:4px;color:#721c24;font-size:11px;margin-bottom:2px;padding:2px 6px}.table-note{background:#f8f9fa;color:#666;font-style:italic;padding:15px;text-align:center}.preview-actions{display:flex;gap:15px;justify-content:space-between}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;min-width:150px;padding:12px 25px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 15px #28a7454d}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.btn-primary:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}.processing-step{text-align:center}.processing-step h3{color:#333;font-size:20px;margin-bottom:30px}.progress-container{margin-bottom:30px}.progress-bar{background:#e9ecef;border-radius:10px;height:20px;margin-bottom:10px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#28a745,#20c997);border-radius:10px;height:100%;transition:width .3s ease}.progress-text{color:#333;font-size:18px;font-weight:600}.results-container{margin:0 auto;max-width:600px;text-align:left}.results-container h4{color:#333;margin-bottom:20px;text-align:center}.results-stats{display:flex;gap:15px;margin-bottom:25px}.failures-list{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;margin-bottom:25px;padding:20px}.failures-list h5{color:#333;margin-bottom:15px}.failure-item{background:#f8d7da;border-radius:4px;color:#721c24;font-size:14px;margin-bottom:5px;padding:8px 12px}.more-failures{color:#666;font-style:italic;margin-top:10px}.more-failures,.results-actions{text-align:center}@media (max-width:768px){.modal-content{margin:20px;width:95vw}.modal-body{padding:20px}.preview-stats{flex-direction:column;gap:10px}.preview-table{font-size:12px}.preview-table td,.preview-table th{padding:8px 4px}.preview-actions,.results-stats{flex-direction:column}.results-stats{gap:10px}}.loading-spinner{border:3px solid #f3f3f3;display:inline-block;height:20px;margin-right:10px;width:20px}.shop-selection-first{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #007bff;border-radius:12px;margin-bottom:30px;padding:25px;text-align:center}.shop-selection-first h4{color:#333;font-size:18px;margin-bottom:10px}.shop-selection-first p{color:#666;font-size:14px;margin-bottom:20px}.shop-select-large{background:#fff;border:2px solid #007bff;border-radius:8px;color:#333;cursor:pointer;font-size:16px;font-weight:600;max-width:400px;padding:15px 20px;transition:all .3s ease;width:100%}.shop-select-large:focus{border-color:#0056b3;box-shadow:0 0 0 3px #007bff33;outline:none;transform:scale(1.02)}.shop-select-large option{font-weight:500;padding:10px}.selected-shop-info{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #28a745;border-radius:8px;margin-bottom:25px;padding:20px;text-align:center}.selected-shop-info h4{color:#155724;font-size:18px;margin-bottom:8px}.selected-shop-info .shop-name{background:#ffffffb3;border-radius:20px;color:#0d4f1c;display:inline-block;font-weight:700;padding:4px 12px}.selected-shop-info p{color:#155724;font-size:14px;margin:0;opacity:.9}.upload-instructions{animation:fadeInUp .5s ease-out;margin-top:25px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.file-upload-area{animation:fadeInUp .6s ease-out;margin-top:25px}@media (max-width:768px){.shop-selection-first{padding:20px 15px}.shop-select-large{font-size:14px;max-width:100%;padding:12px 15px}.selected-shop-info{padding:15px}.selected-shop-info h4{font-size:16px}}.stock-toggle{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.stock-toggle input[type=checkbox]{display:none}.toggle-slider{background:#ccc;border-radius:12px;flex-shrink:0;height:24px;position:relative;transition:all .3s ease;width:50px}.toggle-slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:all .3s ease;width:20px}.stock-toggle input:checked+.toggle-slider{background:#28a745}.stock-toggle input:checked+.toggle-slider:before{transform:translateX(26px)}.toggle-label{font-size:12px;font-weight:600;min-width:70px}.stock-toggle input:checked+.toggle-slider+.toggle-label{color:#28a745}.stock-toggle input:not(:checked)+.toggle-slider+.toggle-label{color:#dc3545}.valid-indicator{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#28a745;font-size:11px;font-weight:600;padding:2px 6px}.preview-table td:first-child{min-width:140px;padding:12px 8px}.stock-toggle:hover .toggle-slider{box-shadow:0 0 0 3px #28a74533}.stock-toggle input:not(:checked):hover+.toggle-slider{box-shadow:0 0 0 3px #dc354533}@media (max-width:768px){.stock-toggle{align-items:flex-start;flex-direction:column;gap:4px}.toggle-slider{height:20px;width:40px}.toggle-slider:before{height:16px;left:2px;top:2px;width:16px}.stock-toggle input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-label{font-size:11px;min-width:auto}.preview-table td:first-child{min-width:100px;padding:8px 4px}}.unit-select{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;min-width:80px;padding:6px 8px;transition:all .3s ease}.unit-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33;outline:none}.unit-select.confidence-5{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745;color:#155724}.unit-select.confidence-4{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border-color:#17a2b8;color:#0c5460}.unit-select.confidence-3{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-color:#ffc107;color:#856404}.unit-select.confidence-2{background:linear-gradient(135deg,#ffe8d1,#fdd5a8);border-color:#fd7e14;color:#8a4a00}.unit-select.confidence-0,.unit-select.confidence-1{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#dc3545;color:#721c24}.unit-select:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.05)}.unit-select option{background:#fff;color:#333;padding:8px}.preview-table td:nth-child(5),.preview-table th:nth-child(5){min-width:100px;text-align:center}@media (max-width:768px){.unit-select{font-size:11px;min-width:70px;padding:4px 6px}.preview-table td:nth-child(5),.preview-table th:nth-child(5){min-width:80px}}.bulk-unit-actions{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:15px;padding:15px}.bulk-unit-actions h5{color:#333;font-size:14px;margin:0 0 10px}.bulk-unit-buttons{display:flex;flex-wrap:wrap;gap:8px}.bulk-unit-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:11px;padding:6px 12px;transition:all .2s ease}.bulk-unit-btn:hover{background:#007bff;border-color:#007bff;color:#fff}.bulk-unit-btn.active{background:#28a745;border-color:#28a745;color:#fff}.products-page{margin:0 auto;max-width:1200px;padding:20px}.products-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.products-header h1{color:#2c3e50;font-size:2rem;margin:0}.products-filters{background-color:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:30px;padding:20px}.search-container{margin-bottom:15px}.search-input{background-color:#fff;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.filters-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.filter-select{background-color:#fff;border:2px solid #e1e8ed;border-radius:6px;color:#2c3e50;font-size:.95rem;min-width:150px;padding:10px 12px}.filter-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.results-count{border-top:1px solid #e1e8ed;color:#666;font-size:.9rem;font-weight:500;margin-top:10px;padding:15px 0 8px}.create-product-btn{background-color:#3498db;border-radius:5px;font-size:1rem;padding:10px 20px;transition:background-color .3s}.create-product-btn:hover{background-color:#2980b9}.create-product-form{background-color:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.create-product-form h2{color:#2c3e50;margin-top:0}.form-group label{color:#2c3e50}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:2px solid #e1e8ed;box-sizing:border-box;color:#2c3e50;padding:12px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1 1}.submit-btn{background-color:#27ae60;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 20px;transition:background-color .3s}.submit-btn:hover{background-color:#219653}.products-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.product-card{background-color:#fff;border:2px solid #e1e8ed;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.product-info h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 12px}.product-info p{color:#4a5568;font-size:.95rem;line-height:1.4;margin:8px 0}.product-pricing{display:flex;gap:10px;margin:10px 0}.current-price{color:#27ae60;font-size:1.2rem;font-weight:700}.original-price{color:#888;text-decoration:line-through}.discount{color:#e74c3c;font-weight:700}.product-shop,.product-unit{color:#666;font-size:.9rem}.product-actions{display:flex;gap:10px;margin-top:15px}.stock-status{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:600;margin:8px 0;padding:4px 12px}.stock-status.in-stock{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.stock-status.out-of-stock{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.edit-btn{background-color:#f39c12;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .3s}.edit-btn:hover{background-color:#e67e22}.delete-btn{border-radius:6px;font-weight:500;padding:8px 16px}.checkbox-group{align-items:center;display:flex;gap:8px;margin:10px 0}.checkbox-group input[type=checkbox]{accent-color:#3498db;height:18px;width:18px}.checkbox-group label{color:#2c3e50;cursor:pointer;font-weight:500}.form-actions{gap:15px;margin-top:20px}.cancel-btn{background-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 20px;transition:background-color .3s}.cancel-btn:hover{background-color:#5a6268}@media (max-width:768px){.products-list{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}.products-header{align-items:flex-start;flex-direction:column;gap:15px}.product-pricing{flex-direction:column;gap:5px}.filters-row{flex-direction:column;gap:10px}.filter-select{min-width:100%}}.create-product-container{display:inline-block;position:relative}.create-options-dropdown{animation:dropdownSlideIn .2s ease-out;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 8px 25px #00000026;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.option-btn{background:#fff;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;display:block;font-size:14px;font-weight:500;padding:15px 20px;text-align:left;transition:all .2s ease;width:100%}.option-btn:last-child{border-bottom:none}.option-btn:hover{background:#f8f9fa;transform:translateX(5px)}.option-btn.single-product:hover{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1976d2}.option-btn.bulk-upload:hover{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#388e3c}.create-product-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 25px;transition:all .3s ease}.create-product-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.create-options-dropdown{left:0;min-width:200px;right:auto}.option-btn{font-size:13px;padding:12px 15px}}.orders-page{margin:0 auto;max-width:1200px;padding:20px}.orders-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.orders-header h1{color:#2c3e50;font-size:2rem;margin:0}.orders-controls{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.controls-row{align-items:end;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px}.control-group{display:flex;flex-direction:column;min-width:150px}.control-group label{color:#495057;font-size:.9rem;font-weight:600;margin-bottom:5px}.search-input{border:1px solid #ddd;border-radius:6px;font-size:.9rem;min-width:250px;padding:8px 12px}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.sort-select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;padding:8px 12px}.sort-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.view-toggle{border:1px solid #ddd;border-radius:6px;display:flex;overflow:hidden}.view-btn{background:#fff;border:none;border-right:1px solid #ddd;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s ease}.view-btn:last-child{border-right:none}.view-btn:hover{background:#f8f9fa}.view-btn.active{background:#007bff;color:#fff}.results-summary{border-top:1px solid #e9ecef;color:#6c757d;font-size:.9rem;padding-top:10px}.filter-info,.search-info{color:#007bff;font-weight:500}.orders-list{display:flex;flex-direction:column;gap:20px}.order-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.order-card.compact-view{padding:15px}.compact-order-details{margin-top:15px}.compact-info-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.compact-info-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.compact-label{color:#495057;font-size:.85rem;font-weight:600}.compact-value{color:#2c3e50;font-size:.9rem;font-weight:500}.order-card.detailed-view{padding:20px}.order-header{border-bottom:2px solid #f8f9fa;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.order-header,.order-header h3{align-items:center;display:flex}.order-header h3{gap:10px}.order-time{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#6c757d;font-size:.85rem;font-weight:500;padding:4px 8px}.order-details{grid-gap:30px;display:grid;gap:30px;grid-template-columns:300px 1fr}.order-basic-info{background:#f8f9fa;border-radius:6px;display:flex;flex-direction:column;gap:20px;padding:15px}.info-section{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:15px}.info-section h5{border-bottom:2px solid #007bff;color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 10px;padding-bottom:5px}.info-section p{color:#495057;font-size:.9rem;line-height:1.4;margin:6px 0}.order-basic-info p{font-size:.9rem;margin:8px 0}.order-breakdown{display:flex;flex-direction:column;gap:20px}.original-order,.revised-order,.shopper-commission{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:15px}.original-order h4,.revised-order h4,.shopper-commission h4{border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:1rem;margin:0 0 15px;padding-bottom:8px}.revised-order{border-left:4px solid #f39c12}.shopper-commission{border-left:4px solid #27ae60}.items-list{margin-bottom:15px}.item-row{align-items:center;border-bottom:1px solid #f8f9fa;display:flex;justify-content:space-between;padding:8px 0}.item-row:last-child{border-bottom:none}.item-name{color:#2c3e50;flex:1 1;font-weight:500}.item-details{color:#666;font-size:.9rem;text-align:right}.unavailable{color:#e74c3c;font-size:.8rem;font-weight:400}.order-totals{border-top:1px solid #e9ecef;padding-top:10px}.total-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;padding:5px 0}.total-row.grand-total{border-top:1px solid #e9ecef;color:#2c3e50;font-size:1rem;font-weight:700;margin-top:5px;padding-top:10px}.order-info h3{color:#2c3e50;margin:0 0 10px}.order-info p{color:#666;margin:5px 0}.order-customer,.order-shop,.order-shopper{font-size:.9rem}.order-status{color:#3498db;font-weight:700}.order-total{color:#27ae60;font-size:1.1rem;font-weight:700}.order-date{color:#888;font-size:.8rem}.status-pending{background:#fef9e7;color:#f39c12}.status-confirmed,.status-pending{border-radius:12px;font-size:.85rem;padding:2px 8px}.status-confirmed{background:#ebf3fd;color:#3498db}.status-preparing{background:#f4ecf7;color:#9b59b6}.status-preparing,.status-ready_for_pickup{border-radius:12px;font-size:.85rem;padding:2px 8px}.status-ready_for_pickup{background:#fdf2e9;color:#e67e22}.status-out_for_delivery{background:#eaf2f8;color:#2980b9}.status-delivered,.status-out_for_delivery{border-radius:12px;font-size:.85rem;padding:2px 8px}.status-delivered{background:#eafaf1;color:#27ae60}.status-cancelled{background:#fdf2f2;border-radius:12px;color:#e74c3c;font-size:.85rem;padding:2px 8px}.order-actions{display:flex;flex-direction:column;gap:10px}.status-select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:8px}@media (max-width:768px){.order-details{gap:20px;grid-template-columns:1fr}.order-header,.orders-header{gap:15px}.item-row,.order-header,.orders-header{align-items:flex-start;flex-direction:column}.item-row{gap:5px}.item-details{text-align:left}}.users-page{margin:0 auto;max-width:1200px;padding:20px}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.users-header h1{color:#2c3e50;font-size:2rem;margin:0}.users-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.user-card{align-items:flex-start;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:20px}.user-info h3{color:#2c3e50;margin:0 0 10px}.user-info p{color:#666;margin:5px 0}.user-email{font-size:.9rem}.user-role{color:#3498db;font-weight:700}.user-date{color:#888;font-size:.8rem}.user-actions{display:flex;gap:10px}@media (max-width:768px){.users-list{grid-template-columns:1fr}.users-header{align-items:flex-start;flex-direction:column;gap:15px}}.shoppers-page{margin:0 auto;max-width:1200px;padding:20px}.shoppers-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.shoppers-header h1{color:#2c3e50;font-size:2rem;margin:0}.shoppers-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.shopper-card{align-items:flex-start;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:20px}.shopper-info h3{color:#2c3e50;margin:0 0 10px}.shopper-info p{color:#666;margin:5px 0}.shopper-email,.shopper-phone{font-size:.9rem}.shopper-status{font-weight:700}.status-online{color:#27ae60}.status-offline{color:#e74c3c}.shopper-date{color:#888;font-size:.8rem}.shopper-actions{display:flex;flex-direction:column;gap:10px}.status-btn{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:background-color .3s}.status-btn.online{background-color:#27ae60;color:#fff}.status-btn.offline{background-color:#e74c3c;color:#fff}.status-btn:hover{opacity:.9}.delete-btn{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:background-color .3s}.delete-btn:hover{background-color:#c0392b}.pagination{align-items:center;display:flex;gap:15px;justify-content:center;margin-top:30px}.pagination button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 15px;transition:background-color .3s}.pagination button:disabled{background-color:#bdc3c7;cursor:not-allowed}.pagination button:hover:not(:disabled){background-color:#2980b9}.error{background-color:#fdf2f2;border:1px solid #e74c3c;border-radius:8px;color:#e74c3c;padding:15px}.loading{padding:50px}@media (max-width:768px){.shoppers-list{grid-template-columns:1fr}.shoppers-header{align-items:flex-start;flex-direction:column;gap:15px}}.shopper-performance-page{background-color:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.page-header{margin-bottom:2rem;text-align:center}.page-header h1{font-size:2.5rem;margin-bottom:.5rem}.page-header p{color:#6c757d;font-size:1.1rem}.performance-controls{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem;padding:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#495057;font-size:.9rem;font-weight:600}.filter-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:border-color .3s ease}.filter-select:focus{border-color:#007bff;outline:none}.performance-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.summary-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;gap:1rem;padding:2rem;transition:transform .3s ease}.summary-card:hover{transform:translateY(-2px)}.summary-icon{align-items:center;background:#f8f9fa;border-radius:50%;display:flex;font-size:2.5rem;height:60px;justify-content:center;width:60px}.summary-content h3{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.summary-content p{color:#6c757d;font-size:.9rem;margin:0}.performance-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.table-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1.5rem 2rem}.table-header h2{color:#2c3e50;margin:0}.performance-table{overflow-x:auto}.performance-table table{border-collapse:collapse;width:100%}.performance-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#495057;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.performance-table td{border-bottom:1px solid #f1f3f4;padding:1rem;vertical-align:middle}.performance-table tr:hover{background-color:#f8f9fa}.shopper-info{gap:.75rem}.shopper-avatar,.shopper-info{align-items:center;display:flex}.shopper-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:1.1rem;font-weight:700;height:40px;justify-content:center;width:40px}.shopper-details{display:flex;flex-direction:column}.shopper-name{color:#2c3e50;font-weight:600}.shopper-phone{color:#6c757d;font-size:.85rem}.performance-score{align-items:center;display:flex;gap:.75rem}.score-badge{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:1.1rem;font-weight:700;height:40px;justify-content:center;width:40px}.score-details{display:flex;flex-direction:column}.score-number{color:#2c3e50;font-weight:600}.score-label{color:#6c757d;font-size:.8rem}.rating-display{display:flex;flex-direction:column;gap:.25rem}.rating-stars{color:#ffc107;font-size:1.1rem}.rating-number{color:#6c757d;font-size:.9rem}.orders-info{display:flex;flex-direction:column}.total-orders{color:#2c3e50;font-size:1.1rem;font-weight:600}.completed-orders{color:#28a745;font-size:.8rem}.metric-display{display:flex;flex-direction:column;gap:.5rem}.metric-bar{background:#e9ecef;border-radius:4px;height:8px;overflow:hidden;width:80px}.metric-fill{height:100%;transition:width .3s ease}.earnings-info{display:flex;flex-direction:column}.total-earnings{color:#28a745;font-size:1.1rem;font-weight:600}.avg-earnings{color:#6c757d;font-size:.8rem}.status-badge{border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.earnings-header{align-items:center;display:flex;justify-content:center}.earnings-filter-select{background:#fff;border:1px solid #e9ecef;border-radius:4px;color:#495057;cursor:pointer;font-size:.8rem;font-weight:600;min-width:140px;padding:.25rem .5rem}.earnings-filter-select:focus{border-color:#007bff;outline:none}.action-buttons{display:flex;gap:.5rem}.btn{display:inline-block;font-size:.9rem;padding:.5rem 1rem;text-align:center}.btn-sm{font-size:.8rem;padding:.375rem .75rem}.modal-overlay{padding:2rem}.shopper-detail-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.modal-header{padding:2rem}.modal-header h2{color:#2c3e50}.close-btn{align-items:center;border-radius:50%;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:background-color .3s ease;width:40px}.close-btn:hover{background-color:#f8f9fa}.modal-content{padding:2rem}.performance-metrics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.metric-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;text-align:center}.metric-card h4{color:#495057;font-size:.9rem;margin:0 0 1rem}.metric-card .metric-value{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:.5rem}.metric-card .metric-label{color:#6c757d;font-size:.8rem}.recent-activity{background:#f8f9fa;border-radius:8px;padding:1.5rem}.recent-activity h3{color:#2c3e50;margin:0 0 1rem}.activity-stats{display:flex;flex-direction:column;gap:.75rem}.stat-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.5rem 0}.stat-item:last-child{border-bottom:none}.stat-label{color:#495057;font-weight:500}.stat-value{color:#2c3e50;font-weight:600}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-state h3{color:#dc3545;margin-bottom:1rem}@media (max-width:1200px){.performance-table{font-size:.9rem}.performance-table td,.performance-table th{padding:.75rem}}@media (max-width:768px){.shopper-performance-page{padding:1rem}.page-header h1{font-size:2rem}.performance-controls{align-items:stretch;flex-direction:column;gap:1rem}.filter-group{align-items:center;flex-direction:row;justify-content:space-between}.performance-summary{grid-template-columns:1fr}.summary-card{padding:1.5rem}.performance-table{font-size:.8rem}.shopper-detail-modal{margin:1rem;max-height:calc(100vh - 2rem)}.modal-content,.modal-header{padding:1.5rem}.performance-metrics-grid{grid-template-columns:1fr}.activity-stats{gap:.5rem}.stat-item{align-items:flex-start;flex-direction:column;gap:.25rem}}.notices-page{margin:0 auto;max-width:1200px;padding:2rem}.notices-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.notices-header h1{color:#333;font-size:2rem;margin:0 0 .5rem}.notices-header p{color:#666;font-size:1rem;margin:0}.loading{color:#666;padding:3rem}.no-notices{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:3rem;text-align:center}.no-notices h3{color:#495057;margin:0 0 1rem}.no-notices p{color:#6c757d;margin:0}.notices-list{display:flex;flex-direction:column;gap:1.5rem}.notice-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:all .3s ease}.notice-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.notice-card.inactive{background:#f8f9fa;opacity:.7}.notice-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.notice-title-section h3{color:#333;font-size:1.3rem;margin:0 0 .5rem}.notice-badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge{color:#fff;font-size:.75rem;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-badge.active{background-color:#28a745}.status-badge.inactive{background-color:#6c757d}.display-badge.one-time{background-color:#17a2b8}.display-badge.permanent{background-color:#6f42c1}.notice-actions{display:flex;flex-wrap:wrap;gap:.5rem}.notice-content{margin-bottom:1rem}.notice-content p{color:#495057;font-size:1rem;line-height:1.6;margin:0}.notice-meta{align-items:center;border-top:1px solid #e9ecef;justify-content:space-between;padding-top:1rem}.notice-dates,.notice-meta,.notice-stats{display:flex;flex-wrap:wrap;gap:1rem}.notice-dates span,.notice-stats span{color:#6c757d;font-size:.875rem}.modal-overlay{padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#333;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .2s ease}.close-btn:hover{background:#f8f9fa;color:#495057}.notice-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;padding:.75rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-group textarea{min-height:100px}.form-group small{color:#6c757d;font-size:.875rem;margin-top:.25rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid #e9ecef;gap:1rem;justify-content:flex-end;padding-top:1rem}.btn{align-items:center;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#007bff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#1e7e34}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-sm{font-size:.75rem;padding:.5rem 1rem}.checkbox-group{margin-top:.5rem}.checkbox-label{align-items:flex-start;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .3s ease}.checkbox-label:hover{background:#e3f2fd;border-color:#007bff}.checkbox-label input[type=checkbox]{accent-color:#007bff;cursor:pointer;height:20px;margin:0;width:20px}.checkbox-text{color:#333;display:flex;flex-direction:column;font-weight:500;gap:.25rem}.checkbox-text small{color:#666;font-size:.875rem;font-weight:400;line-height:1.4}.checkbox-label input[type=checkbox]:checked+.checkbox-text{color:#007bff}@media (max-width:768px){.notices-page{padding:1rem}.notice-header,.notices-header{align-items:stretch;flex-direction:column}.notice-actions{justify-content:flex-start}.notice-meta{align-items:stretch;flex-direction:column}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}}.terms-page{background:#f5f5f5;min-height:100vh;padding:20px}.terms-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.terms-header h1{color:#333;font-size:28px;margin:0}.alert{border-radius:6px;font-weight:500;margin-bottom:20px;padding:16px}.alert-error{background:#fee;border-left:4px solid #c00;color:#c00}.alert-success{background:#efe;border-left:4px solid #0a0;color:#0a0}.btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .3s ease}.btn-primary{background:#06c}.btn-primary:hover:not(:disabled){background:#0052a3}.btn-secondary{background:#e8e8e8;color:#333}.btn-secondary:hover:not(:disabled){background:#d0d0d0}.btn:disabled{cursor:not-allowed;opacity:.6}.badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.badge-active{background:#efe;color:#0a0}.badge-inactive{background:#f5f5f5;color:#999}.terms-list-section h2{color:#333;margin-bottom:20px;margin-top:0}.loading{color:#999;font-size:16px}.no-data{background:#fff;border-radius:8px;color:#999;padding:40px;text-align:center}.terms-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.terms-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.terms-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.terms-card.active{border-left:4px solid #06c}.terms-card.inactive{border-left:4px solid #999;opacity:.8}.terms-card-header{align-items:flex-start;border-bottom:1px solid #eee;display:flex;gap:10px;justify-content:space-between;padding:16px}.terms-card-header h3{color:#333;flex:1 1;font-size:18px;margin:0}.terms-card-body{flex:1 1;padding:16px}.terms-card-body p{color:#666;font-size:14px;margin:8px 0}.acceptance-count{color:#06c;font-size:20px;font-weight:700}.terms-card-footer{background:#fafafa;border-top:1px solid #eee;padding:16px}.terms-card-footer .btn{text-align:center;width:100%}.terms-create-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:30px}.terms-create-section h2{color:#333;margin-bottom:20px;margin-top:0}.terms-form{max-width:800px}.form-group{margin-bottom:20px}.form-group label{color:#333;margin-bottom:8px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.form-group small{color:#999;display:block;font-size:12px;margin-top:4px}.form-actions{display:flex;gap:10px;margin-top:30px}.form-actions .btn{flex:1 1}.terms-details-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:30px}.details-header{margin-bottom:30px}.details-header button{margin-bottom:10px}.details-header h2{align-items:center;display:flex;gap:10px;margin:0}.details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.detail-box{background:#f9f9f9;border:1px solid #eee;border-radius:6px;padding:20px}.detail-box h4{color:#666;font-size:12px;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.detail-box p{color:#333;font-size:14px;margin:0}.stat-big{color:#06c;font-size:32px;font-weight:700;margin:10px 0}.terms-content-box{background:#f9f9f9;border:1px solid #eee;border-radius:6px;margin-bottom:30px;padding:20px}.terms-content-box h4{color:#333;margin-top:0}.terms-content{color:#666;font-size:14px;line-height:1.6;max-height:400px;overflow-y:auto;padding:10px}.acceptances-box{background:#f9f9f9;border:1px solid #eee;border-radius:6px;padding:20px}.acceptances-box h4{color:#333;margin-top:0}.acceptances-list{max-height:500px;overflow-y:auto}.acceptance-item{align-items:center;background:#fff;border:1px solid #eee;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px}.user-name{color:#333;font-weight:500;margin:0}.user-email{color:#999;font-size:12px;margin:4px 0 0}.accepted-time{color:#666;font-size:12px;margin:0 0 4px;text-align:right}.ip-address{color:#999;font-family:monospace;font-size:11px;margin:0;text-align:right}@media (max-width:768px){.terms-header{align-items:flex-start;flex-direction:column;gap:15px}.terms-grid{grid-template-columns:1fr}.terms-page{padding:10px}.form-actions{flex-direction:column}.terms-create-section,.terms-details-section{padding:20px}.details-grid{grid-template-columns:1fr}}.discounts-page{margin:0 auto;max-width:1200px;padding:20px}.page-header-container{margin-bottom:30px}.back-link{color:#3498db;display:inline-block;font-size:.95rem;font-weight:500;margin-bottom:15px;text-decoration:none}.back-link:hover{text-decoration:underline}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:0}.page-header h1{color:#2c3e50;margin:0}.discounts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.discount-card{background:#fff;border-left:4px solid #bdc3c7;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.discount-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.discount-card.active{border-left-color:#2ecc71}.discount-card.inactive{border-left-color:#e74c3c;opacity:.85}.card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.card-header h3{color:#2c3e50;font-size:1.25rem;font-weight:600;line-height:1.3;margin:0}.shop-badge{background:#ebf5fb;border-radius:6px;color:#3498db;display:inline-block;font-size:.85rem;font-weight:600;padding:4px 12px;width:-webkit-fit-content;width:fit-content}.status-badge{border-radius:16px;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.description{color:#7f8c8d;flex-grow:1;font-size:.9rem;margin-bottom:15px}.discount-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px}.detail-item{align-items:center;display:flex;font-size:.95rem;justify-content:space-between;margin-bottom:10px}.detail-item:last-child{margin-bottom:0}.label{color:#6c757d;font-weight:500}.value{color:#2c3e50;font-size:1.1rem;font-weight:700}.discount-dates{background:#f8f9fa;border-left:3px solid #3498db;border-radius:6px;color:#6c757d;font-size:.875rem;padding:12px}.discount-dates p{align-items:center;display:flex;gap:8px;margin:4px 0}.discount-dates p strong{color:#495057;min-width:40px}.card-actions{display:flex;gap:10px}.card-actions button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-weight:600;padding:8px;transition:background .2s}.btn-primary{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.btn-secondary{background:#ecf0f1;color:#2c3e50}.btn-secondary:hover{background:#bdc3c7}.btn-danger{background:#ffebee;color:#c62828}.btn-danger:hover{background:#ffcdd2}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}.modal h2{color:#2c3e50;margin-bottom:20px;margin-top:0}.form-group{margin-bottom:15px}.form-group label{color:#34495e;display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid #bdc3c7;border-radius:6px;font-size:1rem;padding:10px;width:100%}.form-group textarea{height:100px;resize:vertical}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.loading{color:#7f8c8d;font-size:1.2rem;padding:40px;text-align:center}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#2c3e50;font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}
/*# sourceMappingURL=main.2f420ece.css.map*/