.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.login-card h1{text-align:center;color:#333;margin-bottom:30px;font-size:1.8em}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.captcha-group{margin-bottom:20px}.captcha-wrapper{display:flex;gap:10px;align-items:center}.captcha-input{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px;transition:border-color .3s;box-sizing:border-box}.captcha-input:focus{outline:none;border-color:#667eea}.captcha-canvas{cursor:pointer;border:2px solid #e0e0e0;border-radius:6px;transition:transform .2s}.captcha-canvas:hover{transform:scale(1.02);border-color:#667eea}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #fcc}.login-btn{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed}:root{font-family:Microsoft YaHei,微软雅黑,PingFang SC,Hiragino Sans GB,SimHei,黑体,sans-serif;line-height:1.5;font-weight:400;font-size:15px;color-scheme:light dark;color:#333;background-color:#f8f9fa;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-stroke:.2px rgba(0,0,0,.05);text-stroke:.2px rgba(0,0,0,.05);text-shadow:0px 0px .2px rgba(0,0,0,.05)}a{font-weight:500;color:#4a90e2;text-decoration:inherit;font-size:.95em}a:hover{color:#357abd}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:#f8f9fa;font-family:Microsoft YaHei,微软雅黑,PingFang SC,Hiragino Sans GB,SimHei,黑体,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;-webkit-text-stroke:.2px rgba(0,0,0,.05);text-stroke:.2px rgba(0,0,0,.05);text-shadow:0px 0px .2px rgba(0,0,0,.05)}h1{font-size:2em;line-height:1.1}h2{font-size:1.5em;margin-bottom:15px}h3{font-size:1.2em;margin-bottom:12px}h4{font-size:1.1em;margin-bottom:10px}button{border-radius:6px;border:1px solid transparent;padding:.5em 1em;font-size:.9em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#495057;background-color:#f8f9fa}a:hover{color:#357abd}button{background-color:#f8f9fa;border:1px solid #dee2e6;color:#495057}button:hover{border-color:#4a90e2}}.container{width:100%;min-height:100vh;margin:0;padding:0;background-color:#fff;box-shadow:0 0 10px #0000000d}.header{background-color:#4a90e2;color:#fff;padding:18px 20px;border-radius:0;margin-bottom:0;text-align:center;box-shadow:0 2px 4px #0000001a}.header h1{font-size:2.5em;margin:0;letter-spacing:2px}.main-layout{display:flex;min-height:calc(100vh - 80px)}.sidebar{width:230px;background:linear-gradient(180deg,#f7fafc,#edf2f7);border-right:1px solid #e2e8f0;padding:0 18px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:4px 0 20px #00000014}.sidebar a{padding:16px 18px;background-color:#fff;border-radius:10px;color:#4a5568;border:2px solid #e2e8f0;transition:all .3s ease;font-size:1.15em;font-weight:700;text-align:left;display:block;width:100%;box-sizing:border-box;box-shadow:0 1px 3px #0000000d}.sidebar a:hover{background:linear-gradient(135deg,#4299e1,#2b6cb0);border-color:transparent;color:#fff;transform:translate(4px);box-shadow:0 6px 20px #4299e159;font-weight:700}.content{flex:1;padding:20px;background-color:#f8f9fa;min-height:calc(100vh - 80px)}.nav{display:flex;gap:15px;margin-bottom:15px;flex-wrap:wrap}.nav a{padding:6px 12px;background-color:#f0f0f0;border-radius:4px;color:#333;font-size:.85em}.nav a:hover{background-color:#e0e0e0}.card{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000000d;margin-bottom:16px;border:1px solid #e9ecef}.table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.9em}.table th,.table td{padding:10px;text-align:left;border-bottom:1px solid #dee2e6}.table th{background-color:#f8f9fa;font-weight:700;font-size:.85em;color:#495057;border-bottom:2px solid #dee2e6}.table td{color:#495057}.btn{padding:8px 16px;border-radius:6px;cursor:pointer;margin-right:6px;font-size:1em}.btn-primary{background-color:#4a90e2;color:#fff;border:none;padding:12px 24px;font-size:1.1em;font-weight:500;border-radius:6px;transition:background-color .3s ease}.btn-primary:hover{background-color:#357abd;border-color:#357abd}.btn-secondary{background-color:#95a5a6;color:#fff;border:none}.btn-danger{background-color:#e74c3c;color:#fff;border:none}.form-group{margin-bottom:16px;display:flex;align-items:center;gap:8px}.form-group label{flex:0 0 66px;font-weight:700;font-size:1.05em;color:#6c757d;font-family:Arial,sans-serif;margin-bottom:0;text-align:right}.form-group input,.form-group select,.form-group textarea{flex:1;width:auto;padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:15px;font-weight:500;font-family:Microsoft YaHei,微软雅黑,PingFang SC,Hiragino Sans GB,SimHei,黑体,sans-serif;color:#495057;transition:border-color .3s ease;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border:1px solid #4a90e2;box-shadow:0 0 0 2px #4a90e21a;color:#495057}.form-group input::placeholder,.form-group textarea::placeholder{color:#999;opacity:.7}.map-container{margin:16px 0}.map-container h4{margin-bottom:8px;color:#333}.order-layout{display:flex;gap:20px;align-items:flex-start;max-width:100%;overflow-x:hidden;flex-wrap:wrap;padding-left:10px}.form-row{display:flex;gap:20px;align-items:center;margin-bottom:16px}.order-layout .order-form{flex:1;min-width:300px;max-width:100%;margin-left:-30px}.order-layout .info-panel{flex:1;min-width:300px;max-width:100%;display:flex;flex-direction:column;gap:20px;margin-left:0;align-items:flex-start;width:100%}.order-list{width:100%;overflow-x:auto}.order-layout .info-panel .input-row{display:flex;gap:10px;align-items:center}.order-layout .info-panel .card{margin:0}.order-layout .info-panel .form-group{margin-bottom:0}.order-layout .info-panel input,.order-layout .info-panel select{font-size:.9em;padding:6px 8px;border:1px solid #ddd;border-radius:4px;outline:none;background:#fff;height:32px;box-sizing:border-box}.order-layout .map-container h4{flex-shrink:0;margin-bottom:10px}.order-layout .map-container>div{flex:1;width:100%;height:100%;border:1px solid #ddd}@media (max-width: 768px){.order-layout{flex-direction:column}.order-layout .map-container{min-width:auto;margin-top:20px}}.map-controls{display:flex;gap:8px;margin-top:8px}.map-controls button{flex:1;font-size:.85em}.pagination{display:flex;gap:8px;margin-top:16px;justify-content:center;flex-wrap:wrap}.pagination button{padding:5px 10px;border-radius:4px;background-color:#f0f0f0;border:1px solid #ddd;cursor:pointer;font-size:.85em}.pagination button.active{background-color:#3498db;color:#fff;border:1px solid #3498db}.input-with-suggestions{position:relative;width:100%}.suggestions-list{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #dee2e6;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 2px 4px #0000000d;list-style:none;padding:0;margin:0;z-index:1000;max-height:200px;overflow-y:auto;font-size:15px;font-family:Microsoft YaHei,微软雅黑,PingFang SC,Hiragino Sans GB,SimHei,黑体,sans-serif;color:#495057;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}.suggestions-list li{padding:10px 12px;cursor:pointer;transition:background-color .2s}.suggestions-list li:hover{background-color:#f8f9fa}.suggestions-list li.active{background-color:#4a90e2;color:#fff}.suggestion-district{color:#999;font-size:.85em;margin-left:8px}.suggestions-list li.active .suggestion-district{color:#fffc}.area-management{padding:20px}.area-management h2{margin-bottom:20px;text-align:center}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.section-header h3{margin:0}.area-list{margin-bottom:30px}.add-area-form{background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-content{display:flex;flex-direction:column;gap:15px}.form-item{display:flex;flex-direction:column;gap:5px}.form-label{font-weight:700;font-size:14px}.form-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.city-selector{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}.city-option{padding:8px 16px;border:1px solid #ddd;border-radius:4px;cursor:pointer;background-color:#fff;transition:all .3s ease}.city-option:hover{border-color:#4a90e2}.city-option.selected{background-color:#4a90e2;color:#fff;border-color:#4a90e2}.map-container{margin-top:10px}.map-label{font-weight:700;font-size:14px;margin-bottom:10px;display:block}.map-wrapper{border:1px solid #ddd;border-radius:4px;overflow:hidden}.map-controls{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.control-btn{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;cursor:pointer;font-size:14px;transition:all .3s ease}.control-btn:hover{background-color:#f0f0f0}.form-actions{margin-top:20px;display:flex;justify-content:flex-end}.table th,.table td{text-align:center}.mr-2{margin-right:8px}@media (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start;gap:10px}.city-selector,.map-controls,.form-actions{justify-content:flex-start}}.no-spin-button::-webkit-outer-spin-button,.no-spin-button::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spin-button{-moz-appearance:textfield}.custom-toast{display:inline-block;background-color:#000c;color:#fff;padding:12px 24px;border-radius:6px;font-size:14px;z-index:10000;animation:fadeInOut 3s ease-in-out;box-shadow:0 4px 12px #0000004d;margin-left:20px;vertical-align:middle}@keyframes fadeInOut{0%{opacity:0;transform:translate(20px)}10%{opacity:1;transform:translate(0)}90%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}.schedule-table-section{margin-top:20px}.table-container{border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.table-header{display:flex;background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.table-header .table-cell{font-weight:600;color:#495057;background-color:#f8f9fa}.table-body{max-height:480px;overflow-y:auto}.table-row{display:flex;border-bottom:1px solid #dee2e6;transition:background-color .2s}.table-row:hover{background-color:#f8f9fa}.table-row:nth-child(2n){background-color:#fff}.table-row:nth-child(odd){background-color:#f8f9fa}.table-cell{padding:12px;display:flex;align-items:center;justify-content:center;border-right:1px solid #dee2e6}.table-cell:last-child{border-right:none}.time-cell{flex:0 0 auto;min-width:180px;font-size:.95em;color:#495057;display:flex;align-items:center;justify-content:flex-start;padding-left:20px}.capacity-cell{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.capacity-input{width:80px;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;text-align:center;font-size:.95em}.capacity-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e21a}.empty-schedules{padding:40px 20px;text-align:center;color:#999}.empty-schedules p{margin:0;font-size:1em}.query-section{margin-bottom:20px}.query-form{background-color:#f8f9fa;padding:20px;border-radius:8px;border:1px solid #e9ecef}.query-form .form-row{display:flex;gap:20px;align-items:flex-end;margin-bottom:15px;flex-wrap:wrap}.query-form .form-item{display:flex;flex-direction:column;gap:6px}.query-form .form-label{font-weight:600;font-size:.95em;color:#495057}.query-form .form-input{min-width:200px;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:.95em;background-color:#fff}.query-form .form-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e21a}.batch-section{display:flex;gap:10px;align-items:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background-color:#fff;padding:24px;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:90%}.modal h3{margin-top:0;margin-bottom:16px;font-size:1.2em;color:#495057}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal .btn{padding:8px 20px;font-size:.95em}.modal .form-input{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:.95em;box-sizing:border-box}.modal .form-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e21a}
