:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#242424;background:#f3f3f3}*{box-sizing:border-box}body{margin:0}body.modal-open{overflow:hidden}main{max-width:1320px;margin:auto;padding:28px}header,.section-head,.filters,.metrics,.header-actions,.order-filters,.row-actions{display:flex;align-items:center}header{justify-content:space-between;margin-bottom:24px}header p{margin:0;color:#0052d9;font-weight:700}h1{margin:5px 0 0;font-size:30px}h2{margin:0;font-size:20px}.header-actions{gap:10px}.last-updated{color:#777777;font-size:12px}.service-state{padding:7px 10px;color:#2ba471;font-size:12px;border-radius:20px;background:#e3f9e9}.service-state.error-state{color:#d54941;background:#fff0ed}.panel{margin-bottom:22px;padding:24px;background:#fff;border:1px solid #e8e8e8;border-radius:18px;box-shadow:0 10px 30px rgba(51,42,34,.06)}.login{max-width:500px;margin:80px auto}.login p,.section-head p{color:#777777}.login form{display:flex;gap:10px;margin-top:24px}input,select,button{height:42px;padding:0 14px;border:1px solid #d8dce1;border-radius:10px;background:#fff;font-size:14px}input{flex:1}button{color:#fff;border-color:#0052d9;background:#0052d9;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.ghost{color:#0052d9;border-color:#cbd2da;background:#fff}.error{min-height:22px;margin-top:12px;color:#d54941}.metrics{gap:16px;margin-bottom:22px}.metrics article{flex:1;padding:22px;background:#0052d9;border-radius:16px;color:#fff}.metrics span{display:block;color:#cbd7e4;font-size:13px}.metrics strong{display:block;margin-top:10px;font-size:27px}.section-head{justify-content:space-between;margin-bottom:20px}.section-head p{margin:7px 0 0;font-size:13px}.filters,.order-filters{gap:8px}.order-filters{margin-bottom:16px;flex-wrap:wrap}.order-filters input[type=search]{min-width:240px}.count-text{margin-left:auto;color:#777777;font-size:13px}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.schedule{padding:16px;border:1px solid #e6e8eb;border-radius:13px}.schedule.off{background:#f4f4f4;opacity:.72}.schedule-head{display:flex;justify-content:space-between}.schedule-time{font-size:22px;font-weight:700}.schedule-state{color:#2ba471}.schedule.off .schedule-state{color:#8b8b8b}.schedule-meta{margin:14px 0;display:grid;grid-template-columns:1fr 1fr;gap:7px;color:#777777;font-size:13px}.schedule-actions,.row-actions{display:flex;gap:8px}.schedule-actions input{width:76px}.schedule-actions button{flex:1}.table-wrap{overflow:auto;border:1px solid #e8e8e8;border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:14px 10px;border-bottom:1px solid #e8e8e8;text-align:left;white-space:nowrap}tbody tr:hover{background:#f3f3f3}tr:last-child td{border-bottom:0}th{position:sticky;top:0;color:#777777;background:#f3f3f3}.route-text{font-weight:700}.muted{margin-top:4px;color:#8b8b8b}.status{display:inline-block;padding:5px 9px;border-radius:7px;background:#f0f3f6;color:#5e5e5e}.status-upcoming,.refund-processing,.refund-pending{color:#be5a00;background:#fff1e9}.status-completed,.refund-success{color:#2ba471;background:#e3f9e9}.status-refund_pending{color:#be5a00;background:#fff1e9}.status-refunded{color:#5e5e5e;background:#eaf0f6}.status-cancelled{color:#777777;background:#e8e8e8}.action{height:34px;padding:0 10px}.order-link{height:auto;padding:0;color:#003cab;border:0;background:transparent;font-weight:700}.empty{padding:50px;text-align:center;color:#8b8b8b}.toast{position:fixed;z-index:20;left:50%;bottom:40px;transform:translateX(-50%);padding:11px 18px;color:#fff;border-radius:9px;background:rgba(20,27,35,.9)}.modal{position:fixed;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}.modal[hidden]{display:none}.modal-mask{position:absolute;inset:0;background:rgba(17,29,44,.5);backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(760px,100%);max-height:88vh;overflow:auto;padding:26px;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(16,30,48,.25)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head p{margin:0 0 6px;color:#0052d9;font-size:13px}.modal-head h2{font-size:18px}.icon-button{width:38px;height:38px;padding:0;color:#5e5e5e;border-color:#dfe3e7;background:#fff;font-size:24px}.detail-grid{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e8e8e8;border:1px solid #e8e8e8;border-radius:12px;overflow:hidden}.detail-grid div{min-width:0;padding:15px;background:#fff}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{margin-bottom:7px;color:#8b8b8b;font-size:12px}.detail-grid strong{overflow-wrap:anywhere;font-size:14px}.modal-actions{margin-top:20px;display:flex;justify-content:flex-end}
@media(max-width:760px){main{padding:15px}header{align-items:flex-start;gap:14px}.header-actions{justify-content:flex-end;flex-wrap:wrap}.last-updated{width:100%;text-align:right}.metrics{display:grid;grid-template-columns:1fr 1fr}.section-head{align-items:flex-start;flex-direction:column;gap:12px}.filters,.order-filters{width:100%;flex-wrap:wrap}.filters>*{flex:1}.order-filters>*{flex:1 1 140px}.order-filters input[type=search]{min-width:100%;width:100%}.count-text{width:100%;margin:4px 0 0}.login form{flex-direction:column}.panel{padding:18px}.detail-grid{grid-template-columns:1fr}.modal-card{padding:20px}.schedule-actions{flex-wrap:wrap}.schedule-actions input{width:100%}}
.invoice-actions{display:flex;align-items:center;gap:7px}.invoice-actions input{min-width:150px;height:34px}.invoice-pending{color:#be5a00;background:#fff1e9}.invoice-issued{color:#2ba471;background:#e3f9e9}.invoice-rejected{color:#d54941;background:#fff0ed}
@media(max-width:760px){.invoice-actions{min-width:310px}.invoice-actions input{min-width:130px}}
.schedule-batch{margin:0 0 18px;padding:14px;display:grid;grid-template-columns:auto repeat(4,minmax(130px,1fr)) auto;gap:12px;align-items:end;border:1px solid #d9e1ff;border-radius:13px;background:#f7f9ff}.schedule-batch>strong{align-self:center;color:#003cab;white-space:nowrap}.schedule-batch label{display:grid;gap:6px;color:#5e5e5e;font-size:12px}.schedule-batch input,.schedule-batch select{width:100%;min-width:0}.schedule-batch button{white-space:nowrap}
@media(max-width:980px){.schedule-batch{grid-template-columns:1fr 1fr}.schedule-batch>strong,.schedule-batch button{grid-column:1/-1}.schedule-batch button{width:100%}}
.vehicle-create{margin:0 0 16px;padding:14px;display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:10px;align-items:end;border:1px solid #e5e8eb;border-radius:13px;background:#fafbfc}.vehicle-list{display:grid;gap:10px}.vehicle-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #e5e8eb;border-radius:12px}.vehicle-fields{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.vehicle-fields input{width:100%;min-width:0}.vehicle-actions{display:flex;gap:8px}.schedule-vehicle{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.schedule-vehicle select{grid-column:1/-1}.schedule-vehicle input{width:100%;min-width:0}.schedule-vehicle button{grid-column:1/-1;width:100%}.manual-form{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;align-items:end}.manual-form label{display:grid;gap:6px;color:#5e5e5e;font-size:12px}.manual-form input,.manual-form select{width:100%;min-width:0}.manual-form .manual-paid{display:flex;align-items:center;gap:8px;height:40px;padding-top:18px}.manual-form button{height:40px}
@media(max-width:980px){.vehicle-create,.manual-form{grid-template-columns:1fr 1fr}.vehicle-fields{grid-template-columns:1fr 1fr}.vehicle-item{grid-template-columns:1fr}.schedule-vehicle{grid-template-columns:1fr 1fr}.manual-form button{grid-column:1/-1;width:100%}}
