*{box-sizing:border-box}body{margin:0;min-width:1024px;min-height:100vh;color:#182a22;background:#f5f7f4;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea{font:inherit}.layout{display:flex;min-height:100vh}.login-page{display:grid;min-height:100vh;background:linear-gradient(135deg,#153a2e,#285746);place-items:center}.login-card{width:400px;padding:34px;background:#fff;border-radius:14px;box-shadow:0 20px 50px #061c1433}.login-brand{display:flex;gap:12px;align-items:center}.login-brand strong,.login-brand span{display:block}.login-brand span{margin-top:2px;color:#718078;font-size:12px}.login-title{margin-top:32px}.login-title p:last-child{margin-top:8px;color:#718078;font-size:13px}.login-form{display:grid;gap:16px;margin-top:24px}.sidebar{display:flex;width:232px;padding:24px 14px 18px;color:#e8f2ed;background:#153a2e;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 28px}.brand-mark{display:grid;width:38px;height:38px;color:#153a2e;background:#f2c94c;border-radius:10px;font-size:22px;font-weight:800;place-items:center}.brand strong,.brand span{display:block}.brand span{margin-top:2px;color:#afc8bf;font-size:12px}.menu-item{display:flex;gap:11px;align-items:center;padding:13px 14px;color:#c4d7d0;border-radius:8px;font-size:14px;text-decoration:none}.menu-item.active{color:#fff;background:#285746}.menu-icon{color:#f2c94c}.sidebar-footer{margin-top:auto;padding:0 10px;color:#86a69b;font-size:12px}.main{width:calc(100% - 232px);padding:30px 42px 42px}.page-header,.section-title,.operator{display:flex;align-items:center}.text-button{height:auto;padding:0;color:#527267;background:transparent;font-size:13px}.text-button:hover{color:#27634d}.delete-button{height:30px;padding:0 11px;color:#b54444;background:#fbeeee;font-size:13px}.delete-button:hover{background:#f7dddd}.batch-delete-button{color:#b54444;background:#fbeeee}.batch-delete-button:hover{background:#f7dddd}.page-header,.section-title{justify-content:space-between}.eyebrow{margin:0 0 8px;color:#7b948a;font-size:11px;font-weight:700;letter-spacing:1.6px}h1,h2,p{margin:0}h1{font-size:28px}h2{font-size:18px}.description,.section-title p{margin-top:8px;color:#718078;font-size:13px}.operator{gap:9px;color:#52645d;font-size:14px}.avatar{display:grid;width:36px;height:36px;color:#fff;background:#285746;border-radius:50%;font-size:13px;place-items:center}.panel{margin-top:28px;padding:24px;background:#fff;border:1px solid #e6ece9;border-radius:12px;box-shadow:0 5px 16px #213b310a}.filter-form{display:grid;gap:12px 12px;align-items:end;margin-top:22px;padding:16px 18px;background:#f8faf9;border:1px solid #e8efeb;border-radius:10px;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) 72px 72px}.cards-filter-form{grid-template-columns:minmax(200px,1.3fr) minmax(160px,.9fr) minmax(120px,.7fr) auto}.cards-filter-form .filter-actions,.ctrip-filter-form .filter-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.cards-filter-form .filter-actions button,.ctrip-filter-form .filter-actions button{min-width:72px;height:42px;white-space:nowrap}.cards-filter-form select,.ctrip-filter-form select{width:100%;height:42px;padding:0 12px;color:#263a32;background:#fff;border:1px solid #dce6e2;border-radius:6px;outline:none}.cards-filter-form select:focus,.ctrip-filter-form select:focus{border-color:#4d8b73;box-shadow:0 0 0 3px #4d8b731f}@media(max-width:1100px){.cards-filter-form,.ctrip-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-filter-form .filter-actions,.ctrip-filter-form .filter-actions{grid-column:1 / -1;justify-content:flex-start}}.ctrip-filter-form{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(120px,.75fr)) auto;gap:12px 10px}.ctrip-filter-form .filter-actions .refresh{min-width:88px}label span{display:block;margin-bottom:8px;color:#53645d;font-size:13px;font-weight:600}input,textarea{width:100%;padding:0 12px;color:#263a32;border:1px solid #dce6e2;border-radius:6px;outline:none}input{height:42px}textarea{min-height:168px;padding:10px 12px;line-height:1.6;resize:vertical}input:focus,textarea:focus{border-color:#4d8b73;box-shadow:0 0 0 3px #4d8b731f}.entry-count{color:#718078;font-size:13px}button{height:42px;padding:0 16px;color:#fff;background:#27634d;border:0;border-radius:6px;cursor:pointer}button:disabled{cursor:wait;opacity:.65}.message{margin-top:14px;font-size:13px}.error{color:#b54444}.success{color:#28734f}.refresh{height:34px;color:#336653;background:#eef6f2;font-size:13px}.section-actions,.modal-actions{display:flex;gap:10px;align-items:center}.secondary{color:#53645d;background:#e9efec}.modal-mask{position:fixed;z-index:10;display:grid;background:#0d1f186b;top:0;right:0;bottom:0;left:0;place-items:center}.modal{width:480px;padding:24px;background:#fff;border-radius:12px;box-shadow:0 18px 50px #0f2b202e}.modal-header{display:flex;justify-content:space-between}.modal-header p{margin-top:8px;color:#718078;font-size:13px}.close-button{width:30px;height:30px;padding:0;color:#718078;background:transparent;font-size:24px;line-height:1}.modal-form{display:grid;gap:16px;margin-top:24px}.modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.modal-form-row{grid-template-columns:1fr}}.modal-actions{justify-content:flex-end;margin-top:4px}.table-wrap{margin-top:20px;overflow-x:auto;border:1px solid #edf1ef;border-radius:8px}table{min-width:100%;border-collapse:collapse;font-size:14px;text-align:left}th,td{padding:14px 16px;white-space:nowrap;border-bottom:1px solid #edf1ef}th{color:#718078;background:#f8faf9;font-size:12px;font-weight:600}tbody tr:last-child td{border-bottom:0}.checkbox-cell{width:44px;text-align:center}.checkbox-cell input{width:16px;height:16px;accent-color:#27634d;cursor:pointer}.secret{color:#315e4d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.empty{padding:34px;color:#91a099;text-align:center}.pagination{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid #edf1ef}.pagination-summary,.pagination-page{margin:0;color:#718078;font-size:13px}.pagination-controls{display:flex;gap:10px;align-items:center}.page-size-label{display:flex;gap:6px;align-items:center;margin-right:4px;color:#718078;font-size:13px}.page-size-label select{width:72px;height:34px;padding:0 8px;color:#263a32;background:#fff;border:1px solid #dce6e2;border-radius:6px}.pagination-button{height:34px;font-size:13px}.action-cell{display:flex;gap:8px;align-items:center}.status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.status-badge.active{color:#27634d;background:#e8f3ee}.status-badge.disabled{color:#8a5a5a;background:#f5eaea}.use-status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.use-status-badge.idle{color:#1d6fa5;background:#e6f3fb}.use-status-badge.using{color:#b0701e;background:#fff3e0}.use-status-badge.used{color:#6b6b6b;background:#f0f0f0}.sms-code-input{display:flex;gap:8px;align-items:center}.sms-code-input input{flex:1}.sms-send-button{flex-shrink:0;height:38px;white-space:nowrap}.batch-modal{width:640px;max-height:90vh;display:flex;flex-direction:column}.batch-modal .modal-form{overflow-y:auto}.batch-actions{display:flex;gap:10px}.batch-actions button.primary{color:#fff;background:#27634d}.batch-entries{max-height:360px;overflow-y:auto;border:1px solid #edf1ef;border-radius:8px}.batch-entry{padding:10px 14px;border-bottom:1px solid #edf1ef}.batch-entry:last-child{border-bottom:0}.batch-entry.status-logged{background:#e8f3ee}.batch-entry.status-sendFailed,.batch-entry.status-loginFailed{background:#faf2f2}.batch-entry-header{display:flex;gap:10px;align-items:center}.batch-entry-index{color:#718078;font-size:12px;font-weight:600;min-width:24px}.batch-entry-phone{font-weight:600;font-size:14px;color:#263a32}.batch-entry-status{margin-left:auto;color:#718078;font-size:12px;white-space:nowrap}.batch-entry.status-sendFailed .batch-entry-status,.batch-entry.status-loginFailed .batch-entry-status{color:#b54444}.batch-entry.status-logged .batch-entry-status{color:#28734f}.batch-entry-code{margin-top:8px}.batch-entry-code input{height:36px;max-width:200px}
