/* 领料/完工入库管理系统 - 前台通用样式 */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Microsoft YaHei",Arial,sans-serif;background:#eef2f7;color:#333;min-height:100vh}
.page{max-width:820px;margin:0 auto;padding:30px 16px 60px}
.banner{width:100%;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08);margin-bottom:24px;background:#fff}
.banner img{width:100%;display:block}
.container{background:#fff;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.06);padding:32px 36px}
.page-title{font-size:24px;color:#0f4c81;text-align:center;margin-bottom:8px}
.page-sub{font-size:13px;color:#888;text-align:center;margin-bottom:24px}

.msg-box{padding:13px 16px;border-radius:8px;font-size:14px;margin-bottom:18px}
.msg-box.ok{background:#e8f7ee;color:#1a7f37;border:1px solid #bfe6cc}
.msg-box.error{background:#fdecec;color:#b3261e;border:1px solid #f5c6c6}

.form-card{}
.field{margin-bottom:18px}
.field-row{display:flex;gap:16px}
.field-row .field{flex:1}
.field label{display:block;font-size:14px;color:#444;margin-bottom:6px;font-weight:bold}
.field label.req::after{content:" *";color:#d0342c}
.field input[type=text],.field input[type=number],.field input[type=date],.field textarea,.field select{
    width:100%;padding:10px 12px;border:1px solid #d5dce3;border-radius:8px;font-size:14px;font-family:inherit;
}
.field input:focus,.field textarea:focus{outline:none;border-color:#0f4c81;box-shadow:0 0 0 3px rgba(15,76,129,.08)}
.field textarea{resize:vertical}

.radio-group{display:flex;gap:24px}
.radio{display:flex;align-items:center;gap:7px;font-size:15px;color:#333;cursor:pointer;padding:9px 18px;border:1px solid #d5dce3;border-radius:8px;background:#fafbfc}
.radio input{width:17px;height:17px;accent-color:#0f4c81}
.radio:has(input:checked){border-color:#0f4c81;background:#eef6fd;font-weight:bold;color:#0f4c81}

.chk-group{display:flex;flex-wrap:wrap;gap:10px}
.chk{display:flex;align-items:center;gap:7px;font-size:14px;color:#333;background:#fafbfc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;cursor:pointer}
.chk input{width:16px;height:16px;accent-color:#0f4c81}
.chk:has(input:checked){border-color:#1a9e6c;background:#eef9f3}
.field-tip{font-size:12px;color:#999;margin-top:6px}
.required-field .field-tip{color:#d0342c}

.form-actions{display:flex;gap:14px;margin-top:8px}
.btn-primary{flex:1;padding:13px;background:#0f4c81;color:#fff;border:none;border-radius:9px;font-size:16px;cursor:pointer}
.btn-primary:hover{background:#0a3d68}
.btn-ghost{flex:1;padding:13px;background:#fff;color:#555;border:1px solid #d5dce3;border-radius:9px;font-size:16px;cursor:pointer}
.btn-ghost:hover{background:#f4f7fa}

.hint{font-size:12px;color:#aaa;margin-top:4px}
@media (max-width:560px){
    .container{padding:22px 18px}
    .field-row{flex-direction:column;gap:0}
    .form-actions{flex-direction:column}
}
