*{box-sizing:border-box}body{margin:0;background:#f4f6fa;color:#172033;font:14px/1.5 Arial,Microsoft YaHei}.shell{min-height:100vh;display:flex}aside{width:230px;background:#14213d;color:#fff;padding:24px 16px}aside h2{margin:0 8px 24px;font-size:20px}aside button{display:block;width:100%;text-align:left;background:transparent;border:0;color:#cbd5e1;padding:11px 14px;border-radius:8px;cursor:pointer;margin:2px 0}aside button.active,aside button:hover{background:#2563eb;color:#fff}aside hr{border:0;border-top:1px solid #ffffff1f;margin:16px 6px}.menu{font-size:13px}main{flex:1;padding:28px;overflow:auto}header{display:flex;justify-content:space-between;align-items:center}h1{margin:0}header p{margin:6px 0;color:#64748b}.online{color:#16a34a}.error{margin-top:18px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px}.notice-success{margin-top:18px;padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:8px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.cards section{background:#fff;border-radius:12px;padding:18px;box-shadow:0 2px 10px #0f172a0a}.cards small{color:#64748b}.cards strong{display:block;font-size:28px;margin-top:8px}.toolbar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:14px 18px;border-radius:12px 12px 0 0;margin-top:22px}.table{background:#fff;border-radius:0 0 12px 12px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 14px;border-top:1px solid #edf0f5;text-align:left;white-space:nowrap}th{color:#64748b;background:#fbfcfe}.empty{text-align:center;color:#94a3b8;padding:40px}button{background:#2563eb;color:#fff;border:0;border-radius:7px;padding:8px 13px;cursor:pointer;margin-right:6px}.light{background:#eef2f7;color:#334155}.danger{background:#dc2626}.tag{background:#eef2ff;color:#3730a3;padding:4px 9px;border-radius:16px}.stars{color:#f59e0b;letter-spacing:1px}.mask{position:fixed;inset:0;background:#0006;display:grid;place-items:center;z-index:20}.modal{width:440px;max-height:88vh;overflow:auto;background:#fff;padding:24px;border-radius:14px}.modal label{display:block;margin:14px 0;color:#475569}.modal input,.modal select{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:7px;margin-top:6px}.detail{background:#f8fafc;border-radius:9px;padding:8px 16px;margin-bottom:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.panel{background:#fff;border-radius:12px;padding:20px;margin-top:22px}.split .panel{margin-top:0}.line{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #eef2f7}.line small{color:#64748b}@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}aside{width:190px}}.company-card{display:flex;justify-content:space-between;gap:20px;padding:18px;background:#f8fafc;border-radius:10px;margin:16px 0}.company-card p{margin:6px 0;color:#64748b}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dbeafe 0,transparent 40%),linear-gradient(135deg,#eff6ff,#f8fafc)}.login-card{width:420px;max-width:100%;background:#fff;padding:34px;border-radius:18px;box-shadow:0 22px 60px #0f172a20}.login-card h1{margin:10px 0}.login-card p{color:#64748b;margin:0 0 24px}.login-card label{display:block;margin:16px 0;color:#475569}.login-card input{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #cbd5e1;border-radius:8px}.login-card small{display:block;color:#94a3b8;margin-top:15px}.login-brand{color:#2563eb;font-weight:700}.login-button{width:100%;padding:12px;margin-top:8px}.login-button:disabled{opacity:.6;cursor:not-allowed}.role-badge{margin:0 8px;padding:10px 12px;background:#ffffff12;border-radius:8px;color:#bfdbfe}.account{display:flex;align-items:center;gap:14px}.account button{margin:0}.hint{color:#64748b;font-size:12px}.warning{background:#d97706}.modal textarea{width:100%;min-height:76px;padding:10px;border:1px solid #cbd5e1;border-radius:7px;margin-top:6px}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #eef2f7}.attachment-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-row small{display:block;color:#64748b;margin-top:3px}.attachment-upload{margin:14px 0;padding:12px;background:#f8fafc;border-radius:8px}.attachment-upload label{display:block;margin:8px 0}.attachment-upload input,.attachment-upload select{display:block;width:100%;margin-top:6px}.manual-modal{width:500px}.action-notice{padding:11px 13px;margin:14px 0;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:8px;line-height:1.65}.danger-notice{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.confirm-check{display:flex!important;gap:8px;align-items:flex-start;color:#334155!important}.confirm-check input{width:auto!important;margin:4px 0 0!important}.modal-actions{display:flex;gap:8px;margin-top:20px}.modal-actions button{margin:0}.modal button:disabled{cursor:not-allowed;opacity:.6}@media(max-width:560px){.manual-modal{width:calc(100vw - 28px)}}.timeline-row{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid #eef2f7}.timeline-dot{color:#2563eb}.timeline-row small{display:block;color:#64748b;margin-top:3px}.unread-badge{color:#b42318;background:#fff1f0;border:1px solid #ffccc7;border-radius:999px;padding:3px 8px;font-size:12px}.candidate-option{padding:11px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:8px 0}.candidate-option label{display:flex;gap:10px;align-items:flex-start;margin:0}.candidate-option input{width:auto;margin:4px 0 0}.candidate-option span{display:flex;flex-direction:column}.candidate-option small{color:#64748b;margin-top:3px}.wide-modal{width:560px}.order-toolbar{gap:16px;align-items:flex-end}.order-toolbar h3{margin:0}.order-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.order-filters input,.order-filters select{height:36px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}.order-filters input{min-width:220px}.order-filters button{margin:0}.unread-button{margin:0;background:#fff1f0}.unread-row{background:#fffdf5}.block-hint{display:block;margin-top:3px}.cell-wrap{white-space:normal;min-width:220px;max-width:420px}@media(max-width:1100px){.order-toolbar{align-items:flex-start;flex-direction:column}.order-filters{justify-content:flex-start}}.order-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px}.order-pagination button{margin:0 0 0 6px}.order-pagination button:disabled{cursor:not-allowed;opacity:.5}.tag-success{background:#dcfce7;color:#166534}.tag-danger{background:#fee2e2;color:#b91c1c}.account-filters{justify-content:flex-start;gap:8px;margin-bottom:14px}.account-filters input,.account-filters select{height:36px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}.account-filters input{min-width:240px}.wide-order-modal{width:min(860px,calc(100vw - 36px))}.logistics-panel,.appointment-panel{padding:16px;margin:18px 0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.logistics-form,.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.logistics-form label,.appointment-form label{margin:8px 0}.span-2{grid-column:1/-1}.appointment-panel{background:#faf5ff;border-color:#e9d5ff}@media(max-width:650px){.logistics-form,.appointment-form{grid-template-columns:1fr}.span-2{grid-column:auto}}.contact-record-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #eef2f7}.contact-record-row span{min-width:0}.contact-record-row small{display:block;color:#64748b;margin-top:3px;white-space:normal}.contact-record-row strong{font-size:12px;white-space:nowrap}.sla-ok{color:#15803d}.sla-late{color:#dc2626}.provider-scope-modal{width:min(760px,calc(100vw - 32px))}.scope-summary{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0;color:#475569}.scope-summary span{padding:4px 9px;background:#eff6ff;border-radius:999px;font-size:12px}.scope-table{max-height:52vh;border:1px solid #e2e8f0;border-radius:8px}.scope-table table{min-width:620px}.scope-table th,.scope-table td{white-space:normal}.scope-switch{display:inline-flex!important;align-items:center;gap:7px;margin:0!important;color:#334155!important;font-weight:400}.scope-switch input{width:auto!important;margin:0!important}.provider-scope-modal .hint{line-height:1.65}.scope-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.provider-scope-page{margin-top:16px}.provider-scope-page .scope-table{max-height:none;margin-top:16px}.scope-page-actions{display:flex;align-items:center;gap:14px;margin-top:18px}.scope-page-actions button{margin:0}@media(max-width:900px){.scope-overview{grid-template-columns:1fr 1fr}}.review-label{display:inline-block;margin:2px 4px 2px 0;padding:3px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;white-space:nowrap}
