*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#222;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}a{color:inherit;text-decoration:none}.page{max-width:1400px;margin:0 auto;padding:24px}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;color:#555;text-transform:uppercase;border-bottom:2px solid #e0e0e0;padding:8px 10px;font-size:11px;font-weight:700}.tbl td{border-bottom:1px solid #f0f0f0;padding:9px 10px}.tbl tr:hover td{background:#fafafa}.btn{border:none;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600}.btn-primary{color:#fff;background:#1a6b3a}.btn-primary:hover{background:#155c30}.btn-outline{color:#333;background:0 0;border:1px solid #ccc}.btn-outline:hover{border-color:#999}.btn-danger{color:#dc2626;background:0 0;border:1px solid #dc2626}.btn-warning{color:#d97706;background:0 0;border:1px solid #d97706}.btn-sm{padding:4px 10px;font-size:12px}.badge{border-radius:10px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.badge-green{color:#1a6b3a;background:#e8f5ee}.badge-red{color:#c62828;background:#fdecea}.badge-gray{color:#666;background:#f0f0f0}.badge-orange{color:#d97706;background:#fff3e0}.card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.form-row{gap:12px;margin-bottom:12px;display:grid}.form-row-2{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}.form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}.form-group label{color:#555;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.form-group input,.form-group select{border:1px solid #ccc;border-radius:6px;width:100%;padding:8px 10px;font-size:13px}.form-group input:focus,.form-group select:focus{border-color:#1a6b3a;outline:none}.msg-ok{color:#1a6b3a;font-size:13px}.msg-err{color:#c62828;font-size:13px}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:90%;min-width:400px;max-width:600px;max-height:90vh;padding:24px;overflow-y:auto}.modal-title{margin-bottom:16px;font-size:15px;font-weight:700}[data-theme=dark]{--bg:#1a1a2e;--bg2:#16213e;--bg3:#0f3460;--text:#e0e0e0;--text2:#aaa;--border:#333;--card-bg:#1e2a3a;--input-bg:#1e2a3a;--input-border:#444}[data-theme=dark] body{color:#e0e0e0;background:#111827}[data-theme=dark] .card{color:#e0e0e0;background:#1e2a3a;border-color:#2d3f55}[data-theme=dark] .tbl th{color:#aaa;border-bottom-color:#2d3f55}[data-theme=dark] .tbl td{color:#e0e0e0;border-bottom-color:#1e2a3a}[data-theme=dark] .tbl tr:hover td{background:#243447}[data-theme=dark] input,[data-theme=dark] select{color:#e0e0e0;background:#1e2a3a;border-color:#3d5068}[data-theme=dark] .btn-outline{color:#ccc;border-color:#3d5068}[data-theme=dark] .form-group label{color:#aaa}
